From dafc53d1d7a00d0bc3d2dd5889e02ea1c827fa35 Mon Sep 17 00:00:00 2001 From: Sucii Date: Mon, 7 Jul 2025 22:42:47 +0800 Subject: [PATCH 1/2] Update Main.py ga usah dihiraukan bang --- Episode 00 - Template/Main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Episode 00 - Template/Main.py b/Episode 00 - Template/Main.py index 4115ceb4..f225dc0c 100644 --- a/Episode 00 - Template/Main.py +++ b/Episode 00 - Template/Main.py @@ -1,3 +1,4 @@ print("helo dunia!!!!!!!") print("apa kabar kalian?") -print("instalasi berhasil") \ No newline at end of file +print("instalasi berhasil") +printf("ini coba coba bang") From fde7859f7949c1a4c63bbf6d83c2829e2fda6fd4 Mon Sep 17 00:00:00 2001 From: andi-suci-khairunnisa Date: Mon, 7 Jul 2025 23:40:28 +0800 Subject: [PATCH 2/2] UPDATE SUBMODULE --- .../Environment/project1/bin/django-admin | 0 .../Environment/project1/bin/django-admin.py | 0 .../Environment/project1/bin/easy_install | 0 .../Environment/project1/bin/easy_install-3.6 | 0 .../Environment/project1/bin/f2py | 0 .../Environment/project1/bin/pip | 0 .../Environment/project1/bin/pip3 | 0 .../Environment/project1/bin/pip3.6 | 0 .../Environment/project1/bin/python | 0 .../Environment/project1/bin/python3 | 0 .../Django-2.0.2.dist-info/RECORD | 8348 ++++++++--------- .../site-packages/django/bin/django-admin.py | 0 .../conf/project_template/manage.py-tpl | 0 ...02_logentry_remove_auto_add.cpython-36.pyc | Bin 749 -> 0 bytes .../admin/static/admin/fonts/LICENSE.txt | 404 +- .../static/admin/js/vendor/xregexp/xregexp.js | 0 ..._permission_name_max_length.cpython-36.pyc | Bin 664 -> 0 bytes ...alter_user_email_max_length.cpython-36.pyc | Bin 706 -> 0 bytes ...04_alter_user_username_opts.cpython-36.pyc | Bin 946 -> 0 bytes ..._alter_user_last_login_null.cpython-36.pyc | Bin 691 -> 0 bytes ...6_require_contenttypes_0002.cpython-36.pyc | Bin 580 -> 0 bytes ...lidators_add_error_messages.cpython-36.pyc | Bin 959 -> 0 bytes ...er_user_username_max_length.cpython-36.pyc | Bin 965 -> 0 bytes ...r_user_last_name_max_length.cpython-36.pyc | Bin 707 -> 0 bytes .../remove_stale_contenttypes.cpython-36.pyc | Bin 3199 -> 0 bytes ...02_remove_content_type_name.cpython-36.pyc | Bin 1243 -> 0 bytes .../__pycache__/collectstatic.cpython-36.pyc | Bin 9270 -> 0 bytes .../numpy-1.14.0.dist-info/RECORD | 1494 +-- .../numpy/core/_dummy.cpython-36m-darwin.so | Bin .../core/multiarray.cpython-36m-darwin.so | Bin .../multiarray_tests.cpython-36m-darwin.so | Bin .../operand_flag_tests.cpython-36m-darwin.so | Bin .../struct_ufunc_test.cpython-36m-darwin.so | Bin .../core/test_rational.cpython-36m-darwin.so | Bin .../numpy/core/umath.cpython-36m-darwin.so | Bin .../core/umath_tests.cpython-36m-darwin.so | Bin .../fft/fftpack_lite.cpython-36m-darwin.so | Bin .../_umath_linalg.cpython-36m-darwin.so | Bin .../linalg/lapack_lite.cpython-36m-darwin.so | Bin .../numpy/random/mtrand.cpython-36m-darwin.so | Bin .../site-packages/pip-9.0.1.dist-info/RECORD | 1002 +- .../__pycache__/__init__.cpython-36.pyc | Bin 507 -> 0 bytes .../_implementation.cpython-36.pyc | Bin 2331 -> 0 bytes .../ssl_match_hostname/_implementation.py | 105 - .../requests/packages/urllib3/poolmanager.py | 367 - .../requests/packages/urllib3/request.py | 151 - .../requests/packages/urllib3/response.py | 530 -- .../packages/urllib3/util/__init__.py | 46 - .../util/__pycache__/__init__.cpython-36.pyc | Bin 1018 -> 0 bytes .../__pycache__/connection.cpython-36.pyc | Bin 3304 -> 0 bytes .../util/__pycache__/request.cpython-36.pyc | Bin 2003 -> 0 bytes .../util/__pycache__/response.cpython-36.pyc | Bin 1875 -> 0 bytes .../util/__pycache__/retry.cpython-36.pyc | Bin 9159 -> 0 bytes .../util/__pycache__/ssl_.cpython-36.pyc | Bin 8784 -> 0 bytes .../util/__pycache__/timeout.cpython-36.pyc | Bin 8790 -> 0 bytes .../util/__pycache__/url.cpython-36.pyc | Bin 4939 -> 0 bytes .../packages/urllib3/util/connection.py | 144 - .../requests/packages/urllib3/util/request.py | 72 - .../packages/urllib3/util/response.py | 74 - .../requests/packages/urllib3/util/retry.py | 300 - .../requests/packages/urllib3/util/ssl_.py | 320 - .../requests/packages/urllib3/util/timeout.py | 242 - .../requests/packages/urllib3/util/url.py | 217 - .../pip/_vendor/requests/sessions.py | 712 -- .../pip/_vendor/requests/status_codes.py | 91 - .../pip/_vendor/requests/structures.py | 105 - .../pip/_vendor/requests/utils.py | 817 -- .../site-packages/pip/_vendor/retrying.py | 267 - .../site-packages/pip/_vendor/six.py | 868 -- .../pip/_vendor/webencodings/__init__.py | 342 - .../__pycache__/__init__.cpython-36.pyc | Bin 9678 -> 0 bytes .../__pycache__/labels.cpython-36.pyc | Bin 4092 -> 0 bytes .../__pycache__/mklabels.cpython-36.pyc | Bin 1914 -> 0 bytes .../__pycache__/tests.cpython-36.pyc | Bin 5070 -> 0 bytes .../__pycache__/x_user_defined.cpython-36.pyc | Bin 2667 -> 0 bytes .../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/pip/basecommand.py | 337 - .../python3.6/site-packages/pip/baseparser.py | 293 - .../python3.6/site-packages/pip/cmdoptions.py | 633 -- .../site-packages/pip/commands/__init__.py | 86 - .../__pycache__/__init__.cpython-36.pyc | Bin 2080 -> 0 bytes .../commands/__pycache__/check.cpython-36.pyc | Bin 1321 -> 0 bytes .../__pycache__/completion.cpython-36.pyc | Bin 2652 -> 0 bytes .../__pycache__/download.cpython-36.pyc | Bin 5437 -> 0 bytes .../__pycache__/freeze.cpython-36.pyc | Bin 2634 -> 0 bytes .../commands/__pycache__/hash.cpython-36.pyc | Bin 1975 -> 0 bytes .../commands/__pycache__/help.cpython-36.pyc | Bin 1126 -> 0 bytes .../__pycache__/install.cpython-36.pyc | Bin 9908 -> 0 bytes .../commands/__pycache__/list.cpython-36.pyc | Bin 9737 -> 0 bytes .../__pycache__/search.cpython-36.pyc | Bin 4216 -> 0 bytes .../commands/__pycache__/show.cpython-36.pyc | Bin 5387 -> 0 bytes .../__pycache__/uninstall.cpython-36.pyc | Bin 2612 -> 0 bytes .../commands/__pycache__/wheel.cpython-36.pyc | Bin 5474 -> 0 bytes .../site-packages/pip/commands/check.py | 39 - .../site-packages/pip/commands/completion.py | 81 - .../site-packages/pip/commands/download.py | 212 - .../site-packages/pip/commands/freeze.py | 87 - .../site-packages/pip/commands/hash.py | 57 - .../site-packages/pip/commands/help.py | 35 - .../site-packages/pip/commands/install.py | 437 - .../site-packages/pip/commands/list.py | 337 - .../site-packages/pip/commands/search.py | 133 - .../site-packages/pip/commands/show.py | 154 - .../site-packages/pip/commands/uninstall.py | 76 - .../site-packages/pip/commands/wheel.py | 208 - .../site-packages/pip/compat/__init__.py | 164 - .../__pycache__/__init__.cpython-36.pyc | Bin 4009 -> 0 bytes .../__pycache__/dictconfig.cpython-36.pyc | Bin 13656 -> 0 bytes .../site-packages/pip/compat/dictconfig.py | 565 -- .../python3.6/site-packages/pip/download.py | 906 -- .../python3.6/site-packages/pip/exceptions.py | 244 - .../lib/python3.6/site-packages/pip/index.py | 1102 --- .../python3.6/site-packages/pip/locations.py | 182 - .../site-packages/pip/models/__init__.py | 4 - .../__pycache__/__init__.cpython-36.pyc | Bin 275 -> 0 bytes .../models/__pycache__/index.cpython-36.pyc | Bin 879 -> 0 bytes .../site-packages/pip/models/index.py | 16 - .../site-packages/pip/operations/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 189 -> 0 bytes .../__pycache__/check.cpython-36.pyc | Bin 1476 -> 0 bytes .../__pycache__/freeze.cpython-36.pyc | Bin 2933 -> 0 bytes .../site-packages/pip/operations/check.py | 49 - .../site-packages/pip/operations/freeze.py | 132 - .../python3.6/site-packages/pip/pep425tags.py | 324 - .../site-packages/pip/req/__init__.py | 10 - .../req/__pycache__/__init__.cpython-36.pyc | Bin 456 -> 0 bytes .../req/__pycache__/req_file.cpython-36.pyc | Bin 8471 -> 0 bytes .../__pycache__/req_install.cpython-36.pyc | Bin 30172 -> 0 bytes .../req/__pycache__/req_set.cpython-36.pyc | Bin 21019 -> 0 bytes .../__pycache__/req_uninstall.cpython-36.pyc | Bin 6334 -> 0 bytes .../site-packages/pip/req/req_file.py | 342 - .../site-packages/pip/req/req_install.py | 1204 --- .../site-packages/pip/req/req_set.py | 798 -- .../site-packages/pip/req/req_uninstall.py | 195 - .../site-packages/pip/status_codes.py | 8 - .../site-packages/pip/utils/__init__.py | 852 -- .../utils/__pycache__/__init__.cpython-36.pyc | Bin 22250 -> 0 bytes .../utils/__pycache__/appdirs.cpython-36.pyc | Bin 7753 -> 0 bytes .../utils/__pycache__/build.cpython-36.pyc | Bin 1367 -> 0 bytes .../__pycache__/deprecation.cpython-36.pyc | Bin 1780 -> 0 bytes .../utils/__pycache__/encoding.cpython-36.pyc | Bin 1070 -> 0 bytes .../__pycache__/filesystem.cpython-36.pyc | Bin 635 -> 0 bytes .../utils/__pycache__/glibc.cpython-36.pyc | Bin 1418 -> 0 bytes .../utils/__pycache__/hashes.cpython-36.pyc | Bin 3294 -> 0 bytes .../utils/__pycache__/logging.cpython-36.pyc | Bin 3950 -> 0 bytes .../utils/__pycache__/outdated.cpython-36.pyc | Bin 4275 -> 0 bytes .../__pycache__/packaging.cpython-36.pyc | Bin 2038 -> 0 bytes .../setuptools_build.cpython-36.pyc | Bin 379 -> 0 bytes .../pip/utils/__pycache__/ui.cpython-36.pyc | Bin 9635 -> 0 bytes .../site-packages/pip/utils/appdirs.py | 248 - .../site-packages/pip/utils/build.py | 42 - .../site-packages/pip/utils/deprecation.py | 76 - .../site-packages/pip/utils/encoding.py | 31 - .../site-packages/pip/utils/filesystem.py | 28 - .../site-packages/pip/utils/glibc.py | 81 - .../site-packages/pip/utils/hashes.py | 92 - .../site-packages/pip/utils/logging.py | 130 - .../site-packages/pip/utils/outdated.py | 162 - .../site-packages/pip/utils/packaging.py | 63 - .../pip/utils/setuptools_build.py | 8 - .../python3.6/site-packages/pip/utils/ui.py | 344 - .../site-packages/pip/vcs/__init__.py | 366 - .../vcs/__pycache__/__init__.cpython-36.pyc | Bin 11154 -> 0 bytes .../pip/vcs/__pycache__/bazaar.cpython-36.pyc | Bin 3707 -> 0 bytes .../pip/vcs/__pycache__/git.cpython-36.pyc | Bin 8847 -> 0 bytes .../vcs/__pycache__/mercurial.cpython-36.pyc | Bin 3620 -> 0 bytes .../vcs/__pycache__/subversion.cpython-36.pyc | Bin 7159 -> 0 bytes .../python3.6/site-packages/pip/vcs/bazaar.py | 116 - .../python3.6/site-packages/pip/vcs/git.py | 300 - .../site-packages/pip/vcs/mercurial.py | 103 - .../site-packages/pip/vcs/subversion.py | 269 - .../lib/python3.6/site-packages/pip/wheel.py | 853 -- .../site-packages/pkg_resources/__init__.py | 3051 ------ .../__pycache__/__init__.cpython-36.pyc | Bin 95359 -> 0 bytes .../pkg_resources/_vendor/__init__.py | 0 .../__pycache__/__init__.cpython-36.pyc | Bin 203 -> 0 bytes .../__pycache__/appdirs.cpython-36.pyc | Bin 18629 -> 0 bytes .../__pycache__/pyparsing.cpython-36.pyc | Bin 201125 -> 0 bytes .../_vendor/__pycache__/six.cpython-36.pyc | Bin 24500 -> 0 bytes .../pkg_resources/_vendor/appdirs.py | 552 -- .../_vendor/packaging/__about__.py | 21 - .../_vendor/packaging/__init__.py | 14 - .../__pycache__/__about__.cpython-36.pyc | Bin 739 -> 0 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 577 -> 0 bytes .../__pycache__/_compat.cpython-36.pyc | Bin 1024 -> 0 bytes .../__pycache__/_structures.cpython-36.pyc | Bin 2881 -> 0 bytes .../__pycache__/markers.cpython-36.pyc | Bin 8043 -> 0 bytes .../__pycache__/requirements.cpython-36.pyc | Bin 3900 -> 0 bytes .../__pycache__/specifiers.cpython-36.pyc | Bin 19843 -> 0 bytes .../__pycache__/utils.cpython-36.pyc | Bin 508 -> 0 bytes .../__pycache__/version.cpython-36.pyc | Bin 10618 -> 0 bytes .../_vendor/packaging/_compat.py | 30 - .../_vendor/packaging/_structures.py | 68 - .../_vendor/packaging/markers.py | 287 - .../_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 | 5696 ----------- .../pkg_resources/_vendor/six.py | 868 -- .../pkg_resources/extern/__init__.py | 73 - .../__pycache__/__init__.cpython-36.pyc | Bin 2434 -> 0 bytes .../pytz-2018.3.dist-info/DESCRIPTION.rst | 589 -- .../pytz-2018.3.dist-info/INSTALLER | 1 - .../pytz-2018.3.dist-info/METADATA | 622 -- .../pytz-2018.3.dist-info/RECORD | 618 -- .../site-packages/pytz-2018.3.dist-info/WHEEL | 6 - .../pytz-2018.3.dist-info/metadata.json | 1 - .../pytz-2018.3.dist-info/top_level.txt | 1 - .../pytz-2018.3.dist-info/zip-safe | 1 - .../python3.6/site-packages/pytz/__init__.py | 1529 --- .../pytz/__pycache__/__init__.cpython-36.pyc | Bin 29037 -> 0 bytes .../__pycache__/exceptions.cpython-36.pyc | Bin 1868 -> 0 bytes .../pytz/__pycache__/lazy.cpython-36.pyc | Bin 5225 -> 0 bytes .../pytz/__pycache__/reference.cpython-36.pyc | Bin 3905 -> 0 bytes .../pytz/__pycache__/tzfile.cpython-36.pyc | Bin 3141 -> 0 bytes .../pytz/__pycache__/tzinfo.cpython-36.pyc | Bin 15034 -> 0 bytes .../site-packages/pytz/exceptions.py | 48 - .../lib/python3.6/site-packages/pytz/lazy.py | 169 - .../python3.6/site-packages/pytz/reference.py | 140 - .../python3.6/site-packages/pytz/tzfile.py | 134 - .../python3.6/site-packages/pytz/tzinfo.py | 577 -- .../pytz/zoneinfo/Africa/Abidjan | Bin 170 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Accra | Bin 842 -> 0 bytes .../pytz/zoneinfo/Africa/Addis_Ababa | Bin 285 -> 0 bytes .../pytz/zoneinfo/Africa/Algiers | Bin 760 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Asmara | Bin 285 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Asmera | Bin 285 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Bamako | Bin 170 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Bangui | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Banjul | Bin 170 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Bissau | Bin 208 -> 0 bytes .../pytz/zoneinfo/Africa/Blantyre | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Brazzaville | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Bujumbura | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Cairo | Bin 1972 -> 0 bytes .../pytz/zoneinfo/Africa/Casablanca | Bin 1643 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Ceuta | Bin 2059 -> 0 bytes .../pytz/zoneinfo/Africa/Conakry | Bin 170 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Dakar | Bin 170 -> 0 bytes .../pytz/zoneinfo/Africa/Dar_es_Salaam | Bin 285 -> 0 bytes .../pytz/zoneinfo/Africa/Djibouti | Bin 285 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Douala | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/El_Aaiun | Bin 1473 -> 0 bytes .../pytz/zoneinfo/Africa/Freetown | Bin 170 -> 0 bytes .../pytz/zoneinfo/Africa/Gaborone | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Harare | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Johannesburg | Bin 271 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Juba | Bin 683 -> 0 bytes .../pytz/zoneinfo/Africa/Kampala | Bin 285 -> 0 bytes .../pytz/zoneinfo/Africa/Khartoum | Bin 713 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Kigali | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Kinshasa | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Lagos | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Libreville | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Lome | Bin 170 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Luanda | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Lubumbashi | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Lusaka | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Malabo | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Maputo | Bin 171 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Maseru | Bin 271 -> 0 bytes .../pytz/zoneinfo/Africa/Mbabane | Bin 271 -> 0 bytes .../pytz/zoneinfo/Africa/Mogadishu | Bin 285 -> 0 bytes .../pytz/zoneinfo/Africa/Monrovia | Bin 233 -> 0 bytes .../pytz/zoneinfo/Africa/Nairobi | Bin 285 -> 0 bytes .../pytz/zoneinfo/Africa/Ndjamena | Bin 225 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Niamey | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Nouakchott | Bin 170 -> 0 bytes .../pytz/zoneinfo/Africa/Ouagadougou | Bin 170 -> 0 bytes .../pytz/zoneinfo/Africa/Porto-Novo | Bin 171 -> 0 bytes .../pytz/zoneinfo/Africa/Sao_Tome | Bin 234 -> 0 bytes .../pytz/zoneinfo/Africa/Timbuktu | Bin 170 -> 0 bytes .../pytz/zoneinfo/Africa/Tripoli | Bin 655 -> 0 bytes .../site-packages/pytz/zoneinfo/Africa/Tunis | Bin 710 -> 0 bytes .../pytz/zoneinfo/Africa/Windhoek | Bin 1030 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Adak | Bin 2365 -> 0 bytes .../pytz/zoneinfo/America/Anchorage | Bin 2380 -> 0 bytes .../pytz/zoneinfo/America/Anguilla | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Antigua | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Araguaina | Bin 910 -> 0 bytes .../zoneinfo/America/Argentina/Buenos_Aires | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Argentina/Catamarca | Bin 1109 -> 0 bytes .../zoneinfo/America/Argentina/ComodRivadavia | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Argentina/Cordoba | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Argentina/Jujuy | Bin 1081 -> 0 bytes .../pytz/zoneinfo/America/Argentina/La_Rioja | Bin 1123 -> 0 bytes .../pytz/zoneinfo/America/Argentina/Mendoza | Bin 1109 -> 0 bytes .../zoneinfo/America/Argentina/Rio_Gallegos | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Argentina/Salta | Bin 1081 -> 0 bytes .../pytz/zoneinfo/America/Argentina/San_Juan | Bin 1123 -> 0 bytes .../pytz/zoneinfo/America/Argentina/San_Luis | Bin 1139 -> 0 bytes .../pytz/zoneinfo/America/Argentina/Tucuman | Bin 1137 -> 0 bytes .../pytz/zoneinfo/America/Argentina/Ushuaia | Bin 1109 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Aruba | Bin 212 -> 0 bytes .../pytz/zoneinfo/America/Asuncion | Bin 2077 -> 0 bytes .../pytz/zoneinfo/America/Atikokan | Bin 345 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Atka | Bin 2365 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Bahia | Bin 1050 -> 0 bytes .../pytz/zoneinfo/America/Bahia_Banderas | Bin 1588 -> 0 bytes .../pytz/zoneinfo/America/Barbados | Bin 344 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Belem | Bin 602 -> 0 bytes .../pytz/zoneinfo/America/Belize | Bin 978 -> 0 bytes .../pytz/zoneinfo/America/Blanc-Sablon | Bin 307 -> 0 bytes .../pytz/zoneinfo/America/Boa_Vista | Bin 658 -> 0 bytes .../pytz/zoneinfo/America/Bogota | Bin 271 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Boise | Bin 2403 -> 0 bytes .../pytz/zoneinfo/America/Buenos_Aires | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Cambridge_Bay | Bin 2098 -> 0 bytes .../pytz/zoneinfo/America/Campo_Grande | Bin 2016 -> 0 bytes .../pytz/zoneinfo/America/Cancun | Bin 816 -> 0 bytes .../pytz/zoneinfo/America/Caracas | Bin 289 -> 0 bytes .../pytz/zoneinfo/America/Catamarca | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Cayenne | Bin 224 -> 0 bytes .../pytz/zoneinfo/America/Cayman | Bin 203 -> 0 bytes .../pytz/zoneinfo/America/Chicago | Bin 3585 -> 0 bytes .../pytz/zoneinfo/America/Chihuahua | Bin 1522 -> 0 bytes .../pytz/zoneinfo/America/Coral_Harbour | Bin 345 -> 0 bytes .../pytz/zoneinfo/America/Cordoba | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Costa_Rica | Bin 341 -> 0 bytes .../pytz/zoneinfo/America/Creston | Bin 233 -> 0 bytes .../pytz/zoneinfo/America/Cuiaba | Bin 1988 -> 0 bytes .../pytz/zoneinfo/America/Curacao | Bin 212 -> 0 bytes .../pytz/zoneinfo/America/Danmarkshavn | Bin 712 -> 0 bytes .../pytz/zoneinfo/America/Dawson | Bin 2093 -> 0 bytes .../pytz/zoneinfo/America/Dawson_Creek | Bin 1059 -> 0 bytes .../pytz/zoneinfo/America/Denver | Bin 2453 -> 0 bytes .../pytz/zoneinfo/America/Detroit | Bin 2188 -> 0 bytes .../pytz/zoneinfo/America/Dominica | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Edmonton | Bin 2402 -> 0 bytes .../pytz/zoneinfo/America/Eirunepe | Bin 690 -> 0 bytes .../pytz/zoneinfo/America/El_Salvador | Bin 250 -> 0 bytes .../pytz/zoneinfo/America/Ensenada | Bin 2356 -> 0 bytes .../pytz/zoneinfo/America/Fort_Nelson | Bin 2249 -> 0 bytes .../pytz/zoneinfo/America/Fort_Wayne | Bin 1675 -> 0 bytes .../pytz/zoneinfo/America/Fortaleza | Bin 742 -> 0 bytes .../pytz/zoneinfo/America/Glace_Bay | Bin 2206 -> 0 bytes .../pytz/zoneinfo/America/Godthab | Bin 1892 -> 0 bytes .../pytz/zoneinfo/America/Goose_Bay | Bin 3219 -> 0 bytes .../pytz/zoneinfo/America/Grand_Turk | Bin 1881 -> 0 bytes .../pytz/zoneinfo/America/Grenada | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Guadeloupe | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Guatemala | Bin 306 -> 0 bytes .../pytz/zoneinfo/America/Guayaquil | Bin 271 -> 0 bytes .../pytz/zoneinfo/America/Guyana | Bin 266 -> 0 bytes .../pytz/zoneinfo/America/Halifax | Bin 3438 -> 0 bytes .../pytz/zoneinfo/America/Havana | Bin 2437 -> 0 bytes .../pytz/zoneinfo/America/Hermosillo | Bin 454 -> 0 bytes .../zoneinfo/America/Indiana/Indianapolis | Bin 1675 -> 0 bytes .../pytz/zoneinfo/America/Indiana/Knox | Bin 2437 -> 0 bytes .../pytz/zoneinfo/America/Indiana/Marengo | Bin 1731 -> 0 bytes .../pytz/zoneinfo/America/Indiana/Petersburg | Bin 1913 -> 0 bytes .../pytz/zoneinfo/America/Indiana/Tell_City | Bin 1735 -> 0 bytes .../pytz/zoneinfo/America/Indiana/Vevay | Bin 1423 -> 0 bytes .../pytz/zoneinfo/America/Indiana/Vincennes | Bin 1703 -> 0 bytes .../pytz/zoneinfo/America/Indiana/Winamac | Bin 1787 -> 0 bytes .../pytz/zoneinfo/America/Indianapolis | Bin 1675 -> 0 bytes .../pytz/zoneinfo/America/Inuvik | Bin 1928 -> 0 bytes .../pytz/zoneinfo/America/Iqaluit | Bin 2046 -> 0 bytes .../pytz/zoneinfo/America/Jamaica | Bin 507 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Jujuy | Bin 1081 -> 0 bytes .../pytz/zoneinfo/America/Juneau | Bin 2362 -> 0 bytes .../pytz/zoneinfo/America/Kentucky/Louisville | Bin 2781 -> 0 bytes .../pytz/zoneinfo/America/Kentucky/Monticello | Bin 2361 -> 0 bytes .../pytz/zoneinfo/America/Knox_IN | Bin 2437 -> 0 bytes .../pytz/zoneinfo/America/Kralendijk | Bin 212 -> 0 bytes .../pytz/zoneinfo/America/La_Paz | Bin 257 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Lima | Bin 431 -> 0 bytes .../pytz/zoneinfo/America/Los_Angeles | Bin 2845 -> 0 bytes .../pytz/zoneinfo/America/Louisville | Bin 2781 -> 0 bytes .../pytz/zoneinfo/America/Lower_Princes | Bin 212 -> 0 bytes .../pytz/zoneinfo/America/Maceio | Bin 770 -> 0 bytes .../pytz/zoneinfo/America/Managua | Bin 463 -> 0 bytes .../pytz/zoneinfo/America/Manaus | Bin 630 -> 0 bytes .../pytz/zoneinfo/America/Marigot | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Martinique | Bin 257 -> 0 bytes .../pytz/zoneinfo/America/Matamoros | Bin 1416 -> 0 bytes .../pytz/zoneinfo/America/Mazatlan | Bin 1564 -> 0 bytes .../pytz/zoneinfo/America/Mendoza | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Menominee | Bin 2283 -> 0 bytes .../pytz/zoneinfo/America/Merida | Bin 1456 -> 0 bytes .../pytz/zoneinfo/America/Metlakatla | Bin 1418 -> 0 bytes .../pytz/zoneinfo/America/Mexico_City | Bin 1618 -> 0 bytes .../pytz/zoneinfo/America/Miquelon | Bin 1696 -> 0 bytes .../pytz/zoneinfo/America/Moncton | Bin 3163 -> 0 bytes .../pytz/zoneinfo/America/Monterrey | Bin 1416 -> 0 bytes .../pytz/zoneinfo/America/Montevideo | Bin 1537 -> 0 bytes .../pytz/zoneinfo/America/Montreal | Bin 3503 -> 0 bytes .../pytz/zoneinfo/America/Montserrat | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Nassau | Bin 2284 -> 0 bytes .../pytz/zoneinfo/America/New_York | Bin 3545 -> 0 bytes .../pytz/zoneinfo/America/Nipigon | Bin 2131 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Nome | Bin 2376 -> 0 bytes .../pytz/zoneinfo/America/Noronha | Bin 742 -> 0 bytes .../pytz/zoneinfo/America/North_Dakota/Beulah | Bin 2389 -> 0 bytes .../pytz/zoneinfo/America/North_Dakota/Center | Bin 2389 -> 0 bytes .../zoneinfo/America/North_Dakota/New_Salem | Bin 2389 -> 0 bytes .../pytz/zoneinfo/America/Ojinaga | Bin 1522 -> 0 bytes .../pytz/zoneinfo/America/Panama | Bin 203 -> 0 bytes .../pytz/zoneinfo/America/Pangnirtung | Bin 2108 -> 0 bytes .../pytz/zoneinfo/America/Paramaribo | Bin 296 -> 0 bytes .../pytz/zoneinfo/America/Phoenix | Bin 353 -> 0 bytes .../pytz/zoneinfo/America/Port-au-Prince | Bin 1455 -> 0 bytes .../pytz/zoneinfo/America/Port_of_Spain | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Porto_Acre | Bin 662 -> 0 bytes .../pytz/zoneinfo/America/Porto_Velho | Bin 602 -> 0 bytes .../pytz/zoneinfo/America/Puerto_Rico | Bin 255 -> 0 bytes .../pytz/zoneinfo/America/Punta_Arenas | Bin 1911 -> 0 bytes .../pytz/zoneinfo/America/Rainy_River | Bin 2131 -> 0 bytes .../pytz/zoneinfo/America/Rankin_Inlet | Bin 1930 -> 0 bytes .../pytz/zoneinfo/America/Recife | Bin 742 -> 0 bytes .../pytz/zoneinfo/America/Regina | Bin 994 -> 0 bytes .../pytz/zoneinfo/America/Resolute | Bin 1930 -> 0 bytes .../pytz/zoneinfo/America/Rio_Branco | Bin 662 -> 0 bytes .../pytz/zoneinfo/America/Rosario | Bin 1109 -> 0 bytes .../pytz/zoneinfo/America/Santa_Isabel | Bin 2356 -> 0 bytes .../pytz/zoneinfo/America/Santarem | Bin 632 -> 0 bytes .../pytz/zoneinfo/America/Santiago | Bin 2538 -> 0 bytes .../pytz/zoneinfo/America/Santo_Domingo | Bin 491 -> 0 bytes .../pytz/zoneinfo/America/Sao_Paulo | Bin 2016 -> 0 bytes .../pytz/zoneinfo/America/Scoresbysund | Bin 1930 -> 0 bytes .../pytz/zoneinfo/America/Shiprock | Bin 2453 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Sitka | Bin 2350 -> 0 bytes .../pytz/zoneinfo/America/St_Barthelemy | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/St_Johns | Bin 3664 -> 0 bytes .../pytz/zoneinfo/America/St_Kitts | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/St_Lucia | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/St_Thomas | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/St_Vincent | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Swift_Current | Bin 574 -> 0 bytes .../pytz/zoneinfo/America/Tegucigalpa | Bin 278 -> 0 bytes .../site-packages/pytz/zoneinfo/America/Thule | Bin 1528 -> 0 bytes .../pytz/zoneinfo/America/Thunder_Bay | Bin 2211 -> 0 bytes .../pytz/zoneinfo/America/Tijuana | Bin 2356 -> 0 bytes .../pytz/zoneinfo/America/Toronto | Bin 3503 -> 0 bytes .../pytz/zoneinfo/America/Tortola | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Vancouver | Bin 2901 -> 0 bytes .../pytz/zoneinfo/America/Virgin | Bin 170 -> 0 bytes .../pytz/zoneinfo/America/Whitehorse | Bin 2093 -> 0 bytes .../pytz/zoneinfo/America/Winnipeg | Bin 2891 -> 0 bytes .../pytz/zoneinfo/America/Yakutat | Bin 2314 -> 0 bytes .../pytz/zoneinfo/America/Yellowknife | Bin 1980 -> 0 bytes .../pytz/zoneinfo/Antarctica/Casey | Bin 314 -> 0 bytes .../pytz/zoneinfo/Antarctica/Davis | Bin 311 -> 0 bytes .../pytz/zoneinfo/Antarctica/DumontDUrville | Bin 216 -> 0 bytes .../pytz/zoneinfo/Antarctica/Macquarie | Bin 1543 -> 0 bytes .../pytz/zoneinfo/Antarctica/Mawson | Bin 225 -> 0 bytes .../pytz/zoneinfo/Antarctica/McMurdo | Bin 2460 -> 0 bytes .../pytz/zoneinfo/Antarctica/Palmer | Bin 1432 -> 0 bytes .../pytz/zoneinfo/Antarctica/Rothera | Bin 186 -> 0 bytes .../pytz/zoneinfo/Antarctica/South_Pole | Bin 2460 -> 0 bytes .../pytz/zoneinfo/Antarctica/Syowa | Bin 187 -> 0 bytes .../pytz/zoneinfo/Antarctica/Troll | Bin 1176 -> 0 bytes .../pytz/zoneinfo/Antarctica/Vostok | Bin 187 -> 0 bytes .../pytz/zoneinfo/Arctic/Longyearbyen | Bin 2251 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Aden | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Almaty | Bin 1031 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Amman | Bin 1877 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Anadyr | Bin 1222 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Aqtau | Bin 1017 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Aqtobe | Bin 1047 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Ashgabat | Bin 651 -> 0 bytes .../pytz/zoneinfo/Asia/Ashkhabad | Bin 651 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Atyrau | Bin 1025 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Baghdad | Bin 1004 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Bahrain | Bin 225 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Baku | Bin 1269 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Bangkok | Bin 220 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Barnaul | Bin 1255 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Beirut | Bin 2175 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Bishkek | Bin 1045 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Brunei | Bin 229 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Calcutta | Bin 312 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Chita | Bin 1257 -> 0 bytes .../pytz/zoneinfo/Asia/Choibalsan | Bin 991 -> 0 bytes .../pytz/zoneinfo/Asia/Chongqing | Bin 414 -> 0 bytes .../pytz/zoneinfo/Asia/Chungking | Bin 414 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Colombo | Bin 413 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Dacca | Bin 370 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Damascus | Bin 2320 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Dhaka | Bin 370 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Dili | Bin 253 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Dubai | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Dushanbe | Bin 621 -> 0 bytes .../pytz/zoneinfo/Asia/Famagusta | Bin 2042 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Gaza | Bin 2295 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Harbin | Bin 414 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Hebron | Bin 2323 -> 0 bytes .../pytz/zoneinfo/Asia/Ho_Chi_Minh | Bin 389 -> 0 bytes .../pytz/zoneinfo/Asia/Hong_Kong | Bin 1189 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Hovd | Bin 921 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Irkutsk | Bin 1276 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Istanbul | Bin 2166 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Jakarta | Bin 392 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Jayapura | Bin 251 -> 0 bytes .../pytz/zoneinfo/Asia/Jerusalem | Bin 2265 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Kabul | Bin 229 -> 0 bytes .../pytz/zoneinfo/Asia/Kamchatka | Bin 1198 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Karachi | Bin 417 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Kashgar | Bin 187 -> 0 bytes .../pytz/zoneinfo/Asia/Kathmandu | Bin 238 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Katmandu | Bin 238 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Khandyga | Bin 1311 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Kolkata | Bin 312 -> 0 bytes .../pytz/zoneinfo/Asia/Krasnoyarsk | Bin 1243 -> 0 bytes .../pytz/zoneinfo/Asia/Kuala_Lumpur | Bin 424 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Kuching | Bin 521 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Kuwait | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Macao | Bin 755 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Macau | Bin 755 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Magadan | Bin 1258 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Makassar | Bin 288 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Manila | Bin 367 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Muscat | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Nicosia | Bin 2016 -> 0 bytes .../pytz/zoneinfo/Asia/Novokuznetsk | Bin 1197 -> 0 bytes .../pytz/zoneinfo/Asia/Novosibirsk | Bin 1255 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Omsk | Bin 1243 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Oral | Bin 1039 -> 0 bytes .../pytz/zoneinfo/Asia/Phnom_Penh | Bin 220 -> 0 bytes .../pytz/zoneinfo/Asia/Pontianak | Bin 395 -> 0 bytes .../pytz/zoneinfo/Asia/Pyongyang | Bin 272 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Qatar | Bin 225 -> 0 bytes .../pytz/zoneinfo/Asia/Qyzylorda | Bin 1047 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Rangoon | Bin 297 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Riyadh | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Saigon | Bin 389 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Sakhalin | Bin 1234 -> 0 bytes .../pytz/zoneinfo/Asia/Samarkand | Bin 619 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Seoul | Bin 531 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Shanghai | Bin 414 -> 0 bytes .../pytz/zoneinfo/Asia/Singapore | Bin 424 -> 0 bytes .../pytz/zoneinfo/Asia/Srednekolymsk | Bin 1244 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Taipei | Bin 790 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Tashkent | Bin 635 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Tbilisi | Bin 1080 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Tehran | Bin 1718 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Tel_Aviv | Bin 2265 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Thimbu | Bin 229 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Thimphu | Bin 229 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Tokyo | Bin 318 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Tomsk | Bin 1255 -> 0 bytes .../pytz/zoneinfo/Asia/Ujung_Pandang | Bin 288 -> 0 bytes .../pytz/zoneinfo/Asia/Ulaanbaatar | Bin 921 -> 0 bytes .../pytz/zoneinfo/Asia/Ulan_Bator | Bin 921 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Urumqi | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Ust-Nera | Bin 1290 -> 0 bytes .../pytz/zoneinfo/Asia/Vientiane | Bin 220 -> 0 bytes .../pytz/zoneinfo/Asia/Vladivostok | Bin 1244 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Yakutsk | Bin 1243 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Yangon | Bin 297 -> 0 bytes .../pytz/zoneinfo/Asia/Yekaterinburg | Bin 1281 -> 0 bytes .../site-packages/pytz/zoneinfo/Asia/Yerevan | Bin 1213 -> 0 bytes .../pytz/zoneinfo/Atlantic/Azores | Bin 3477 -> 0 bytes .../pytz/zoneinfo/Atlantic/Bermuda | Bin 2004 -> 0 bytes .../pytz/zoneinfo/Atlantic/Canary | Bin 1911 -> 0 bytes .../pytz/zoneinfo/Atlantic/Cape_Verde | Bin 268 -> 0 bytes .../pytz/zoneinfo/Atlantic/Faeroe | Bin 1829 -> 0 bytes .../pytz/zoneinfo/Atlantic/Faroe | Bin 1829 -> 0 bytes .../pytz/zoneinfo/Atlantic/Jan_Mayen | Bin 2251 -> 0 bytes .../pytz/zoneinfo/Atlantic/Madeira | Bin 3468 -> 0 bytes .../pytz/zoneinfo/Atlantic/Reykjavik | Bin 1188 -> 0 bytes .../pytz/zoneinfo/Atlantic/South_Georgia | Bin 181 -> 0 bytes .../pytz/zoneinfo/Atlantic/St_Helena | Bin 170 -> 0 bytes .../pytz/zoneinfo/Atlantic/Stanley | Bin 1251 -> 0 bytes .../site-packages/pytz/zoneinfo/Australia/ACT | Bin 2223 -> 0 bytes .../pytz/zoneinfo/Australia/Adelaide | Bin 2238 -> 0 bytes .../pytz/zoneinfo/Australia/Brisbane | Bin 452 -> 0 bytes .../pytz/zoneinfo/Australia/Broken_Hill | Bin 2274 -> 0 bytes .../pytz/zoneinfo/Australia/Canberra | Bin 2223 -> 0 bytes .../pytz/zoneinfo/Australia/Currie | Bin 2223 -> 0 bytes .../pytz/zoneinfo/Australia/Darwin | Bin 323 -> 0 bytes .../pytz/zoneinfo/Australia/Eucla | Bin 503 -> 0 bytes .../pytz/zoneinfo/Australia/Hobart | Bin 2335 -> 0 bytes .../site-packages/pytz/zoneinfo/Australia/LHI | Bin 1889 -> 0 bytes .../pytz/zoneinfo/Australia/Lindeman | Bin 522 -> 0 bytes .../pytz/zoneinfo/Australia/Lord_Howe | Bin 1889 -> 0 bytes .../pytz/zoneinfo/Australia/Melbourne | Bin 2223 -> 0 bytes .../site-packages/pytz/zoneinfo/Australia/NSW | Bin 2223 -> 0 bytes .../pytz/zoneinfo/Australia/North | Bin 323 -> 0 bytes .../pytz/zoneinfo/Australia/Perth | Bin 479 -> 0 bytes .../pytz/zoneinfo/Australia/Queensland | Bin 452 -> 0 bytes .../pytz/zoneinfo/Australia/South | Bin 2238 -> 0 bytes .../pytz/zoneinfo/Australia/Sydney | Bin 2223 -> 0 bytes .../pytz/zoneinfo/Australia/Tasmania | Bin 2335 -> 0 bytes .../pytz/zoneinfo/Australia/Victoria | Bin 2223 -> 0 bytes .../pytz/zoneinfo/Australia/West | Bin 479 -> 0 bytes .../pytz/zoneinfo/Australia/Yancowinna | Bin 2274 -> 0 bytes .../site-packages/pytz/zoneinfo/Brazil/Acre | Bin 662 -> 0 bytes .../pytz/zoneinfo/Brazil/DeNoronha | Bin 742 -> 0 bytes .../site-packages/pytz/zoneinfo/Brazil/East | Bin 2016 -> 0 bytes .../site-packages/pytz/zoneinfo/Brazil/West | Bin 630 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/CET | Bin 2102 -> 0 bytes .../site-packages/pytz/zoneinfo/CST6CDT | Bin 2294 -> 0 bytes .../pytz/zoneinfo/Canada/Atlantic | Bin 3438 -> 0 bytes .../pytz/zoneinfo/Canada/Central | Bin 2891 -> 0 bytes .../pytz/zoneinfo/Canada/Eastern | Bin 3503 -> 0 bytes .../pytz/zoneinfo/Canada/Mountain | Bin 2402 -> 0 bytes .../pytz/zoneinfo/Canada/Newfoundland | Bin 3664 -> 0 bytes .../pytz/zoneinfo/Canada/Pacific | Bin 2901 -> 0 bytes .../pytz/zoneinfo/Canada/Saskatchewan | Bin 994 -> 0 bytes .../site-packages/pytz/zoneinfo/Canada/Yukon | Bin 2093 -> 0 bytes .../pytz/zoneinfo/Chile/Continental | Bin 2538 -> 0 bytes .../pytz/zoneinfo/Chile/EasterIsland | Bin 2242 -> 0 bytes .../site-packages/pytz/zoneinfo/Cuba | Bin 2437 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/EET | Bin 1876 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/EST | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/EST5EDT | Bin 2294 -> 0 bytes .../site-packages/pytz/zoneinfo/Egypt | Bin 1972 -> 0 bytes .../site-packages/pytz/zoneinfo/Eire | Bin 3543 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+0 | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+1 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+10 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+11 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+12 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+2 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+3 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+4 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+5 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+6 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+7 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+8 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+9 | Bin 148 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-0 | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-1 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-10 | Bin 150 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-11 | Bin 150 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-12 | Bin 150 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-13 | Bin 150 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-14 | Bin 150 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-2 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-3 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-4 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-5 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-6 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-7 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-8 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-9 | Bin 149 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/GMT0 | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/Greenwich | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/UCT | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/UTC | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/Universal | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Etc/Zulu | Bin 127 -> 0 bytes .../pytz/zoneinfo/Europe/Amsterdam | Bin 2949 -> 0 bytes .../pytz/zoneinfo/Europe/Andorra | Bin 1751 -> 0 bytes .../pytz/zoneinfo/Europe/Astrakhan | Bin 1197 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Athens | Bin 2271 -> 0 bytes .../pytz/zoneinfo/Europe/Belfast | Bin 3687 -> 0 bytes .../pytz/zoneinfo/Europe/Belgrade | Bin 1957 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Berlin | Bin 2335 -> 0 bytes .../pytz/zoneinfo/Europe/Bratislava | Bin 2272 -> 0 bytes .../pytz/zoneinfo/Europe/Brussels | Bin 2970 -> 0 bytes .../pytz/zoneinfo/Europe/Bucharest | Bin 2221 -> 0 bytes .../pytz/zoneinfo/Europe/Budapest | Bin 2405 -> 0 bytes .../pytz/zoneinfo/Europe/Busingen | Bin 1918 -> 0 bytes .../pytz/zoneinfo/Europe/Chisinau | Bin 2445 -> 0 bytes .../pytz/zoneinfo/Europe/Copenhagen | Bin 2160 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Dublin | Bin 3543 -> 0 bytes .../pytz/zoneinfo/Europe/Gibraltar | Bin 3061 -> 0 bytes .../pytz/zoneinfo/Europe/Guernsey | Bin 3687 -> 0 bytes .../pytz/zoneinfo/Europe/Helsinki | Bin 1909 -> 0 bytes .../pytz/zoneinfo/Europe/Isle_of_Man | Bin 3687 -> 0 bytes .../pytz/zoneinfo/Europe/Istanbul | Bin 2166 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Jersey | Bin 3687 -> 0 bytes .../pytz/zoneinfo/Europe/Kaliningrad | Bin 1518 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Kiev | Bin 2097 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Kirov | Bin 1167 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Lisbon | Bin 3453 -> 0 bytes .../pytz/zoneinfo/Europe/Ljubljana | Bin 1957 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/London | Bin 3687 -> 0 bytes .../pytz/zoneinfo/Europe/Luxembourg | Bin 2974 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Madrid | Bin 2637 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Malta | Bin 2629 -> 0 bytes .../pytz/zoneinfo/Europe/Mariehamn | Bin 1909 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Minsk | Bin 1370 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Monaco | Bin 2953 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Moscow | Bin 1544 -> 0 bytes .../pytz/zoneinfo/Europe/Nicosia | Bin 2016 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Oslo | Bin 2251 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Paris | Bin 2971 -> 0 bytes .../pytz/zoneinfo/Europe/Podgorica | Bin 1957 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Prague | Bin 2272 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Riga | Bin 2235 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Rome | Bin 2692 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Samara | Bin 1253 -> 0 bytes .../pytz/zoneinfo/Europe/San_Marino | Bin 2692 -> 0 bytes .../pytz/zoneinfo/Europe/Sarajevo | Bin 1957 -> 0 bytes .../pytz/zoneinfo/Europe/Saratov | Bin 1197 -> 0 bytes .../pytz/zoneinfo/Europe/Simferopol | Bin 1490 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Skopje | Bin 1957 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Sofia | Bin 2130 -> 0 bytes .../pytz/zoneinfo/Europe/Stockholm | Bin 1918 -> 0 bytes .../pytz/zoneinfo/Europe/Tallinn | Bin 2187 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Tirane | Bin 2098 -> 0 bytes .../pytz/zoneinfo/Europe/Tiraspol | Bin 2445 -> 0 bytes .../pytz/zoneinfo/Europe/Ulyanovsk | Bin 1281 -> 0 bytes .../pytz/zoneinfo/Europe/Uzhgorod | Bin 2103 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Vaduz | Bin 1918 -> 0 bytes .../pytz/zoneinfo/Europe/Vatican | Bin 2692 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Vienna | Bin 2237 -> 0 bytes .../pytz/zoneinfo/Europe/Vilnius | Bin 2199 -> 0 bytes .../pytz/zoneinfo/Europe/Volgograd | Bin 1167 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Warsaw | Bin 2705 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Zagreb | Bin 1957 -> 0 bytes .../pytz/zoneinfo/Europe/Zaporozhye | Bin 2115 -> 0 bytes .../site-packages/pytz/zoneinfo/Europe/Zurich | Bin 1918 -> 0 bytes .../site-packages/pytz/zoneinfo/Factory | Bin 148 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/GB | Bin 3687 -> 0 bytes .../site-packages/pytz/zoneinfo/GB-Eire | Bin 3687 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/GMT | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/GMT+0 | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/GMT-0 | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/GMT0 | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Greenwich | Bin 127 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/HST | Bin 128 -> 0 bytes .../site-packages/pytz/zoneinfo/Hongkong | Bin 1189 -> 0 bytes .../site-packages/pytz/zoneinfo/Iceland | Bin 1188 -> 0 bytes .../pytz/zoneinfo/Indian/Antananarivo | Bin 285 -> 0 bytes .../site-packages/pytz/zoneinfo/Indian/Chagos | Bin 225 -> 0 bytes .../pytz/zoneinfo/Indian/Christmas | Bin 182 -> 0 bytes .../site-packages/pytz/zoneinfo/Indian/Cocos | Bin 191 -> 0 bytes .../site-packages/pytz/zoneinfo/Indian/Comoro | Bin 285 -> 0 bytes .../pytz/zoneinfo/Indian/Kerguelen | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Indian/Mahe | Bin 187 -> 0 bytes .../pytz/zoneinfo/Indian/Maldives | Bin 220 -> 0 bytes .../pytz/zoneinfo/Indian/Mauritius | Bin 267 -> 0 bytes .../pytz/zoneinfo/Indian/Mayotte | Bin 285 -> 0 bytes .../pytz/zoneinfo/Indian/Reunion | Bin 187 -> 0 bytes .../site-packages/pytz/zoneinfo/Iran | Bin 1718 -> 0 bytes .../site-packages/pytz/zoneinfo/Israel | Bin 2265 -> 0 bytes .../site-packages/pytz/zoneinfo/Jamaica | Bin 507 -> 0 bytes .../site-packages/pytz/zoneinfo/Japan | Bin 318 -> 0 bytes .../site-packages/pytz/zoneinfo/Kwajalein | Bin 259 -> 0 bytes .../site-packages/pytz/zoneinfo/Libya | Bin 655 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/MET | Bin 2102 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/MST | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/MST7MDT | Bin 2294 -> 0 bytes .../pytz/zoneinfo/Mexico/BajaNorte | Bin 2356 -> 0 bytes .../pytz/zoneinfo/Mexico/BajaSur | Bin 1564 -> 0 bytes .../pytz/zoneinfo/Mexico/General | Bin 1618 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/NZ | Bin 2460 -> 0 bytes .../site-packages/pytz/zoneinfo/NZ-CHAT | Bin 2087 -> 0 bytes .../site-packages/pytz/zoneinfo/Navajo | Bin 2453 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/PRC | Bin 414 -> 0 bytes .../site-packages/pytz/zoneinfo/PST8PDT | Bin 2294 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Apia | Bin 1134 -> 0 bytes .../pytz/zoneinfo/Pacific/Auckland | Bin 2460 -> 0 bytes .../pytz/zoneinfo/Pacific/Bougainville | Bin 296 -> 0 bytes .../pytz/zoneinfo/Pacific/Chatham | Bin 2087 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Chuuk | Bin 183 -> 0 bytes .../pytz/zoneinfo/Pacific/Easter | Bin 2242 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Efate | Bin 492 -> 0 bytes .../pytz/zoneinfo/Pacific/Enderbury | Bin 259 -> 0 bytes .../pytz/zoneinfo/Pacific/Fakaofo | Bin 221 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Fiji | Bin 1104 -> 0 bytes .../pytz/zoneinfo/Pacific/Funafuti | Bin 183 -> 0 bytes .../pytz/zoneinfo/Pacific/Galapagos | Bin 268 -> 0 bytes .../pytz/zoneinfo/Pacific/Gambier | Bin 186 -> 0 bytes .../pytz/zoneinfo/Pacific/Guadalcanal | Bin 188 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Guam | Bin 225 -> 0 bytes .../pytz/zoneinfo/Pacific/Honolulu | Bin 276 -> 0 bytes .../pytz/zoneinfo/Pacific/Johnston | Bin 276 -> 0 bytes .../pytz/zoneinfo/Pacific/Kiritimati | Bin 263 -> 0 bytes .../pytz/zoneinfo/Pacific/Kosrae | Bin 251 -> 0 bytes .../pytz/zoneinfo/Pacific/Kwajalein | Bin 259 -> 0 bytes .../pytz/zoneinfo/Pacific/Majuro | Bin 221 -> 0 bytes .../pytz/zoneinfo/Pacific/Marquesas | Bin 195 -> 0 bytes .../pytz/zoneinfo/Pacific/Midway | Bin 196 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Nauru | Bin 282 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Niue | Bin 266 -> 0 bytes .../pytz/zoneinfo/Pacific/Norfolk | Bin 323 -> 0 bytes .../pytz/zoneinfo/Pacific/Noumea | Bin 328 -> 0 bytes .../pytz/zoneinfo/Pacific/Pago_Pago | Bin 196 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Palau | Bin 182 -> 0 bytes .../pytz/zoneinfo/Pacific/Pitcairn | Bin 223 -> 0 bytes .../pytz/zoneinfo/Pacific/Pohnpei | Bin 183 -> 0 bytes .../pytz/zoneinfo/Pacific/Ponape | Bin 183 -> 0 bytes .../pytz/zoneinfo/Pacific/Port_Moresby | Bin 206 -> 0 bytes .../pytz/zoneinfo/Pacific/Rarotonga | Bin 602 -> 0 bytes .../pytz/zoneinfo/Pacific/Saipan | Bin 225 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Samoa | Bin 196 -> 0 bytes .../pytz/zoneinfo/Pacific/Tahiti | Bin 187 -> 0 bytes .../pytz/zoneinfo/Pacific/Tarawa | Bin 183 -> 0 bytes .../pytz/zoneinfo/Pacific/Tongatapu | Bin 393 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Truk | Bin 183 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Wake | Bin 183 -> 0 bytes .../pytz/zoneinfo/Pacific/Wallis | Bin 183 -> 0 bytes .../site-packages/pytz/zoneinfo/Pacific/Yap | Bin 183 -> 0 bytes .../site-packages/pytz/zoneinfo/Poland | Bin 2705 -> 0 bytes .../site-packages/pytz/zoneinfo/Portugal | Bin 3453 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/ROC | Bin 790 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/ROK | Bin 531 -> 0 bytes .../site-packages/pytz/zoneinfo/Singapore | Bin 424 -> 0 bytes .../site-packages/pytz/zoneinfo/Turkey | Bin 2166 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/UCT | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Alaska | Bin 2380 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Aleutian | Bin 2365 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Arizona | Bin 353 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Central | Bin 3585 -> 0 bytes .../pytz/zoneinfo/US/East-Indiana | Bin 1675 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Eastern | Bin 3545 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Hawaii | Bin 276 -> 0 bytes .../pytz/zoneinfo/US/Indiana-Starke | Bin 2437 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Michigan | Bin 2188 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Mountain | Bin 2453 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Pacific | Bin 2845 -> 0 bytes .../site-packages/pytz/zoneinfo/US/Samoa | Bin 196 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/UTC | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/Universal | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/W-SU | Bin 1544 -> 0 bytes .../python3.6/site-packages/pytz/zoneinfo/WET | Bin 1873 -> 0 bytes .../site-packages/pytz/zoneinfo/Zulu | Bin 127 -> 0 bytes .../site-packages/pytz/zoneinfo/iso3166.tab | 274 - .../site-packages/pytz/zoneinfo/leapseconds | 61 - .../site-packages/pytz/zoneinfo/posixrules | Bin 3545 -> 0 bytes .../site-packages/pytz/zoneinfo/tzdata.zi | 4150 -------- .../site-packages/pytz/zoneinfo/zone.tab | 448 - .../site-packages/pytz/zoneinfo/zone1970.tab | 382 - .../DESCRIPTION.rst | 243 - .../setuptools-28.8.0.dist-info/INSTALLER | 1 - .../setuptools-28.8.0.dist-info/METADATA | 272 - .../setuptools-28.8.0.dist-info/RECORD | 143 - .../setuptools-28.8.0.dist-info/WHEEL | 6 - .../dependency_links.txt | 2 - .../entry_points.txt | 63 - .../setuptools-28.8.0.dist-info/metadata.json | 1 - .../setuptools-28.8.0.dist-info/top_level.txt | 3 - .../setuptools-28.8.0.dist-info/zip-safe | 1 - .../site-packages/setuptools/__init__.py | 160 - .../__pycache__/__init__.cpython-36.pyc | Bin 5705 -> 0 bytes .../__pycache__/archive_util.cpython-36.pyc | Bin 5168 -> 0 bytes .../__pycache__/depends.cpython-36.pyc | Bin 5838 -> 0 bytes .../__pycache__/dist.cpython-36.pyc | Bin 32178 -> 0 bytes .../__pycache__/extension.cpython-36.pyc | Bin 1985 -> 0 bytes .../__pycache__/glob.cpython-36.pyc | Bin 3853 -> 0 bytes .../__pycache__/launch.cpython-36.pyc | Bin 864 -> 0 bytes .../__pycache__/lib2to3_ex.cpython-36.pyc | Bin 2443 -> 0 bytes .../__pycache__/monkey.cpython-36.pyc | Bin 4533 -> 0 bytes .../__pycache__/msvc.cpython-36.pyc | Bin 31286 -> 0 bytes .../__pycache__/namespaces.cpython-36.pyc | Bin 3201 -> 0 bytes .../__pycache__/package_index.cpython-36.pyc | Bin 32500 -> 0 bytes .../__pycache__/py26compat.cpython-36.pyc | Bin 1073 -> 0 bytes .../__pycache__/py27compat.cpython-36.pyc | Bin 622 -> 0 bytes .../__pycache__/py31compat.cpython-36.pyc | Bin 1903 -> 0 bytes .../__pycache__/sandbox.cpython-36.pyc | Bin 15543 -> 0 bytes .../__pycache__/site-patch.cpython-36.pyc | Bin 1516 -> 0 bytes .../__pycache__/ssl_support.cpython-36.pyc | Bin 6369 -> 0 bytes .../__pycache__/unicode_utils.cpython-36.pyc | Bin 1179 -> 0 bytes .../__pycache__/version.cpython-36.pyc | Bin 333 -> 0 bytes .../windows_support.cpython-36.pyc | Bin 1021 -> 0 bytes .../site-packages/setuptools/archive_util.py | 173 - .../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 | 17 - .../__pycache__/__init__.cpython-36.pyc | Bin 722 -> 0 bytes .../command/__pycache__/alias.cpython-36.pyc | Bin 2444 -> 0 bytes .../__pycache__/bdist_egg.cpython-36.pyc | Bin 13674 -> 0 bytes .../__pycache__/bdist_rpm.cpython-36.pyc | Bin 1787 -> 0 bytes .../__pycache__/bdist_wininst.cpython-36.pyc | Bin 988 -> 0 bytes .../__pycache__/build_ext.cpython-36.pyc | Bin 10014 -> 0 bytes .../__pycache__/build_py.cpython-36.pyc | Bin 8583 -> 0 bytes .../__pycache__/develop.cpython-36.pyc | Bin 5900 -> 0 bytes .../__pycache__/easy_install.cpython-36.pyc | Bin 63994 -> 0 bytes .../__pycache__/egg_info.cpython-36.pyc | Bin 21067 -> 0 bytes .../__pycache__/install.cpython-36.pyc | Bin 3984 -> 0 bytes .../install_egg_info.cpython-36.pyc | Bin 2449 -> 0 bytes .../__pycache__/install_lib.cpython-36.pyc | Bin 4094 -> 0 bytes .../install_scripts.cpython-36.pyc | Bin 2289 -> 0 bytes .../__pycache__/py36compat.cpython-36.pyc | Bin 4634 -> 0 bytes .../__pycache__/register.cpython-36.pyc | Bin 604 -> 0 bytes .../command/__pycache__/rotate.cpython-36.pyc | Bin 2590 -> 0 bytes .../__pycache__/saveopts.cpython-36.pyc | Bin 935 -> 0 bytes .../command/__pycache__/sdist.cpython-36.pyc | Bin 6119 -> 0 bytes .../command/__pycache__/setopt.cpython-36.pyc | Bin 4613 -> 0 bytes .../command/__pycache__/test.cpython-36.pyc | Bin 7462 -> 0 bytes .../command/__pycache__/upload.cpython-36.pyc | Bin 1363 -> 0 bytes .../__pycache__/upload_docs.cpython-36.pyc | Bin 6032 -> 0 bytes .../site-packages/setuptools/command/alias.py | 80 - .../setuptools/command/bdist_egg.py | 472 - .../setuptools/command/bdist_rpm.py | 43 - .../setuptools/command/bdist_wininst.py | 21 - .../setuptools/command/build_ext.py | 328 - .../setuptools/command/build_py.py | 270 - .../setuptools/command/develop.py | 197 - .../setuptools/command/easy_install.py | 2287 ----- .../setuptools/command/egg_info.py | 697 -- .../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 | 10 - .../setuptools/command/rotate.py | 66 - .../setuptools/command/saveopts.py | 22 - .../site-packages/setuptools/command/sdist.py | 202 - .../setuptools/command/setopt.py | 149 - .../site-packages/setuptools/command/test.py | 247 - .../setuptools/command/upload.py | 38 - .../setuptools/command/upload_docs.py | 206 - .../site-packages/setuptools/depends.py | 217 - .../site-packages/setuptools/dist.py | 914 -- .../site-packages/setuptools/extension.py | 57 - .../setuptools/extern/__init__.py | 4 - .../__pycache__/__init__.cpython-36.pyc | Bin 343 -> 0 bytes .../site-packages/setuptools/glob.py | 176 - .../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 | 186 - .../site-packages/setuptools/msvc.py | 1193 --- .../site-packages/setuptools/namespaces.py | 93 - .../site-packages/setuptools/package_index.py | 1115 --- .../site-packages/setuptools/py26compat.py | 31 - .../site-packages/setuptools/py27compat.py | 18 - .../site-packages/setuptools/py31compat.py | 56 - .../site-packages/setuptools/sandbox.py | 492 - .../setuptools/script (dev).tmpl | 5 - .../site-packages/setuptools/script.tmpl | 3 - .../site-packages/setuptools/site-patch.py | 74 - .../site-packages/setuptools/ssl_support.py | 250 - .../site-packages/setuptools/unicode_utils.py | 44 - .../site-packages/setuptools/version.py | 6 - .../setuptools/windows_support.py | 29 - .../Environment/project1/pip-selfcheck.json | 1 - .../Environment/project1/pyvenv.cfg | 3 - .../Environment/requirement.txt | 2 - .../inspectionProfiles/Project_Default.xml | 10 - .../.idea/misc.xml | 4 - .../.idea/modules.xml | 8 - ... 35 - error handling try and exception.iml | 11 - .../.idea/workspace.xml | 204 - .../main.py | 29 - 941 files changed, 5624 insertions(+), 59771 deletions(-) mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/django-admin mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/django-admin.py mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/easy_install mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/easy_install-3.6 mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/f2py mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip3 mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip3.6 mode change 120000 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/python mode change 120000 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/bin/python3 mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/bin/django-admin.py mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/conf/project_template/manage.py-tpl delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-36.pyc mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0002_alter_permission_name_max_length.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0003_alter_user_email_max_length.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0004_alter_user_username_opts.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0005_alter_user_last_login_null.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0006_require_contenttypes_0002.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0007_alter_validators_add_error_messages.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0008_alter_user_username_max_length.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/contenttypes/migrations/__pycache__/0002_remove_content_type_name.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/__pycache__/collectstatic.cpython-36.pyc mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/_dummy.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/multiarray.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/multiarray_tests.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/operand_flag_tests.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/struct_ufunc_test.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/test_rational.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/umath.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/umath_tests.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/fft/fftpack_lite.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/linalg/lapack_lite.cpython-36m-darwin.so mode change 100755 => 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/random/mtrand.cpython-36m-darwin.so delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/request.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/response.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/connection.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/request.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/response.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/retry.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/ssl_.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/timeout.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/url.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/retry.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/timeout.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/url.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/sessions.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/status_codes.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/structures.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/utils.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/retrying.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/six.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/labels.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/mklabels.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/tests.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/x_user_defined.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/basecommand.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/baseparser.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/cmdoptions.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/check.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/completion.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/download.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/freeze.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/hash.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/help.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/install.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/list.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/search.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/show.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/uninstall.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/wheel.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/check.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/completion.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/download.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/freeze.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/hash.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/help.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/install.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/list.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/search.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/show.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/uninstall.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/wheel.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__pycache__/dictconfig.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/dictconfig.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/download.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/exceptions.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/index.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/locations.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__pycache__/index.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/index.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__pycache__/check.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__pycache__/freeze.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/check.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/freeze.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/pep425tags.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/req_file.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/req_install.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/req_set.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/req_uninstall.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_file.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_install.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_set.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_uninstall.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/status_codes.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/appdirs.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/build.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/deprecation.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/encoding.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/filesystem.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/glibc.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/hashes.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/logging.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/outdated.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/packaging.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/setuptools_build.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/ui.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/appdirs.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/build.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/deprecation.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/encoding.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/filesystem.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/glibc.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/hashes.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/logging.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/outdated.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/packaging.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/setuptools_build.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/ui.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/bazaar.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/git.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/mercurial.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/subversion.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/bazaar.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/git.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/mercurial.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/subversion.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/wheel.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/appdirs.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__about__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_compat.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_structures.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/markers.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/requirements.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/specifiers.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/utils.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/version.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/pyparsing.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/six.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/extern/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/DESCRIPTION.rst delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/INSTALLER delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/METADATA delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/RECORD delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/WHEEL delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/metadata.json delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/top_level.txt delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/zip-safe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/exceptions.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/lazy.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/reference.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/tzfile.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/tzinfo.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/exceptions.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/lazy.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/reference.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzfile.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzinfo.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Abidjan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Accra delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Addis_Ababa delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Algiers delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmara delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmera delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bamako delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bangui delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Banjul delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bissau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Blantyre delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Brazzaville delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bujumbura delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Cairo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Casablanca delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ceuta delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Conakry delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dakar delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dar_es_Salaam delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Djibouti delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Douala delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/El_Aaiun delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Freetown delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Gaborone delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Harare delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Johannesburg delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Juba delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kampala delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Khartoum delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kigali delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kinshasa delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lagos delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Libreville delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lome delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Luanda delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lubumbashi delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lusaka delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Malabo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maputo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maseru delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mbabane delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mogadishu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Monrovia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nairobi delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ndjamena delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Niamey delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nouakchott delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ouagadougou delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Porto-Novo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Sao_Tome delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Timbuktu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tripoli delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tunis delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Windhoek delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Adak delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Anchorage delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Anguilla delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Antigua delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Araguaina delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Buenos_Aires delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Catamarca delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/ComodRivadavia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Cordoba delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Jujuy delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/La_Rioja delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Mendoza delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Rio_Gallegos delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Salta delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Juan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Luis delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Tucuman delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Ushuaia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Aruba delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Asuncion delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Atikokan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Atka delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia_Banderas delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Barbados delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Belem delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Belize delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Blanc-Sablon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Boa_Vista delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bogota delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Boise delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Buenos_Aires delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cambridge_Bay delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Campo_Grande delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cancun delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Caracas delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Catamarca delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayenne delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayman delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Chicago delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Chihuahua delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Coral_Harbour delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cordoba delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Costa_Rica delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Creston delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cuiaba delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Curacao delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Danmarkshavn delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson_Creek delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Denver delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Detroit delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dominica delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Edmonton delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Eirunepe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/El_Salvador delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Ensenada delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Nelson delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Wayne delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fortaleza delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Glace_Bay delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Godthab delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Goose_Bay delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Grand_Turk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Grenada delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guadeloupe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guatemala delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guayaquil delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guyana delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Halifax delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Havana delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Hermosillo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Indianapolis delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Knox delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Marengo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Petersburg delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Tell_City delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vevay delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vincennes delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Winamac delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indianapolis delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Inuvik delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Iqaluit delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Jamaica delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Jujuy delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Juneau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Louisville delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Monticello delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Knox_IN delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kralendijk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/La_Paz delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Lima delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Los_Angeles delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Louisville delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Lower_Princes delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Maceio delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Managua delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Manaus delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Marigot delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Martinique delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Matamoros delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mazatlan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mendoza delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Menominee delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Merida delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Metlakatla delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mexico_City delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Miquelon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Moncton delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Monterrey delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montevideo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montreal delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montserrat delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nassau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/New_York delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nipigon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nome delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Noronha delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Beulah delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Center delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/New_Salem delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Ojinaga delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Panama delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Pangnirtung delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Paramaribo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Phoenix delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Port-au-Prince delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Port_of_Spain delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Acre delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Velho delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Puerto_Rico delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Punta_Arenas delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rainy_River delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rankin_Inlet delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Recife delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Regina delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Resolute delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rio_Branco delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rosario delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santa_Isabel delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santarem delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santiago delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santo_Domingo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Sao_Paulo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Scoresbysund delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Shiprock delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Sitka delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Barthelemy delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Johns delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Kitts delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Lucia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Thomas delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Vincent delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Swift_Current delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tegucigalpa delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Thule delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Thunder_Bay delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tijuana delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Toronto delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tortola delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Vancouver delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Virgin delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Whitehorse delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Winnipeg delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Yakutat delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Yellowknife delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Casey delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Davis delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/DumontDUrville delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Macquarie delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Mawson delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/McMurdo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Palmer delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Rothera delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/South_Pole delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Syowa delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Troll delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Vostok delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Arctic/Longyearbyen delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aden delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Almaty delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Amman delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Anadyr delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtobe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashgabat delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashkhabad delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Atyrau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baghdad delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bahrain delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baku delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bangkok delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Barnaul delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Beirut delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bishkek delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Brunei delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Calcutta delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chita delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Choibalsan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chongqing delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chungking delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Colombo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dacca delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Damascus delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dhaka delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dili delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dubai delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dushanbe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Famagusta delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Gaza delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Harbin delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hebron delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ho_Chi_Minh delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hong_Kong delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hovd delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Irkutsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Istanbul delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jakarta delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jayapura delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jerusalem delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kabul delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kamchatka delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Karachi delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kashgar delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kathmandu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Katmandu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Khandyga delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kolkata delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Krasnoyarsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuala_Lumpur delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuching delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuwait delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macao delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Magadan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Makassar delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Manila delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Muscat delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Nicosia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novokuznetsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novosibirsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Omsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Oral delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Phnom_Penh delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pontianak delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pyongyang delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qatar delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qyzylorda delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Rangoon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Riyadh delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Saigon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Sakhalin delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Samarkand delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Seoul delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Shanghai delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Singapore delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Srednekolymsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Taipei delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tashkent delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tbilisi delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tehran delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tel_Aviv delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimbu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimphu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tokyo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tomsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ujung_Pandang delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulaanbaatar delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulan_Bator delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Urumqi delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ust-Nera delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vientiane delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vladivostok delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yakutsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yangon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yekaterinburg delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yerevan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Azores delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Bermuda delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Canary delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Cape_Verde delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faeroe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faroe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Jan_Mayen delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Madeira delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Reykjavik delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/South_Georgia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/St_Helena delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Stanley delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/ACT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Adelaide delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Brisbane delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Broken_Hill delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Canberra delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Currie delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Darwin delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Eucla delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Hobart delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/LHI delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lindeman delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lord_Howe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Melbourne delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/NSW delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/North delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Perth delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Queensland delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/South delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Sydney delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Tasmania delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Victoria delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/West delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Yancowinna delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/Acre delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/DeNoronha delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/East delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/West delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/CET delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/CST6CDT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Atlantic delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Central delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Eastern delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Mountain delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Newfoundland delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Pacific delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Saskatchewan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Yukon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Chile/Continental delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Chile/EasterIsland delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Cuba delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EET delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EST delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EST5EDT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Egypt delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Eire delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+0 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+1 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+10 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+11 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+12 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+2 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+3 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+4 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+5 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+6 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+7 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+8 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+9 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-0 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-1 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-10 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-11 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-12 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-13 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-14 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-2 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-3 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-4 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-5 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-6 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-7 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-8 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-9 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT0 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Greenwich delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UCT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UTC delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Universal delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Zulu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Amsterdam delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Andorra delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Astrakhan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Athens delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belfast delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belgrade delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Berlin delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bratislava delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Brussels delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bucharest delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Budapest delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Busingen delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Chisinau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Copenhagen delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Dublin delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Gibraltar delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Guernsey delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Helsinki delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Isle_of_Man delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Istanbul delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Jersey delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kaliningrad delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kiev delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kirov delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Lisbon delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ljubljana delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/London delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Luxembourg delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Madrid delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Malta delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Mariehamn delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Minsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Monaco delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Moscow delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Nicosia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Oslo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Paris delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Podgorica delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Prague delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Riga delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Rome delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Samara delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/San_Marino delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sarajevo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Saratov delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Simferopol delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Skopje delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sofia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Stockholm delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tallinn delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tirane delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tiraspol delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ulyanovsk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Uzhgorod delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vaduz delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vatican delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vienna delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vilnius delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Volgograd delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Warsaw delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zagreb delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zaporozhye delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zurich delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Factory delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GB delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GB-Eire delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT+0 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT-0 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT0 delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Greenwich delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/HST delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Hongkong delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Iceland delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Antananarivo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Chagos delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Christmas delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Cocos delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Comoro delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Kerguelen delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mahe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Maldives delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mauritius delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mayotte delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Reunion delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Iran delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Israel delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Jamaica delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Japan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Kwajalein delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Libya delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MET delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MST delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MST7MDT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaNorte delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaSur delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/General delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/NZ delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/NZ-CHAT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Navajo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/PRC delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/PST8PDT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Apia delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Auckland delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Bougainville delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chatham delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chuuk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Easter delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Efate delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Enderbury delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fakaofo delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fiji delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Funafuti delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Galapagos delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Gambier delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guadalcanal delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guam delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Honolulu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Johnston delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kiritimati delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kosrae delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kwajalein delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Majuro delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Marquesas delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Midway delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Nauru delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Niue delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Norfolk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Noumea delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pago_Pago delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Palau delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pitcairn delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pohnpei delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Ponape delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Port_Moresby delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Rarotonga delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Saipan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Samoa delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tahiti delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tarawa delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tongatapu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Truk delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wake delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wallis delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Yap delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Poland delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Portugal delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/ROC delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/ROK delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Singapore delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Turkey delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/UCT delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Alaska delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Aleutian delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Arizona delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Central delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/East-Indiana delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Eastern delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Hawaii delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Indiana-Starke delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Michigan delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Mountain delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Pacific delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Samoa delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/UTC delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Universal delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/W-SU delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/WET delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Zulu delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/iso3166.tab delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/leapseconds delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/posixrules delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/tzdata.zi delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone.tab delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone1970.tab delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/DESCRIPTION.rst delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/INSTALLER delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/METADATA delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/RECORD delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/WHEEL delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/dependency_links.txt delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/entry_points.txt delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/metadata.json delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/top_level.txt delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/zip-safe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/archive_util.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/depends.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/dist.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/extension.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/glob.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/launch.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/monkey.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/msvc.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/namespaces.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/package_index.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py26compat.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py27compat.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py31compat.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/sandbox.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/site-patch.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/ssl_support.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/unicode_utils.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/version.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/windows_support.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/archive_util.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli-32.exe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli-64.exe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli.exe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/alias.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/build_ext.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/build_py.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/develop.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/easy_install.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/egg_info.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_lib.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_scripts.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/py36compat.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/register.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/rotate.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/saveopts.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/sdist.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/setopt.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/test.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/upload.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/upload_docs.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/alias.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_egg.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_rpm.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_wininst.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_ext.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_py.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/develop.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/easy_install.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/egg_info.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_egg_info.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_lib.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_scripts.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/launcher manifest.xml delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/py36compat.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/register.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/rotate.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/saveopts.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/sdist.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/setopt.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/test.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload_docs.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/depends.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/dist.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extension.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extern/__init__.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extern/__pycache__/__init__.cpython-36.pyc delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/glob.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui-32.exe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui-64.exe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui.exe delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/launch.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/lib2to3_ex.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/monkey.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/msvc.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/namespaces.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/package_index.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py26compat.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py27compat.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py31compat.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/sandbox.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script (dev).tmpl delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script.tmpl delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/site-patch.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/ssl_support.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/unicode_utils.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/version.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/windows_support.py delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/pip-selfcheck.json delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/project1/pyvenv.cfg delete mode 100644 Versi Lama 34 - Virtual Environment/Environment/requirement.txt delete mode 100644 Versi Lama 35 - error handling try and exception/.idea/inspectionProfiles/Project_Default.xml delete mode 100644 Versi Lama 35 - error handling try and exception/.idea/misc.xml delete mode 100644 Versi Lama 35 - error handling try and exception/.idea/modules.xml delete mode 100644 Versi Lama 35 - error handling try and exception/.idea/part 35 - error handling try and exception.iml delete mode 100644 Versi Lama 35 - error handling try and exception/.idea/workspace.xml delete mode 100644 Versi Lama 35 - error handling try and exception/main.py diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/django-admin b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/django-admin old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/django-admin.py b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/django-admin.py old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/easy_install b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/easy_install old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/easy_install-3.6 b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/easy_install-3.6 old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/f2py b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/f2py old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip3 b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip3 old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip3.6 b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/pip3.6 old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python deleted file mode 120000 index b8a0adbb..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python +++ /dev/null @@ -1 +0,0 @@ -python3 \ No newline at end of file diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python new file mode 100644 index 00000000..b8a0adbb --- /dev/null +++ b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python3 b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python3 deleted file mode 120000 index 6b2efc80..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python3 +++ /dev/null @@ -1 +0,0 @@ -/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 \ No newline at end of file diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python3 b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python3 new file mode 100644 index 00000000..6b2efc80 --- /dev/null +++ b/Versi Lama 34 - Virtual Environment/Environment/project1/bin/python3 @@ -0,0 +1 @@ +/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 \ No newline at end of file diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/Django-2.0.2.dist-info/RECORD b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/Django-2.0.2.dist-info/RECORD index 3841680f..43b9b91e 100644 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/Django-2.0.2.dist-info/RECORD +++ b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/Django-2.0.2.dist-info/RECORD @@ -1,4174 +1,4174 @@ -../../../bin/django-admin.py,sha256=OOv0QKYqhDD2O4X3HQx3gFFQ-CC7hSLnWuzZnQXeiiA,115 -Django-2.0.2.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10 -Django-2.0.2.dist-info/LICENSE.txt,sha256=uEZBXRtRTpwd_xSiLeuQbXlLxUbKYSn5UKGM0JHipmk,1552 -Django-2.0.2.dist-info/METADATA,sha256=2EB47t_FbGQegCzaJky9FPY9UrDmz8MSmUTHGgKO4jo,1416 -Django-2.0.2.dist-info/RECORD,, -Django-2.0.2.dist-info/WHEEL,sha256=8Lm45v9gcYRm70DrgFGVe4WsUtUMi1_0Tso1hqPGMjA,92 -Django-2.0.2.dist-info/entry_points.txt,sha256=daYW_s0r8Z5eiRi_bNU6vodHqVUXQWzm-DHFOQHTV2Q,83 -Django-2.0.2.dist-info/metadata.json,sha256=I_hnWAuICPnX-re_A_sCgpVKTT39lRYBsdNoCQ9klrE,1724 -Django-2.0.2.dist-info/top_level.txt,sha256=V_goijg9tfO20ox_7os6CcnPvmBavbxu46LpJiNLwjA,7 -django/__init__.py,sha256=ZFCYEVK3Qz5h_uHO7MS0APF6ii9nDg58hARUO4DP-Z8,799 -django/__main__.py,sha256=9a5To1vQXqf2Jg_eh8nLvIc0GXmDjEXv4jE1QZEqBFk,211 -django/shortcuts.py,sha256=d1jMwK1YgOlbORjIHB-vsrFGLMzMJUZY94a1T24LkKo,5574 -django/apps/__init__.py,sha256=t0F4yceU4SbybMeWBvpuE6RsGaENmQCVbNSdSuXiEMs,90 -django/apps/config.py,sha256=meyWjXLt0qgPfqM14KGaWsZakbga-wuHXsu2gkHyQ-s,8047 -django/apps/registry.py,sha256=rvRxqCTbLRjxxqPcV5Sm2D5D7rmtFyzuDbBEKU4z5xk,17220 -django/bin/django-admin.py,sha256=FWxg_nmLPNGqXwSMw0QvZsKNQsiVBHrSsNfgALIXqQ0,128 -django/conf/__init__.py,sha256=mFe5TxmoKTgqXEDRjqLOhwBQPz-TNEjQQakBcpVzkbY,7437 -django/conf/global_settings.py,sha256=QMugwAHe6GGHqpxV9M8eKhn_iLlRSnpymfIsYhc3zgw,22040 -django/conf/app_template/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/app_template/admin.py-tpl,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63 -django/conf/app_template/apps.py-tpl,sha256=lZ1k1B3K5ntPWSn-CSd0cvDuijeoQE43wztE0tXyeMQ,114 -django/conf/app_template/models.py-tpl,sha256=Vjc0p2XbAPgE6HyTF6vll98A4eDhA5AvaQqsc4kQ9AQ,57 -django/conf/app_template/tests.py-tpl,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60 -django/conf/app_template/views.py-tpl,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63 -django/conf/app_template/migrations/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/__init__.py,sha256=Cdnzc1w8PQMTASYhYm_LzJsmCYlGch9SijWoHzWwbMc,12502 -django/conf/locale/af/LC_MESSAGES/django.mo,sha256=oO8Q8uo31WbyeXWMlhClD2zAxGaMsbtktlX36H6Zl5I,19601 -django/conf/locale/af/LC_MESSAGES/django.po,sha256=HYviyVp2v3RyrgemBfKclJRSt1Hk71dRt2pUtjMHvV4,25003 -django/conf/locale/ar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ar/formats.py,sha256=XBXR6_xAY_oHs5rAu5YGJii6-yenWQJ2HFqtyava8rs,694 -django/conf/locale/ar/LC_MESSAGES/django.mo,sha256=6cugqE9KpudwHt4yr_qBqazc-WNVth60LPfSrEnekIQ,30712 -django/conf/locale/ar/LC_MESSAGES/django.po,sha256=9tVjHdBZa3DDYWeHGdwaHpik-RbDTf3PFZl90iEDgNo,35055 -django/conf/locale/ast/LC_MESSAGES/django.mo,sha256=kmN-K4eQG_EvU565NnThO5qSkfcIMLXizk57RoM0YmM,16665 -django/conf/locale/ast/LC_MESSAGES/django.po,sha256=WnsaXWzvgTohaW7h5L6H5FG7QM8y5FifzB3GaahFLQY,23619 -django/conf/locale/az/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/az/formats.py,sha256=qAxKv_-_ubsfH4qdtvvgCqDirBh9TnuemaLzdC5D5-s,1189 -django/conf/locale/az/LC_MESSAGES/django.mo,sha256=FrJmdBMwFu2tX12djk8B_QfPQKwwL7Zkyx-K6Ua-6RA,19457 -django/conf/locale/az/LC_MESSAGES/django.po,sha256=ZyqOTC22KTFhIKGWXqBtxExu8cMA-x8Ir34Oph3R_hw,24955 -django/conf/locale/be/LC_MESSAGES/django.mo,sha256=IxeJVl8TKn7HAi9VLoWmv8wAfo_pm6x4BVLOva_0rvg,34723 -django/conf/locale/be/LC_MESSAGES/django.po,sha256=kgt3xyXCb3FdmIyYe1XPSoRFsjxbYPXHJijwD2RydwE,36995 -django/conf/locale/bg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/bg/formats.py,sha256=K9JbkJuXdmr8z1KAACBvDxa8mIJIQ8-DfHLlvjkfm38,703 -django/conf/locale/bg/LC_MESSAGES/django.mo,sha256=oSaycuek5hekuOlUDZvgBWiC8pprSjVlhsPyQqnF2Ss,29687 -django/conf/locale/bg/LC_MESSAGES/django.po,sha256=STgBTki870oeyGqYyPPlyg4WmkdzlDvAUAhsBwHsWTs,32975 -django/conf/locale/bn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/bn/formats.py,sha256=1O63vMDv5MG9um4AvMREKAoqlOZyC46WMEWG9q8PMS8,962 -django/conf/locale/bn/LC_MESSAGES/django.mo,sha256=K7EKhxgCWLfWGA8MenkboQ_pNwo45lAkwrZkGrjIc-c,17250 -django/conf/locale/bn/LC_MESSAGES/django.po,sha256=CUr8W_emf9KSw8z-F26P7drK6z_CCovR9AjWycLpAP4,26693 -django/conf/locale/br/LC_MESSAGES/django.mo,sha256=7bGRE2oO2IICAbPgDCB1Sg_8ljqGvcs-YGsOespgPKo,14948 -django/conf/locale/br/LC_MESSAGES/django.po,sha256=U5SoZEn-03J1MGF76dtjNuCcEqslQEJJOl46RiNnK4Q,22771 -django/conf/locale/bs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/bs/formats.py,sha256=iuBajy6bgF-2V0j5xZjv9832ToLnUMyRvzVDK4vqO74,703 -django/conf/locale/bs/LC_MESSAGES/django.mo,sha256=DKLskkhih8rc42NtUXt-OZXD7r983w9Ddc4qSmakFis,11073 -django/conf/locale/bs/LC_MESSAGES/django.po,sha256=H4rrXQrd0ph_bHUvxgncbH29mhwtm2__XGo7QhH-ROY,21671 -django/conf/locale/ca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ca/formats.py,sha256=rPWIibPg8b8w7NwBy7rohbFEFcxTPrkrSjv_MP2CYBY,949 -django/conf/locale/ca/LC_MESSAGES/django.mo,sha256=h7GJelxKdhaHwVo7tsVhBfnkOOiN6WAARq70pNk__vk,23602 -django/conf/locale/ca/LC_MESSAGES/django.po,sha256=343ow5vc51Tlljd1wuJGJyDT2M1eKBsKUWAnCOVW47g,26986 -django/conf/locale/cs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/cs/formats.py,sha256=tlbaEQ994P6Bj-UliXagMW4Yu1D_neGspDOaQLL5HlU,1635 -django/conf/locale/cs/LC_MESSAGES/django.mo,sha256=P4HhR6_GMVxh91AVwSff8B044Zprfzz9JPRHK9mIgSA,27206 -django/conf/locale/cs/LC_MESSAGES/django.po,sha256=_XDU6clyHyzOuZALSTdnG7QGwiZ06VD3jd8CohcZRwA,29391 -django/conf/locale/cy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/cy/formats.py,sha256=WKp8F3IiISrgxXItSpIB1c0a8xFY8CsEzqXMQRYbsPQ,1755 -django/conf/locale/cy/LC_MESSAGES/django.mo,sha256=CJL04VXl3vjRWff93fzWDLeEJPw_Il7G5YzjCHdZZok,22280 -django/conf/locale/cy/LC_MESSAGES/django.po,sha256=C14r9gUOnCV5fNb4YZ-NN-fnLlZl1xHBP3H0tu-LgRk,27045 -django/conf/locale/da/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/da/formats.py,sha256=YQaL8Y3H0AOPvJzxwiDXwtqrbY0EyHNGtfMu4BGha0Y,939 -django/conf/locale/da/LC_MESSAGES/django.mo,sha256=dPsLukRWrR5r2aCOX1XQ3asDFWSIzsQSeHq_0BWev5Y,25647 -django/conf/locale/da/LC_MESSAGES/django.po,sha256=XnFp_eWVFEOjcV9Itf2GUvlXsepSNeqzghnTCc57b3o,27690 -django/conf/locale/de/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/de/formats.py,sha256=yPGP3kCbQCU0VY3P-Kuxx2yl7eWFMsMtGu5xzDdr6jo,1033 -django/conf/locale/de/LC_MESSAGES/django.mo,sha256=b6y542k7Nq5UxezQr9fZzciSW4s46wYqTwL7B-suGgg,27098 -django/conf/locale/de/LC_MESSAGES/django.po,sha256=2QIe6vGtkh8a-L0nY_sL_wO_nBJ8-MgEuylz0hPPpfs,29126 -django/conf/locale/de_CH/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/de_CH/formats.py,sha256=a6uQQxZrtRAd_8GesmMEjWa-quvjBq3gJ5Ka17sy1yM,1377 -django/conf/locale/dsb/LC_MESSAGES/django.mo,sha256=dU5WKb8hS__Iy-H5Q1HeLgNK_LyZ96KOAOj_2s0E1eI,28362 -django/conf/locale/dsb/LC_MESSAGES/django.po,sha256=YE4oOqyXRuHtqc0NuOP8544aUG4GjRVZXGFDU7BJtBU,30549 -django/conf/locale/el/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/el/formats.py,sha256=0WF_ISbYSN0NtPuOk1sFsYITCPb3IG2jEaAxVSXLaqU,1385 -django/conf/locale/el/LC_MESSAGES/django.mo,sha256=qjPNmi81vdMnfgpvNVjv6QI2CslBIlMq9dKKaT17D3k,32036 -django/conf/locale/el/LC_MESSAGES/django.po,sha256=AiuSDxNIfaeItrzgk46v88hfwdEqb62r6YuTy4FBvBc,35102 -django/conf/locale/en/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/en/formats.py,sha256=HImytl2xU0ui_bdhmp6GZWLqfHIRf_1iidtajlfgh7g,1748 -django/conf/locale/en/LC_MESSAGES/django.mo,sha256=mVpSj1AoAdDdW3zPZIg5ZDsDbkSUQUMACg_BbWHGFig,356 -django/conf/locale/en/LC_MESSAGES/django.po,sha256=WROjQo_CcfZJGOtsH-Ep0CTxXdMWYrzNhD9IXMcoa30,28066 -django/conf/locale/en_AU/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/en_AU/formats.py,sha256=TnVSM6iUeAMqyfDNLnjGKwBiziVA7gwvokERm549Zzw,2050 -django/conf/locale/en_AU/LC_MESSAGES/django.mo,sha256=vx8-wkZxPq-WseGghwXuLAK5MdDsRScKnrgBATVarwc,16288 -django/conf/locale/en_AU/LC_MESSAGES/django.po,sha256=-9v7S5GrwT9045EePAWwUIqtXmOo_9W9dRQ6kFsCBmQ,23221 -django/conf/locale/en_GB/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/en_GB/formats.py,sha256=wp-VCJ2IY5nEjQSejomReMG2YyE_6ra4hEiSbYFt6yI,2050 -django/conf/locale/en_GB/LC_MESSAGES/django.mo,sha256=whAV7H3YTMcdt-gFyKY5naykTaV19x1gZoO8SJh2_TI,13133 -django/conf/locale/en_GB/LC_MESSAGES/django.po,sha256=vpqOmBh0ccf7P5-lcwFgxUhCJw35BWi39aALjmEa5nY,22060 -django/conf/locale/eo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/eo/formats.py,sha256=rNeBMpv6p-eJSzdZvTyGuDDDIm3xY7FKsEpeyFZ05p0,2268 -django/conf/locale/eo/LC_MESSAGES/django.mo,sha256=_69wzsjZ_TVeVNnQh2fqf2TTaWhtWffOpJGpnhrpXlc,23163 -django/conf/locale/eo/LC_MESSAGES/django.po,sha256=Q0lnN6zJ1dzXYrUCKEUqW4sIq3FTKw3yhtsQOb0YZ5c,26628 -django/conf/locale/es/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es/formats.py,sha256=xks_4TjYTSGyz9cIYaE8OM3wbueP3ooM2QTsqNPOMF8,947 -django/conf/locale/es/LC_MESSAGES/django.mo,sha256=6Ky02Z4XSO36xG1qVcJ1e8Pi44EM6xGGbkzoOyozzS8,26351 -django/conf/locale/es/LC_MESSAGES/django.po,sha256=aNH_N2BZmk8ysiPgD_AQcPPoZ7npDsbiFVPITX8UDfg,29080 -django/conf/locale/es_AR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_AR/formats.py,sha256=vhHFN4lkzOQARRXhgt5s8M7ITTLZMMLVwbjby-Y_UEk,933 -django/conf/locale/es_AR/LC_MESSAGES/django.mo,sha256=3DhKGVuSoZFkpi0ikLShRAppMfpHdJDwdpJGRVhsB8Q,26793 -django/conf/locale/es_AR/LC_MESSAGES/django.po,sha256=gwW4R0-DWtORr2sB_0sE5dvPactzxOltwh1bdmNtWi0,28697 -django/conf/locale/es_CO/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_CO/formats.py,sha256=kvTsKSaK7oDWK6a-SeO3V3e__64SjtDBMWoq0ouVDJ4,700 -django/conf/locale/es_CO/LC_MESSAGES/django.mo,sha256=bXSa4kJtVu9xeQOFgP7RTfirJgEynWk4R32KSKjEezM,22791 -django/conf/locale/es_CO/LC_MESSAGES/django.po,sha256=8X_pdt0Amtvbw3AZUE_fKMy20ItYR-zS1caqnHxKjIE,26533 -django/conf/locale/es_MX/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_MX/formats.py,sha256=vrMMOSU8lh48jeVc1y69jdgSSI-AFLXp5-UbmH7zT0w,824 -django/conf/locale/es_MX/LC_MESSAGES/django.mo,sha256=0WYdCPgyC0XpF8to_bbyw__IRA5LGj8izt8DoCH1m6I,15095 -django/conf/locale/es_MX/LC_MESSAGES/django.po,sha256=rwJvZGP-6uQX1bvQSW4pVE4y4dfriVZOCfkWRzC9QBI,23042 -django/conf/locale/es_NI/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_NI/formats.py,sha256=QMfHoEWcpR_8yLaE66w5UjmPjtgTAU7Yli8JHgSxGRI,740 -django/conf/locale/es_PR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_PR/formats.py,sha256=mYKWumkfGElGDL92G0nO_loBoSOOFKs0ktsI3--nlLQ,671 -django/conf/locale/es_VE/LC_MESSAGES/django.mo,sha256=93zneQv56yHv9DfaIJ0cIv8wBk_E8RCjUgAZYHgfdYc,23797 -django/conf/locale/es_VE/LC_MESSAGES/django.po,sha256=m5bxw3vZNZwDNt5riWNjAqzgYFsMS2PM124ek3JALus,27070 -django/conf/locale/et/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/et/formats.py,sha256=2V0pYSzXqv1cbkYAAQnk_3J8dynoX0Lma6J6M3bLnBg,705 -django/conf/locale/et/LC_MESSAGES/django.mo,sha256=-cUSFc8kAJ3I70QPVeys0XZ_9YsDHQRj0H7IltFBiAw,23987 -django/conf/locale/et/LC_MESSAGES/django.po,sha256=GA_0u-rXtGmH3K6kMHi_HsZec3IYH61nuQlKoVuIyAQ,27017 -django/conf/locale/eu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/eu/formats.py,sha256=8dIjaFxQlsd79KO-kHFNgt-vyYqrx3K9_OJf_NMIYEM,747 -django/conf/locale/eu/LC_MESSAGES/django.mo,sha256=l_3VH9HqLql5QuzpmLe5FR7Ky5zCV0B-WAlqzC04K_Q,25947 -django/conf/locale/eu/LC_MESSAGES/django.po,sha256=5CCDd1k-WpE5LAnl5GAkZUMcqVw0D7qFvlCDZvVtViQ,28143 -django/conf/locale/fa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fa/formats.py,sha256=sZyCeIQAo6HCtKr5t6W6y8Ll_Y5Yh0zXuy9qz5CaUz8,720 -django/conf/locale/fa/LC_MESSAGES/django.mo,sha256=q4Eww63ggp2Zj0Ski_GCnnURIUu9_Y6EofPfpw6lDM8,26023 -django/conf/locale/fa/LC_MESSAGES/django.po,sha256=BU_qdBlidEoBDUJRoBgzO85HF90s5ehfWLgJEpwC1Pc,29571 -django/conf/locale/fi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fi/formats.py,sha256=bZW36V91AaMAp_xJURr2FWfEFGUnts7MBE3euHF8De0,1323 -django/conf/locale/fi/LC_MESSAGES/django.mo,sha256=5b6NAxHFOuETT9c5_XoLhy-q4bgubXo1HLpY_rYZ-08,23713 -django/conf/locale/fi/LC_MESSAGES/django.po,sha256=hdp0Z724jce_5FPmczkqnZ7mBVSt9Efaa8ldEfynNOs,27016 -django/conf/locale/fr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fr/formats.py,sha256=S3BK2FbOdZdUUsPp8IHMb4GpDm_ctIIE1z4ZX3L7F1I,1387 -django/conf/locale/fr/LC_MESSAGES/django.mo,sha256=x_IT_zrxvWvvPvii4RI21VR-GqUodZRKad00NnOhOKw,27235 -django/conf/locale/fr/LC_MESSAGES/django.po,sha256=AI2wbCH2n1HKqnD5x4I1YBQqCoGTZQRG4MtZ8o-YSD8,29318 -django/conf/locale/fy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fy/formats.py,sha256=-wHp-HFUatmTEgGiQ7ekCMFMB8jpAQD4UC4mmhjRTL8,656 -django/conf/locale/fy/LC_MESSAGES/django.mo,sha256=N13eBeS5pewXpx3yIAwiqB8ISjw-J2ku99dncOnz_lY,2525 -django/conf/locale/fy/LC_MESSAGES/django.po,sha256=GyR8MjHB6fS3NuxDCsNegt9rZPyst5pMqs0i0WWIXUM,19283 -django/conf/locale/ga/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ga/formats.py,sha256=o1K6fb8AwJ5iHqSxWirH_qLhFp54vRmQ0cUDeEQJFZg,680 -django/conf/locale/ga/LC_MESSAGES/django.mo,sha256=Iw1dcW6tAoIFBgjFAWyfXH7lXz__fRrS7cktYtcQ_IM,15097 -django/conf/locale/ga/LC_MESSAGES/django.po,sha256=Adp1JYadvckm_A4nlXZGM-hPAz_8bcdNw08BlEQNorQ,24000 -django/conf/locale/gd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/gd/formats.py,sha256=4H_tXzwJIVIn9uxvszCWP9clNzY1dtCA9NC42JhvnBs,713 -django/conf/locale/gd/LC_MESSAGES/django.mo,sha256=CZ8l9P68RnGriRwFwq9zYZKAtomBej5OPw2hxSvMe9A,29409 -django/conf/locale/gd/LC_MESSAGES/django.po,sha256=V_jU770O0WkLt0eTOhlamk6seUSrVF5m2dnmN9o2NNs,31733 -django/conf/locale/gl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/gl/formats.py,sha256=BIDA50C9zjxUG7c-yFrdhxs0ROEP9OtJGCmCJDVtMbQ,755 -django/conf/locale/gl/LC_MESSAGES/django.mo,sha256=sNVgEfEr_q6kth4MHJvBOZ34H-LkrkiFfjBsfmKA9fc,15342 -django/conf/locale/gl/LC_MESSAGES/django.po,sha256=6Zu_Oi6Xa7igkyjA8jp0BxvkLIYgguXnGFcRwPG3uO8,23283 -django/conf/locale/he/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/he/formats.py,sha256=XqXL6y_1InNsVBDVBUVsiN4dPSfanXc-5ZCh3c6HaiM,710 -django/conf/locale/he/LC_MESSAGES/django.mo,sha256=34i0neJ_XbU9-IbZtpSEd0fLZaZWlKsiNifALt6TuUo,28516 -django/conf/locale/he/LC_MESSAGES/django.po,sha256=wEQFKastjSqb-7DCXk7JMET2VVnLlUo4bxH6ldDjmSc,30310 -django/conf/locale/hi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/hi/formats.py,sha256=y0O5F4C31wgJMXPdVrQvNqYKVyr8-Z1hf5o0N9P3i7M,682 -django/conf/locale/hi/LC_MESSAGES/django.mo,sha256=4v9ljgKHyBd4tqUr_5CBNS8rNtLsFERsFOK-zx8kYvY,19270 -django/conf/locale/hi/LC_MESSAGES/django.po,sha256=Ennlas9mqLL6pqYRXhEHK8OPyXNq9I0aKoizn0aeKLk,27774 -django/conf/locale/hr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/hr/formats.py,sha256=VYQw5JpFK4GKOB9LhVcUSLprU7_66QP1JBu2XWss4L0,2039 -django/conf/locale/hr/LC_MESSAGES/django.mo,sha256=Y5qAfjbubIQDJIbkJzw7tfzUsuIlEYUlsvGfvEYiFP8,24409 -django/conf/locale/hr/LC_MESSAGES/django.po,sha256=iOHjAFvvu8OiBeh2IukSFXEkL-Uqr_dDEKKCAlvGtjo,28207 -django/conf/locale/hsb/LC_MESSAGES/django.mo,sha256=KBjg59sQQa660xIws3jFnkidggEqrun697cEPFjBUXc,28113 -django/conf/locale/hsb/LC_MESSAGES/django.po,sha256=jPcsXLZq7Q8b1TOIGIrDiNPVxcIYkwoISfYLKZpedr8,30279 -django/conf/locale/hu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/hu/formats.py,sha256=WSlkhX-1FPj0NuP_a_XmlCADrJZIRZ-xGmDhJ7M5O8w,1050 -django/conf/locale/hu/LC_MESSAGES/django.mo,sha256=b_P30VSZRI-9QTc8AqTk6qucg_axzcLHGebh3sFTwFU,26971 -django/conf/locale/hu/LC_MESSAGES/django.po,sha256=TUAoYIGuZlX45dkxIu-Yo-drlhn0otTLwN7WQvIfgfo,29023 -django/conf/locale/ia/LC_MESSAGES/django.mo,sha256=uctHDWY1qKSlNlcdaEGswjWkPYy3BDJawUbAfEddk4Y,23125 -django/conf/locale/ia/LC_MESSAGES/django.po,sha256=ckopqh_kKLtaJC9upyGY4hh9NSkF-iHsZOm9sur4-A4,26641 -django/conf/locale/id/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/id/formats.py,sha256=uwSpqmGF6Pyy3cnYEgyNH5m6ttoXNC_pofpbjqoAO_I,2068 -django/conf/locale/id/LC_MESSAGES/django.mo,sha256=SuTCKPRarUZl4g7gFCsL834Y99UbzbWrVl06il9wwpA,23697 -django/conf/locale/id/LC_MESSAGES/django.po,sha256=i4RgdcAWsxMrZ90uf4d8Vx_2zhJTLoGe8azy3qpdsbw,26511 -django/conf/locale/io/LC_MESSAGES/django.mo,sha256=1PUSoRgjcrjc8OHIvkjAAh0xtSkSaafGZuO6SYkx5CY,14965 -django/conf/locale/io/LC_MESSAGES/django.po,sha256=aURK_SeTtqM8ko_kI_AM5jWyqKAb1iuqNvOKQ1GQ0SE,22892 -django/conf/locale/is/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/is/formats.py,sha256=-OxThHQAWwCVrfVLDAkstCQUfaAHpbJhRPQlqZO_wGo,686 -django/conf/locale/is/LC_MESSAGES/django.mo,sha256=AvZcNA6n03-Rmw-EfkKGyhoOVvL3gankv6ejIp36-x8,24147 -django/conf/locale/is/LC_MESSAGES/django.po,sha256=kCl05ojMd_bNrU8pY-c-MynWqwvAX1EGjaHZ3_KXtlg,27444 -django/conf/locale/it/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/it/formats.py,sha256=coYr_ErN7oALN5ciqpRQcnb-xr3DFxjFpUSvaaoRhS8,2012 -django/conf/locale/it/LC_MESSAGES/django.mo,sha256=bxZBTLEDM9eaLX0rWzkFZNxpjbj14JH5ffm-SpYBPnA,26205 -django/conf/locale/it/LC_MESSAGES/django.po,sha256=9tNPsF-8oMThT1PHqUWloj6jVtXoDlCdQqsQnKHpGjc,28559 -django/conf/locale/ja/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ja/formats.py,sha256=O84swETmvV3yxAifRl5iTADyg-ivY5rcXvtQz2B4rrI,727 -django/conf/locale/ja/LC_MESSAGES/django.mo,sha256=75ugNx1DM89An10tR1tDqFZ8YvTojekPRs_HjKUnuus,28164 -django/conf/locale/ja/LC_MESSAGES/django.po,sha256=gAKbzPUxu2LaYCfy0BA-KgcBUzCbVG1Hr3g0cPilVeI,30184 -django/conf/locale/ka/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ka/formats.py,sha256=dxWVYJ3XpryXgl8Kzp1he0AbIMNtvJStaGmmdFJim-E,2113 -django/conf/locale/ka/LC_MESSAGES/django.mo,sha256=Vj2D4EU6RlcW3eQWucpRc99TSrT0xWMYFgPLGVbVRLM,24566 -django/conf/locale/ka/LC_MESSAGES/django.po,sha256=GcUnKM13CyKi8cgO_AhLaOt3ydZo54UC6U4pThjIMWg,30933 -django/conf/locale/kab/LC_MESSAGES/django.mo,sha256=Y1q3K0U7gFl_0wxVd9BnpaUK8NjBajk_T8lFgyDC_ks,7200 -django/conf/locale/kab/LC_MESSAGES/django.po,sha256=iyxoGXMzvIyj3FedGLNrDDQqv4qRunq_2BZ8_FCOcoY,19730 -django/conf/locale/kk/LC_MESSAGES/django.mo,sha256=qfkw2mX6miyS4HSrpgmIKbwMbqYPKht5RPpS5rDPJWM,13954 -django/conf/locale/kk/LC_MESSAGES/django.po,sha256=8BBGZTtUavPWyQvDf5QcF6zDA3t0O6UdjcNf0uH_TX4,23661 -django/conf/locale/km/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/km/formats.py,sha256=vNqsdfFBQTY5yKjEvCXlZWurKM1WmBH0FbFnpIVQIPY,748 -django/conf/locale/km/LC_MESSAGES/django.mo,sha256=IkYee7gjLxKUUaJ1xrWlm-mGFy-1Q5YQTfOcKaqsdG8,7284 -django/conf/locale/km/LC_MESSAGES/django.po,sha256=BUyjSCQne8sySq1dLsqmKCzCJMja562ocRYcNiZOKPk,21508 -django/conf/locale/kn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/kn/formats.py,sha256=LwKQw1gobRYRnusHe3ZI2pbCtA1N1GfkCK03LcKFpcg,678 -django/conf/locale/kn/LC_MESSAGES/django.mo,sha256=Q0Wq7NKSYt5JqDWuV3gi4EPtqe-p3S9dJxJu8qn8NmE,18655 -django/conf/locale/kn/LC_MESSAGES/django.po,sha256=unXArg6NUEnyrEP8TYdeVK8CBtFzPJkianlfPgmzUzE,28177 -django/conf/locale/ko/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ko/formats.py,sha256=5-5Ht40mgk0covYgNoqZNi0yX1ldjC5VIGsZLb6CF9E,2253 -django/conf/locale/ko/LC_MESSAGES/django.mo,sha256=yhYOQLfUmkFTz9ZEwOUY_EeH2fT9_HaNdK3hI1J9BbY,26594 -django/conf/locale/ko/LC_MESSAGES/django.po,sha256=vJTX4e9Didb1PXWT5Rd7Ul8D2lYSTZZepw__qxXGunU,28873 -django/conf/locale/lb/LC_MESSAGES/django.mo,sha256=3JKBA-zIROxVEJFv8eoUKrVoRFjbY9bBk16jQF7Wp3s,8069 -django/conf/locale/lb/LC_MESSAGES/django.po,sha256=v1_uBQpRI8fT88whqpah66AmaJG_uIX65_sRZEN2LPg,20131 -django/conf/locale/lt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/lt/formats.py,sha256=ZLmKWFgKwrHeDeTO6fPyRLjgxkU3QCK3f0LxnYhLvqg,1763 -django/conf/locale/lt/LC_MESSAGES/django.mo,sha256=vh0vsbuEwlfh4QSa64_ufOGZyjkb3VuPRhhTNKz8lQE,27392 -django/conf/locale/lt/LC_MESSAGES/django.po,sha256=D_3yf43LDN_Xd_tF66iJjNF1qW9FPFp8f9KGn0VQJ_8,29731 -django/conf/locale/lv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/lv/formats.py,sha256=Q42-XZ5aWtfoKhKuf07148Ir6-UrjaWNNeA8erBtlCE,1839 -django/conf/locale/lv/LC_MESSAGES/django.mo,sha256=79KKe_LrjEN8JS1upbgSp6N5852PdGkdJy6mhhOSKII,27033 -django/conf/locale/lv/LC_MESSAGES/django.po,sha256=aCdYvg739kJRlh0FE5jJGDaLCrQ_tsgLzWgVn0dPMMM,29210 -django/conf/locale/mk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/mk/formats.py,sha256=DJVFqbqW7dq6GPzh_MSRQvQAicBtVUwRHX8RSLgqpFg,1675 -django/conf/locale/mk/LC_MESSAGES/django.mo,sha256=GqcYWwCPmQZeBa9sxroK0LQYqlpwE9CPc088bpmv2Kg,29431 -django/conf/locale/mk/LC_MESSAGES/django.po,sha256=VZT-VhVOlcQaJKau3giyN24XA4GG1aLR6U9e-dDmJWQ,32812 -django/conf/locale/ml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ml/formats.py,sha256=HImytl2xU0ui_bdhmp6GZWLqfHIRf_1iidtajlfgh7g,1748 -django/conf/locale/ml/LC_MESSAGES/django.mo,sha256=UcQSpkAl4anGotopGvF5ddOhz0JlnR4SL-yDIiJAY_U,26733 -django/conf/locale/ml/LC_MESSAGES/django.po,sha256=aQeFRGiFB7vke7NuGuO7rZ2GuL94rZ_tqpfY-_U38a8,33211 -django/conf/locale/mn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/mn/formats.py,sha256=EbTyiGTOXJdZxUwleItvk_CwK5MMl9R0pGniEUL-7HY,674 -django/conf/locale/mn/LC_MESSAGES/django.mo,sha256=alhmXO_Eqc8PFKh3lN1FW7VR5iiGShbRK76yQOqbzr0,28042 -django/conf/locale/mn/LC_MESSAGES/django.po,sha256=-XgvjCXIeFr9Rm9EdwyBJkMCWgzwcmshjTdUDZr0xao,31351 -django/conf/locale/mr/LC_MESSAGES/django.mo,sha256=Jy_VbHVKhgNj9MSmdLv3ouVYXYjJ_JFTn8_zmYoYcyg,1652 -django/conf/locale/mr/LC_MESSAGES/django.po,sha256=yyPm1I1uqXG8VkS6yTrwECvi6p07RRep5h9iXx_v7eQ,18910 -django/conf/locale/my/LC_MESSAGES/django.mo,sha256=5pYLrTOipARNLlpG5dp0VZYJUQNqdt0vK2blo1x6keg,2650 -django/conf/locale/my/LC_MESSAGES/django.po,sha256=IVACCaTwYgAANqlcrthvSLFK9zvlOLhJTFRWCRBm11U,19193 -django/conf/locale/nb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/nb/formats.py,sha256=y7XWPhuOv7QkDBvx4qkwehmqRpqwLzn75FWn-25mvcc,1699 -django/conf/locale/nb/LC_MESSAGES/django.mo,sha256=49Oyc61QoCTz-VU5mH5ifESqWtLI39edLfvh_9nlFyU,25567 -django/conf/locale/nb/LC_MESSAGES/django.po,sha256=Fx88KqyJjJOdDlv0zEvj8bhDN9OQScnQfpOVl4QK5UE,27704 -django/conf/locale/ne/LC_MESSAGES/django.mo,sha256=goDEutWg6y8KqC20fqxg2qpTAYRYx5CPSNLw25IsVA0,27921 -django/conf/locale/ne/LC_MESSAGES/django.po,sha256=GeDsYbeil3nlhB1G1JTfSPch502XZHGS2JZjtxDAuzs,32888 -django/conf/locale/nl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/nl/formats.py,sha256=zpsypiDhFuZzGidyQYWPoeMwrL4cEsGqdZGTu4BdaAs,4405 -django/conf/locale/nl/LC_MESSAGES/django.mo,sha256=GjOycm_b8DrWGSq-_OWTMoRuhxOcW_PnxdmOc7k17oY,23480 -django/conf/locale/nl/LC_MESSAGES/django.po,sha256=n7_lU4fXpjbKmt5_0JN33FW2IXjQyWL0Ybwl2E-FzPM,27252 -django/conf/locale/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/nn/formats.py,sha256=TUcKUtEJ_kmvbW_vgHU64jsFkyPYBorssU_HEUK8hrw,1743 -django/conf/locale/nn/LC_MESSAGES/django.mo,sha256=yfZvfqfpLCx3lV_LMd3Rw0Y4TTUvJQznZGwmf46nhnY,14256 -django/conf/locale/nn/LC_MESSAGES/django.po,sha256=JguzOlZ92jdHfp1eV3U5zKyxTaphpSjGSxXAIxSEspA,22522 -django/conf/locale/os/LC_MESSAGES/django.mo,sha256=GouuR0wncfpOVJurgDeTkrdKvzaH1iZxr-4IsXVEd6Q,19250 -django/conf/locale/os/LC_MESSAGES/django.po,sha256=DFnTZKUg_hGp2Pu8lJ0_vfZONAUl8JpK8UOhQtWFWR8,26392 -django/conf/locale/pa/LC_MESSAGES/django.mo,sha256=MZHSQcl584TTogQpYXzE1o_AqfZlwpvkb1CeXksVseI,11501 -django/conf/locale/pa/LC_MESSAGES/django.po,sha256=-mzScJHrkxIMp4tbbd8NA1EG6V2_pail2PYhaJ8FWxU,22591 -django/conf/locale/pl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/pl/formats.py,sha256=l_l0TfQ4pXGC3HmhhzKyYagS6i9CJTaOcUZvT4zU4PY,1080 -django/conf/locale/pl/LC_MESSAGES/django.mo,sha256=zBDy55ZDVr8J1T-juKv4jsCCO5BvK1I57YzbBuQA_qY,28447 -django/conf/locale/pl/LC_MESSAGES/django.po,sha256=Ipa60phKqYDjypo_M1PKUhiGi9E4kbyPn6cc4hpRcE0,31667 -django/conf/locale/pt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/pt/formats.py,sha256=VULz9oqB_gAJKfl6vsblpUzHwX3bYJXC4STqRcObJLg,1650 -django/conf/locale/pt/LC_MESSAGES/django.mo,sha256=sn4p2gmHihkh2p30YOdcmuQbYomVgD8igFWR-ptN-78,26222 -django/conf/locale/pt/LC_MESSAGES/django.po,sha256=9n3qfFngx6h2a69O91et9c97peQL6DeV7QhGT5J7mrY,28362 -django/conf/locale/pt_BR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/pt_BR/formats.py,sha256=qRqGFjJ1lXCpRxj-UZ8Rxe4BKPe66ZN2ZZ6KblVTBig,1367 -django/conf/locale/pt_BR/LC_MESSAGES/django.mo,sha256=l-gLW0mKPtwMhWEFdF5SU6_OfdBsmjHXpspCn1X0ewg,25639 -django/conf/locale/pt_BR/LC_MESSAGES/django.po,sha256=YcLVLWR9juH0uRXsSqGCzUZm_RqQ7A31juOwQL_Cu0w,28689 -django/conf/locale/ro/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ro/formats.py,sha256=3Ej_afExYIcmvjTEOtSxjVSZHU9DWaaS0Wiudra4Ocs,706 -django/conf/locale/ro/LC_MESSAGES/django.mo,sha256=s5dQy0ku0G5agJ9zZxldGkLou6BKL65j4h7NaXHHIS4,24423 -django/conf/locale/ro/LC_MESSAGES/django.po,sha256=7k9VFSOwqnpenN8h78diHkGHvFhnP2uPqiZJrxEtmeY,28111 -django/conf/locale/ru/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ru/formats.py,sha256=xH12699iN_1SB_SeBILcMZNTS51PqVzZmNfoTO_9K5A,1200 -django/conf/locale/ru/LC_MESSAGES/django.mo,sha256=Qim_pvrCtbMmAn0rskvOmQDpxSbOoJ3EdYstonJCIF0,36378 -django/conf/locale/ru/LC_MESSAGES/django.po,sha256=RWFXm64RZIelVHsHvcBwNQ0l4Dxz4kOEgk9M6wzSRVs,39215 -django/conf/locale/sk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sk/formats.py,sha256=ptsIRV-fDQlK4vPtzjwjbdY8mbcnPYYvjZaUOkK2C98,1106 -django/conf/locale/sk/LC_MESSAGES/django.mo,sha256=NNB1m2vlnW2A3eyMWxBy-QZn2HXLbha-N3zbsYtWbqM,26984 -django/conf/locale/sk/LC_MESSAGES/django.po,sha256=CPBvqkeL69Xh-tvGVoZuFJXgC6Hey6o1Sigp9Dcdl6U,29108 -django/conf/locale/sl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sl/formats.py,sha256=HZs6dDurYXA8v1nX9vq5Q4q1wV11t9lanI-7xDAGWcw,2051 -django/conf/locale/sl/LC_MESSAGES/django.mo,sha256=XZqEBvorAV1sX6f5bN98wkhn2flP-Bz4vJ7NdF1K61w,27117 -django/conf/locale/sl/LC_MESSAGES/django.po,sha256=CtrUJcbJrSin_NuwYV2cAzyP3D756a9ZcEVL0IgiVzM,29800 -django/conf/locale/sq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sq/formats.py,sha256=z_d_y6d46eL14p3WPaFxzB2zfF_YJNF1V4SF612VFJE,686 -django/conf/locale/sq/LC_MESSAGES/django.mo,sha256=QqpQtbQQISl4isaXmsVkMJW2qa75i6fztcsxY4l8np4,26370 -django/conf/locale/sq/LC_MESSAGES/django.po,sha256=fcud0pDHA_9X0EC6dtVpggH5zxs9RKlCD0tQZAINOgA,28477 -django/conf/locale/sr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sr/formats.py,sha256=hfwSNM9kkDAtDPkSas2QWX1qHIt7GsBgmQ80TUvBTsM,1944 -django/conf/locale/sr/LC_MESSAGES/django.mo,sha256=1eWU2_oPwrnZ0gAgfapAsYVhI14xc2f8GrsZ7l_cvRc,32008 -django/conf/locale/sr/LC_MESSAGES/django.po,sha256=BZjS3ARe8XKNkcgh-jrRuJx7rJrhYF97-l6-ATf2eiU,34276 -django/conf/locale/sr_Latn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sr_Latn/formats.py,sha256=hfwSNM9kkDAtDPkSas2QWX1qHIt7GsBgmQ80TUvBTsM,1944 -django/conf/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=ZPxsx5ss8kBzJ3uJi3kht-_y2a2nsELUZ3Q3W4__14c,13331 -django/conf/locale/sr_Latn/LC_MESSAGES/django.po,sha256=WsytYWCapT0sgjh_-JVnHRP90Ji0s0gLjHeyzdKuljw,22535 -django/conf/locale/sv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sv/formats.py,sha256=FkRAuHHGvheCTO5U-G5DZ8vqCF2pQ6AZ2cpKkFM8fMM,1502 -django/conf/locale/sv/LC_MESSAGES/django.mo,sha256=hPkakE_AE1GVMnSagAL1XXHWYn-PgG3-NSBfX2rDwDw,22952 -django/conf/locale/sv/LC_MESSAGES/django.po,sha256=KFSWF32m7oMpu8DfD3SJGlfIpabM3xmCUGuC4I1zHbk,26841 -django/conf/locale/sw/LC_MESSAGES/django.mo,sha256=ZHWikD3fPZeBsrQ7qg9iHfzEt5DoQU1rBXvMd5Wzdtk,14903 -django/conf/locale/sw/LC_MESSAGES/django.po,sha256=9BcGhrZMf5gJzw02YCt4QyUdQYVphHUb13oHKy9eTEU,22800 -django/conf/locale/ta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ta/formats.py,sha256=gyLOpk7u1e7LNBoQDHLs4kIw04y7vmGoG9v1aq7NjmE,680 -django/conf/locale/ta/LC_MESSAGES/django.mo,sha256=UsBQWhTd5y0OBsH7Zr8cVX7NV7P6waHpc_0RcpWQPH0,7155 -django/conf/locale/ta/LC_MESSAGES/django.po,sha256=EG-DZKUybRWuFEQ8jHIf171sdnZzpjnbaDXJQuffRVo,21547 -django/conf/locale/te/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/te/formats.py,sha256=a133NPw7ry2WYGs7b3X7PGBC-GHUtN2S5zcjLp9CTJw,678 -django/conf/locale/te/LC_MESSAGES/django.mo,sha256=h0T8JGVo0EzGXSbwDVWulpVs0PLJM0gfro_QTk5SHEY,13321 -django/conf/locale/te/LC_MESSAGES/django.po,sha256=G0x90aGtPjtouO99ZQMN9Nf-YW83d_qxMSc-7CrwhX4,24597 -django/conf/locale/th/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/th/formats.py,sha256=ykqZkZXnqRp0aROoD2fBC3InCIHComUNELfIRL1RBAA,1070 -django/conf/locale/th/LC_MESSAGES/django.mo,sha256=6EW5yaTtSlrZts7qo4LL5rgx1qQcSx7h2v6R-YzA0sw,19036 -django/conf/locale/th/LC_MESSAGES/django.po,sha256=37RzmfwXH2sn5LxHSCjDCS4ICdZtDJ7Oe1yJ2FwtXeI,27292 -django/conf/locale/tr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/tr/formats.py,sha256=Z6ZDt8-hgzX_NZbvc_npFYSGw6C_j7OKcV4ZQHBUyuc,1074 -django/conf/locale/tr/LC_MESSAGES/django.mo,sha256=phj8jyZwfik0vifndLSCQpPoeUxchEmIt2Uz5nK4bKU,26680 -django/conf/locale/tr/LC_MESSAGES/django.po,sha256=ZZQdmqGVOC5y2uZV_ZslYOZYDbQK50cAA2KZx-rEKxw,28903 -django/conf/locale/tt/LC_MESSAGES/django.mo,sha256=2YqPqclnPPiORixIWcuw2Ne-w_LzYjLsV3o1Ye1AQwo,15352 -django/conf/locale/tt/LC_MESSAGES/django.po,sha256=o4_JxmlTXHAEoSx6vHxiKiZP1va_aRT5kFxIjXZcjSI,24745 -django/conf/locale/udm/LC_MESSAGES/django.mo,sha256=eeu0nDatoybuYCF6z3hXG4XA1rs6FgX2x9d8r8cYc4Q,13564 -django/conf/locale/udm/LC_MESSAGES/django.po,sha256=61Shy8V_t2ChpP-ZehJ82iauo12bKnuVnNRkWg1844k,22914 -django/conf/locale/uk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/uk/formats.py,sha256=FJHWiQfZjPDWyfTWwQXAKBjp1XCtFvYb-obqalBPFTA,1359 -django/conf/locale/uk/LC_MESSAGES/django.mo,sha256=H5AFM_sw3QYK6XdcwyPOYwhL6VFRo4WnlCHmP6lDlyU,31645 -django/conf/locale/uk/LC_MESSAGES/django.po,sha256=LT92TVaJ8nR9lxyHtXfcZHZihoWh45uypZnhuSMlsU8,35111 -django/conf/locale/ur/LC_MESSAGES/django.mo,sha256=TdYByXk7rMGxKyhaBpPX2tH8SaNJpRZKMYdiXDTGiOg,12566 -django/conf/locale/ur/LC_MESSAGES/django.po,sha256=HE5mzhoMdTYdTih4smcZV4N7BMjwiC7jE9urU1D1c8A,23108 -django/conf/locale/vi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/vi/formats.py,sha256=8KCSVtk3N4Wsrlx6hGDj8PbVV6sYshglfyLtpCbFrxQ,760 -django/conf/locale/vi/LC_MESSAGES/django.mo,sha256=MDt-w99IwQWBwpqjtPagMXe6UlMGacU2w4PFw1vxYNw,19452 -django/conf/locale/vi/LC_MESSAGES/django.po,sha256=BJ50rmwgIa1K52YOcQ9AidcKx1h_Edw5rS-TDylAqUw,25483 -django/conf/locale/zh_Hans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/zh_Hans/formats.py,sha256=I8nkL38iWW2p8eRlPy3mK85btInMIK9mxILxmBjm8ic,1743 -django/conf/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=kMTs432GsXu7-0jFPUjugLHl2pg7or0URuKgN-K4bmA,22528 -django/conf/locale/zh_Hans/LC_MESSAGES/django.po,sha256=xGCO2-YAtsRpiOamZ62SwzMpwYOClcXijNUA9ppqR7Y,25991 -django/conf/locale/zh_Hant/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/zh_Hant/formats.py,sha256=I8nkL38iWW2p8eRlPy3mK85btInMIK9mxILxmBjm8ic,1743 -django/conf/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=SUuSJPPbvgREC74P17DcFrbJBNHob7WR9c-j95TxnJo,22354 -django/conf/locale/zh_Hant/LC_MESSAGES/django.po,sha256=u7LiD_jsKJdv1KoTD1rTyJhasKaIkODIF8dkdM1gvrw,25554 -django/conf/project_template/manage.py-tpl,sha256=L9sKzlpvlJtysHenCAVoERXvXFvUn_FtfNApKHC4PQM,550 -django/conf/project_template/project_name/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/project_template/project_name/settings.py-tpl,sha256=4JwYHW6nbDUufEkQOQjOY08slnLMETQAJ9dqr4PjsmU,3210 -django/conf/project_template/project_name/urls.py-tpl,sha256=vrokVPIRgYajr3Osw2_D1gCndrJ-waGU3tkpnzhWync,775 -django/conf/project_template/project_name/wsgi.py-tpl,sha256=YlvOJDVlRT5GdECwWEpeK8i6gRsliG3sLQog8cYPsC8,428 -django/conf/urls/__init__.py,sha256=Lp9Zc17tRy3bVwULxq1_8qBloXbgmqiQiIzzbqkqDSk,402 -django/conf/urls/i18n.py,sha256=TG_09WedGtcOhijJtDxxcQkcOU15Dikq0NkLGVvwvCI,1184 -django/conf/urls/static.py,sha256=3Hr170gzVpmIOsHUQOpgG16LE6nG_U5L8kSoSiNKeFQ,844 -django/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/__init__.py,sha256=K5IZ6J5ujshspna6ubTvpFfTBjU7p8EhsbvW6G7fMwY,1243 -django/contrib/admin/actions.py,sha256=MFwZgt4qFQvwrm_AP2FIg3cGxuIlEfpYVE4T9x2tbL0,3207 -django/contrib/admin/apps.py,sha256=IKXRyRFIiWUmwm0-wigmpAE-iEHH_XqNl6FRSmEZfXQ,708 -django/contrib/admin/checks.py,sha256=YQgseIL_rhM8HF6QjKyJY1j1peMXHVybePHTR82aA1I,41793 -django/contrib/admin/decorators.py,sha256=jQS6FQ2PxaqGYTYNa4jdx-qSVPV9Uf5bRhbC9PF0BMM,969 -django/contrib/admin/exceptions.py,sha256=lWAupa8HTBROgZbDeYS1n_vOl_85dcmPhDwz0-Ke1ug,331 -django/contrib/admin/filters.py,sha256=3iKFsSTchtIsz4Zo9vtcs-voWwxTG1YjRo_Pc2nk4BQ,17821 -django/contrib/admin/forms.py,sha256=Ft6mb1iOIb3zXBRakRipI6TB_7d6D_mSrGQ9olj7k2k,934 -django/contrib/admin/helpers.py,sha256=ORpSrYvcLw8MOAfN_Q3rE0dcP3k6R8Op6XSbLVuOONc,14309 -django/contrib/admin/models.py,sha256=ALiXbQuBrWgN8ZKFFNK0JWV9YGLzmzuFh6GUhoIQSIw,5454 -django/contrib/admin/options.py,sha256=WWINyw6GU-YJVMc0zD1kko06D-gsl9j2uru6G_dvKQQ,83849 -django/contrib/admin/sites.py,sha256=SD4gdJ3Qa5OfJ0xC1VtykAbID40DokIduHbD7-_7kmk,20011 -django/contrib/admin/tests.py,sha256=Y7_BrWS4T7vMc7lW5ba5I4uBlEC5OgAaslLb_90NYNM,7307 -django/contrib/admin/utils.py,sha256=-ljhmigMpLkEJ-qFXND5Eemw3e4u6Ad0TvIKmuMdsQo,18493 -django/contrib/admin/widgets.py,sha256=ryoY02Z626J_I7LANRcJl3LJ2q75LmozZWK3CGeBjGY,17633 -django/contrib/admin/locale/af/LC_MESSAGES/django.mo,sha256=sbS-86l1kVvdcIV7n0xHqcy6iL14Ktnym0CifEkrEd4,9372 -django/contrib/admin/locale/af/LC_MESSAGES/django.po,sha256=vNkvN5lbhg5iRk42-5rlR0zqQpsraIXXsc7Ke9kO0z0,14280 -django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo,sha256=GDKkp7mc4LaMwT_Eli1rPLCwo75R4htvXfyCLWRvJdw,1158 -django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po,sha256=VM1QB16Nr0Ng2Wyp4o6ZlgthbWma7moHerugSzA4SnA,3590 -django/contrib/admin/locale/am/LC_MESSAGES/django.mo,sha256=UOwMxYH1r5AEBpu-P9zxHazk3kwI4CtsPosGIYtl6Hs,8309 -django/contrib/admin/locale/am/LC_MESSAGES/django.po,sha256=NmsIZoBEQwyBIqbKjkwCJ2_iMHnMKB87atoT0iuNXrw,14651 -django/contrib/admin/locale/ar/LC_MESSAGES/django.mo,sha256=7E9CSjJJz57SEjyHsobheQ8LmEqqKFVvZKpMIoUbKYE,17849 -django/contrib/admin/locale/ar/LC_MESSAGES/django.po,sha256=F7dXAV4kbHcMYEXfC35sOCTvZvF5qKUcEbWkALp1X4c,19814 -django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo,sha256=gLwHSlr1xGvsbFO1S8mnqM-NVzCUQ75n-X1NCBeANe8,4959 -django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po,sha256=1lgw43gz9MCvcujDQ4eGUvo8Qn5DE2fGvSC_qOs5bEs,6200 -django/contrib/admin/locale/ast/LC_MESSAGES/django.mo,sha256=3uffu2zPbQ1rExUsG_ambggq854Vy8HbullkCYdazA4,2476 -django/contrib/admin/locale/ast/LC_MESSAGES/django.po,sha256=wCWFh9viYUhTGOX0mW3fpN2z0kdE6b7IaA-A5zzb3Yo,11676 -django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo,sha256=kiG-lzQidkXER5s_6POO1G91mcAv9VAkAXI25jdYBLE,2137 -django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po,sha256=s4s6aHocTlzGcFi0p7cFGTi3K8AgoPvFCv7-Hji6At0,4085 -django/contrib/admin/locale/az/LC_MESSAGES/django.mo,sha256=LOjKRPic0sZ08s6zz3X437dx2daSubEQjoInd1kqzwo,16510 -django/contrib/admin/locale/az/LC_MESSAGES/django.po,sha256=brvf3-52qjX9CYAi247YxqcTv8w-QFzUPbUPtCFoT8g,17812 -django/contrib/admin/locale/az/LC_MESSAGES/djangojs.mo,sha256=lwMWU4eHd5TLqpkeebGktXq1cSsqzE-siTD_IcA3bZk,4621 -django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po,sha256=72nOuDSiU2fb_RgmJ_sNpVpTBSFX1oVydPm-QqD8AX0,5102 -django/contrib/admin/locale/be/LC_MESSAGES/django.mo,sha256=5CbgzJ_iVyPTxTpToPEhgVSSfh-EhyjsCK75ecbQtrE,20007 -django/contrib/admin/locale/be/LC_MESSAGES/django.po,sha256=kRmThfssQtP_dr4JX2U2o-9qwwicZiM7i9QT9eSjrx0,21277 -django/contrib/admin/locale/be/LC_MESSAGES/djangojs.mo,sha256=kDqYyYbnP_oh-pw8kOJGGcFtx-MxI-UARlB5f53ow2w,5942 -django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po,sha256=GsjZtvw8_OQNTrNgyUgGfSZvAC1pg2sse8oILC3J6bs,6451 -django/contrib/admin/locale/bg/LC_MESSAGES/django.mo,sha256=iJzYciumvR_r42WmC3yjTdiWrQmS94p_x0gTWvV9lOc,20070 -django/contrib/admin/locale/bg/LC_MESSAGES/django.po,sha256=9ouezfohVViX6NFG57IFXTzcuMSvAafd6NKncMFJBds,21493 -django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.mo,sha256=TGNzP1smzgZmo5-s4VKD1E-nWTMtCSjp_hco1a0j4BQ,5565 -django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po,sha256=5uiQqnTyz0R-1vJTHqY0opwnQhMfgPoB-PxOkGpxNwk,6016 -django/contrib/admin/locale/bn/LC_MESSAGES/django.mo,sha256=fKmzDwzLp0Qlv4bvWscf0evanPRAXwR04B6IeJ7wGSw,15247 -django/contrib/admin/locale/bn/LC_MESSAGES/django.po,sha256=-go1WtUozfqbnKlUQr-jNnvEXf98eIZjq-C8KjRJ6NA,19812 -django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.mo,sha256=t_OiMyPMsR2IdH65qfD9qvQfpWbwFueNuY72XSed2Io,2313 -django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po,sha256=iFwEJi4k3ULklCq9eQNUhKVblivQPJIoC_6lbyEkotY,4576 -django/contrib/admin/locale/br/LC_MESSAGES/django.mo,sha256=y2EAyyZjxtXQg7R5xONVix9311e3HK77vYTldQOT-jA,4253 -django/contrib/admin/locale/br/LC_MESSAGES/django.po,sha256=iOq3m2j2dErBRmyMocQm31vI__5a56CoZNYa7Gn3n7w,12167 -django/contrib/admin/locale/br/LC_MESSAGES/djangojs.mo,sha256=R87byb_aioGPaUZX_0gtH7ZQ6sSKcu3YYTVepbExSzs,1366 -django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po,sha256=DfrcykHREmLpVQ9qLZEqIdAO9skkMaqbX5FnAqOo0AY,3687 -django/contrib/admin/locale/bs/LC_MESSAGES/django.mo,sha256=44D550fxiO59Pczu5HZ6gvWEClsfmMuaxQWbA4lCW2M,8845 -django/contrib/admin/locale/bs/LC_MESSAGES/django.po,sha256=FrieR1JB4ssdWwYitJVpZO-odzPBKrW4ZsGK9LA595I,14317 -django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.mo,sha256=SupUK-RLDcqJkpLEsOVjgZOWBRKQMALZLRXGEnA623M,1183 -django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po,sha256=TOtcfw-Spn5Y8Yugv2OlPoaZ5DRwJjRIl-YKiyU092U,3831 -django/contrib/admin/locale/ca/LC_MESSAGES/django.mo,sha256=gQ-g3OzRpyqae7U8BLAPQvczbYFe4Goutvbz_N1e838,16585 -django/contrib/admin/locale/ca/LC_MESSAGES/django.po,sha256=txJB9CZNOXBvLMZteXPodWku5aiDu0hyW4F2u_XHOng,17942 -django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo,sha256=jQuQQAoB-_hggWhGXDFhk71xu70rKF0GqHN-DjR9o-c,4560 -django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po,sha256=Mfn1tgpuhe05MBQShhMoJDZ7L5Nn2p1jFy_jYIt0H0g,5098 -django/contrib/admin/locale/cs/LC_MESSAGES/django.mo,sha256=BEM-fRNY0w99W0GE7X9G09dySM3Qgzf9CwA2ufKrkSE,16572 -django/contrib/admin/locale/cs/LC_MESSAGES/django.po,sha256=uVKGJgKc23jUIQ4_vIlhy6d0ZwsnlwNnPx5bgaSpaYM,18026 -django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo,sha256=BvxuAQ-ndFx2opXSg8FUhBLfOs1DBAdL5rweypbNuUU,4819 -django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po,sha256=YOnd2RyXmM8-K2OgVVubcXuy-St7FesLrRUb7mXVEdI,5393 -django/contrib/admin/locale/cy/LC_MESSAGES/django.mo,sha256=7ifUyqraN1n0hbyTVb_UjRIG1jdn1HcwehugHBiQvHs,12521 -django/contrib/admin/locale/cy/LC_MESSAGES/django.po,sha256=bS_gUoKklZwd3Vs0YlRTt24-k5ure5ObTu-b5nB5qCA,15918 -django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo,sha256=fOCA1fXEmJw_QaXEISLkuBhaMnEmP1ssP9lhqdCCC3c,3801 -django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po,sha256=OVcS-3tlMJS_T58qnZbWLGczHwFyAjbuWr35YwuxAVM,5082 -django/contrib/admin/locale/da/LC_MESSAGES/django.mo,sha256=_u56MXv-Dh5k-0QHZImE3Ds3VTky6sVa1iDD3_omR5U,15961 -django/contrib/admin/locale/da/LC_MESSAGES/django.po,sha256=U7PqDwHI5VaX7wiHdKvmGQTwKzGuYry-UeQSk55DQCk,17343 -django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo,sha256=_2EDOsYDt9p-b5L-SAPRXOD2CtrUbgqPrS9cYmoIbtM,4518 -django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po,sha256=zw_JfNVAMhMOgYVCl-ZNMjch4ui4mmUucLBtqbwXHBc,5120 -django/contrib/admin/locale/de/LC_MESSAGES/django.mo,sha256=hyMoYk3p3PM18E6CzbhwRuUpnVU4vjwjnsrHT9P0R2o,16793 -django/contrib/admin/locale/de/LC_MESSAGES/django.po,sha256=4sDSiyev5dDjId1T2IuUvXle7YeETy5FINeMiczEVhI,18192 -django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo,sha256=_aUsqSeIo9dHAiy6daB-BLselNy7tuPUEf7kVCgEByM,4602 -django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po,sha256=ilCflt4q60Rr1D9wEPNpZQMvJO1R7udNsRgZiml3PdI,5068 -django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo,sha256=sG9r565jG5n98DOZ1zDr8fViR-j7CCcBlgxhftCPCNM,16835 -django/contrib/admin/locale/dsb/LC_MESSAGES/django.po,sha256=cMR5KtWeMqKRQOP6IYT_nr0kGfSmYIWeJJ92DiXH9Gg,18071 -django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo,sha256=Bl1Tcn0LYM6ZunclcgjvXXLAdezS3SXU-9IGZ0hvbPw,5016 -django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po,sha256=aK07LLjObo3lQfVMj6GmR4THIkKFODAQz7iZ99spzJA,5490 -django/contrib/admin/locale/el/LC_MESSAGES/django.mo,sha256=JY7lZREod67l_l1XFlAAEVdscW878SJSo7EUSR65zo8,22536 -django/contrib/admin/locale/el/LC_MESSAGES/django.po,sha256=6yqiFfL07fjR_P31kWlS1LANHzDMFPh2j2aUUXQQcdc,24100 -django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo,sha256=vfha6S1wDTxgteeprHdCY6j1SnSWDdbC67aoks7TVFw,5888 -django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po,sha256=GJQytMIHNrJeWWnpaoGud4M6aiJCtJ7csyXzmfS6GZs,6560 -django/contrib/admin/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admin/locale/en/LC_MESSAGES/django.po,sha256=bJ9vJyvU1p21jk5-aCdWdoOX8mQGev0heavhj_q3bgA,22308 -django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po,sha256=Ktbb5PuFfGQarYm7GVnzqqJulz7Bpa3fcfuqD7pXMKI,6555 -django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo,sha256=DVjhYEbArfdAQLuE0YAG99eWxa9_eNEz2o9A6X6MrEY,2894 -django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po,sha256=CO7AV-NmmmwnXyBIybSfNZLdXiavphWsd9LNZQNqDL4,11800 -django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo,sha256=LWNYXUicANYZeiNx4mb6pFpjnsaggPTxTBCbNKxPtFw,1714 -django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po,sha256=UZk0oHToRtHzlviraFzWcZlpVAOk_W2oq4NquxevQoE,3966 -django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo,sha256=F4L7ZjQkHdiMTPlhKIjbXPYenu9LWqvlntuAy6zhTj4,10744 -django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po,sha256=SbpW4kc3NmETWmfwmEzv-c46iXM1g-InxuHt7nlT26s,14840 -django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo,sha256=hW325c2HlYIIdvNE308c935_IaDu7_qeP-NlwPnklhQ,3147 -django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po,sha256=Ol5j1-BLbtSIDgbcC0o7tg_uHImcjJQmkA4-kSmZY9o,4581 -django/contrib/admin/locale/eo/LC_MESSAGES/django.mo,sha256=-w9IlfkMqlEUNhnVfSsg9TATFVTlJ4mlDwXMriUdlHE,15832 -django/contrib/admin/locale/eo/LC_MESSAGES/django.po,sha256=CODDYgsHCPnoTUaLauQDH8ahODyvTxtS98z-E824JMQ,17329 -django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo,sha256=QwYzm1KkoyCZ2YwrkXUUCOT2qnFCcyetCCa4U1Z1c_A,4452 -django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po,sha256=8czUc1ju9YopCCqr5RMIIOwmolJTSBFWZsN-FhrIcnI,5040 -django/contrib/admin/locale/es/LC_MESSAGES/django.mo,sha256=Rbe3xIQLcfJ2wqvXuNkRqxruYe2NbeiaZ8bw04nn5IE,16810 -django/contrib/admin/locale/es/LC_MESSAGES/django.po,sha256=5R2fAMPaLooJBsx35H-VyhHlOqNyQHF2fEuHKPoEaRo,18682 -django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo,sha256=44RpmIC1vT7OGz4ubSAzoiU8OysfLsnueZcIqdF6gjQ,4627 -django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po,sha256=t2Jn5RZo7e-UzqVwgBAejuBceWCidWjXvd--cWEq6rI,5302 -django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo,sha256=sWkRtdW090y-8rC8Q0kOR8AEr_Z5Y4kxcUD_Tm9RDkA,16955 -django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po,sha256=qI3MouJlakkdZgC_V7sxMiv54am09-1ublI8o5RYoFY,18242 -django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo,sha256=lqWxSD90JLBg2ei316TPHGNTgwWyzl9u0-Zy7aQ5WFI,4892 -django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po,sha256=qZJMi1DsBy2tl2MMo322wTjaO0yb0n5ALzc1tK4SZQM,5350 -django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo,sha256=0k8kSiwIawYCa-Lao0uetNPLUzd4m_me3tCAVBvgcSw,15156 -django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po,sha256=4T_syIsVY-nyvn5gEAtfN-ejPrJSUpNT2dmzufxaBsE,17782 -django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo,sha256=PLS10KgX10kxyy7MUkiyLjqhMzRgkAFGPmzugx9AGfs,3895 -django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po,sha256=Y4bkC8vkJE6kqLbN8t56dR5670B06sB2fbtVzmQygK8,5176 -django/contrib/admin/locale/es_MX/LC_MESSAGES/django.mo,sha256=lQwxsrvK8ZQaqErLj2Uc_6ot5QiczaWgFqIr9K0tzwc,14127 -django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po,sha256=b9BB_rwofNmIl98JB6jA-61AnYq-GvbITLtsOEi_NBM,16964 -django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.mo,sha256=2w3CMJFBugP8xMOmXsDU82xUm8cWGRUGZQX5XjiTCpM,3380 -django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po,sha256=OP9cBsdCf3zZAXiKBMJPvY1AHwC_WE1k2vKlzVCtUec,4761 -django/contrib/admin/locale/es_VE/LC_MESSAGES/django.mo,sha256=himCORjsM-U3QMYoURSRbVv09i0P7-cfVh26aQgGnKg,16837 -django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po,sha256=mlmaSYIHpa-Vp3f3NJfdt2RXB88CVZRoPEMfl-tccr0,18144 -django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.mo,sha256=Zy-Hj_Mr2FiMiGGrZyssN7GZJrbxRj3_yKQFZKR36Ro,4635 -django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po,sha256=RI8CIdewjL3bAivniMOl7lA9tD7caP4zEo2WK71cX7c,5151 -django/contrib/admin/locale/et/LC_MESSAGES/django.mo,sha256=vJSz-k6PQ80EKg80PqUbrGTRmmEX6x-0sS-ZkwLbC_w,15696 -django/contrib/admin/locale/et/LC_MESSAGES/django.po,sha256=6_gwIXeLN-jQcS_6zqP9Gro1LQDO-qm0tzw5tijDKgA,17175 -django/contrib/admin/locale/et/LC_MESSAGES/djangojs.mo,sha256=GOfcPo6Tge73JsPGShWCmepOAvdGgEcdrVTUI-Fxjm4,4394 -django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po,sha256=6qIvrAmlBVY6KM56LkrAl51R9sL-Hnw4u4GNgCoqbRg,4930 -django/contrib/admin/locale/eu/LC_MESSAGES/django.mo,sha256=ctSeJLgjy2FeKVwAGxerVNCfiKYImTNtDOwgnje60wA,15909 -django/contrib/admin/locale/eu/LC_MESSAGES/django.po,sha256=AAm15QBeFLRDHeG3Rrfqh5Gl1wXPEzQ4vlBa3E8cIag,17308 -django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo,sha256=bZHiuTFj8MNrO3AntBAY5iUhmCa6LSluGLYw504RKWg,4522 -django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po,sha256=eMpM70UTWIiCDigCgYVOZ9JKQ2IidYZxYcUWunvG8js,5051 -django/contrib/admin/locale/fa/LC_MESSAGES/django.mo,sha256=SDTXAM7LYcv8d5cGoSyVdU5vvRNt619p8MD3EW0eOho,19131 -django/contrib/admin/locale/fa/LC_MESSAGES/django.po,sha256=zwzLWBUq_aHJuKCfKU4KolI4pYrENet8Rj12A4och3k,20529 -django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo,sha256=nvG_i8FrtkTPLpZqCkEYSaVJFiRPYLosBhc1s-FsgnI,5068 -django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po,sha256=XVI2k0cGr-1iqrDL8-k-vbgmPQJm3DH58cw_O5cR04s,5680 -django/contrib/admin/locale/fi/LC_MESSAGES/django.mo,sha256=tkuQsXPqB0dpG_PKYvssN-rTbQ-VP3bswgrckqJ9wfM,15923 -django/contrib/admin/locale/fi/LC_MESSAGES/django.po,sha256=aaVMgWFnz5ysorFBieY-vG7dDJN0wiEeUL-3tYxot2I,17217 -django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo,sha256=ez7WTtE6OE878kSxqXniDOQY-wdURYEfxYQXBQJTVpg,4561 -django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po,sha256=rquknGvUFlWNLcrOc1wwhAPn63PZA48qBN8oWiINiQ0,5045 -django/contrib/admin/locale/fr/LC_MESSAGES/django.mo,sha256=7Fne4TDRamUndHqhY5mhqfCIk4brV1tcx_ruEPFFRWo,17504 -django/contrib/admin/locale/fr/LC_MESSAGES/django.po,sha256=TMycKKdYQQsgU3ltPm-A2uPUIYgjBl__N20SIeTdvPk,18792 -django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo,sha256=1pABUr752ITt14MXm6yqZjU7lWcQ2ZYeymqnQOZqthU,4735 -django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po,sha256=Z2rPIY8xryfJqAYan2K5Rc0NOZTKTh80BvuWJav-Atg,5228 -django/contrib/admin/locale/fy/LC_MESSAGES/django.mo,sha256=mWnHXGJUtiewo1F0bsuJCE_YBh7-Ak9gjTpwjOAv-HI,476 -django/contrib/admin/locale/fy/LC_MESSAGES/django.po,sha256=oSKEF_DInUC42Xzhw9HiTobJjE2fLNI1VE5_p6rqnCE,10499 -django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po,sha256=efBDCcu43j4SRxN8duO5Yfe7NlpcM88kUPzz-qOkC04,2864 -django/contrib/admin/locale/ga/LC_MESSAGES/django.mo,sha256=wMM857oxSd8c182lYD2WMmoth4dOJ-a1FjHj9ZinZSk,13697 -django/contrib/admin/locale/ga/LC_MESSAGES/django.po,sha256=cGFmkA6XOhXyKycmoF_KbTHAgFDjx7fbF9LWwJXH7BM,16798 -django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo,sha256=fa2MlEm3XUig1C3X26u_kZzPKcUGR-Uy5jfwG6RQIJ4,4379 -django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po,sha256=ixvu6pm3asTKvHisWdcZ6YMb3fjsKOEnHZGG5g3l-tw,5725 -django/contrib/admin/locale/gd/LC_MESSAGES/django.mo,sha256=DMWU4a5b5M1rwDXYq_ZLWUVBRAqx0WX3GtUA79-e4yI,18177 -django/contrib/admin/locale/gd/LC_MESSAGES/django.po,sha256=J0nOji3Q30AYcCNEjh6EP_J_u2Y8G53SEhlRchQNTlY,19476 -django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo,sha256=uZigxSJ1bBQhvhVMAyp7R4-JlZE14b3mu3hCcnwMjMQ,5304 -django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po,sha256=7x7qPCf9WcLBrmJ5uFbp4-9b8QsdYisoAlTVdtXmqYw,5809 -django/contrib/admin/locale/gl/LC_MESSAGES/django.mo,sha256=_9JW7LdCw2on4M1oz3Iyl_VMrhrw_0oVIQl4h_rCX6g,13246 -django/contrib/admin/locale/gl/LC_MESSAGES/django.po,sha256=xqdcVwIX5zPxq471crW0yxcOYcbZVaRwKiKx-MAGiqk,16436 -django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo,sha256=YkT7l3U9ffSGqXmu6S41Ex0r7tbK-0BKH5lS6O8PAGs,3279 -django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po,sha256=EDccOpm1mpT8mVRvu5LBsq8nao50oP1V7aKEnuRmtF8,4803 -django/contrib/admin/locale/he/LC_MESSAGES/django.mo,sha256=WNUBwLt_Utmj4vCzwh3OeXutt9toN9qXvboTfLkJ-10,17370 -django/contrib/admin/locale/he/LC_MESSAGES/django.po,sha256=XfXWu6hiL37UYyzMCBotIyLqrwaF8OEkUTRkHPbV6YM,18609 -django/contrib/admin/locale/he/LC_MESSAGES/djangojs.mo,sha256=n0yZEC29NoFalQke_EhZYRRFAzhPRdSZO4GbuzRl-X8,4775 -django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po,sha256=Qf_F0VXeqs2b3AM4c3s66VXTr4KyERDurdoINABK63s,5280 -django/contrib/admin/locale/hi/LC_MESSAGES/django.mo,sha256=EogCHT8iAURSuE34kZ0kwEIoz5VjgUQUG2eAIqDxReU,18457 -django/contrib/admin/locale/hi/LC_MESSAGES/django.po,sha256=NcTFbFyHhWOIieUpzIVL7aSDWZ8ZNmfnv5gcxhON1zc,21770 -django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.mo,sha256=yCUHDS17dQDKcAbqCg5q8ualaUgaa9qndORgM-tLCIw,4893 -django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po,sha256=U9rb5tPMICK50bRyTl40lvn-tvh6xL_6o7xIPkzfKi0,6378 -django/contrib/admin/locale/hr/LC_MESSAGES/django.mo,sha256=s9m770GwDohk1TS2u2KaMbntt5Sh-ND4KbCZdozajKY,14774 -django/contrib/admin/locale/hr/LC_MESSAGES/django.po,sha256=Wfn3w39GHvKVV32DvmdfCdaghVxsstnxaGPokFkIFnw,17040 -django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo,sha256=rhZ3Jr6ItrGzeBqJUrHGeTamc3bgJmoMjasV9s0rmtQ,3360 -django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po,sha256=otuJ1-VmP-MVS1hEeBFbatdweeasHYAVUpLmJ7eE5p0,4870 -django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo,sha256=Hqf74Da0l2w6xVBew1-j3C9L-evR0rA3wcXcyqmAZ70,16584 -django/contrib/admin/locale/hsb/LC_MESSAGES/django.po,sha256=23265vZGcTehU9hwEGY4WndjIMwVteaPyk2zxpGW16g,17796 -django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo,sha256=t0FSFpoVBOf8tzw3EmKAaML5lcJJJRPIfTucfBj0zIU,5087 -django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po,sha256=xrPdmcc1o1ZDMbTPvnNk84vsBPB7P2atlBK0e0RWyJ4,5564 -django/contrib/admin/locale/hu/LC_MESSAGES/django.mo,sha256=Zuhq5Tj-9a7_yFQGeSXNk-LSIUYeOvjBubLtOxm_-5k,16464 -django/contrib/admin/locale/hu/LC_MESSAGES/django.po,sha256=v-LWAj-ZX4YT9EMUnwPXheUbRN08_oahKigBDTtU8dI,17891 -django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo,sha256=71Dhytp7dJplmQzc9MHLTh0k-Fvy1gdeQwi9oafg1wg,4524 -django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po,sha256=bYu4XVz6wmeVfrY2PFxjeaR_RObBsAYQ-yzWxdMgmIo,5105 -django/contrib/admin/locale/ia/LC_MESSAGES/django.mo,sha256=SRKlr8RqW8FQhzMsXdA9HNqttO3hc0xf4QdQJd4Dy8c,11278 -django/contrib/admin/locale/ia/LC_MESSAGES/django.po,sha256=pBQLQsMinRNh0UzIHBy3qEW0etUWMhFALu4-h-woFyE,15337 -django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo,sha256=28MiqUf-0-p3PIaongqgPQp2F3D54MLAujPslVACAls,3177 -django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po,sha256=CauoEc8Fiowa8k6K-f9N8fQDle40qsgtXdNPDHBiudQ,4567 -django/contrib/admin/locale/id/LC_MESSAGES/django.mo,sha256=oqb4tMeB8Vz1TmHmeutmzxcFKdWSJKtN8tLVzxkDnUs,15684 -django/contrib/admin/locale/id/LC_MESSAGES/django.po,sha256=5EVJPBbM4YYV6WG9yaNb9cM-bPAhb0Fa0RXNGShYpww,17162 -django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo,sha256=_FT2WXJ4inRZDlWJe2iaU0idpJdBiE7Ecd1IcghrsH0,4407 -django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po,sha256=9FYLgVUUXqgYSndWDNilL0een9UTRIzzM3DY4or-SGM,4915 -django/contrib/admin/locale/io/LC_MESSAGES/django.mo,sha256=URiYZQZpROBedC-AkpVo0q3Tz78VfkmwN1W7j6jYpMo,12624 -django/contrib/admin/locale/io/LC_MESSAGES/django.po,sha256=y0WXY7v_9ff-ZbFasj33loG-xWlFO8ttvCB6YPyF7FQ,15562 -django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 -django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po,sha256=WLh40q6yDs-8ZG1hpz6kfMQDXuUzOZa7cqtEPDywxG4,2852 -django/contrib/admin/locale/is/LC_MESSAGES/django.mo,sha256=W-t3UPqpOhi4hWJVaISNGfppMIX47zJUkAP5vOKPezo,16223 -django/contrib/admin/locale/is/LC_MESSAGES/django.po,sha256=FH_HTXGBIkBO2tqPdIZoruNfPMDChqTlocxNF9yQubA,17530 -django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo,sha256=q2W800Di3ibCO32xisxqpO8GHwTB9bEYBfXgYXgb87k,4587 -django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po,sha256=C_hcOfRSmZtA9vTuaT9X5btk_z61SKcaDbF86yDfgks,5122 -django/contrib/admin/locale/it/LC_MESSAGES/django.mo,sha256=Px0LhGU8va1jCIcZFr-1iYkKJO3TSvAKutXD66jK4OA,16441 -django/contrib/admin/locale/it/LC_MESSAGES/django.po,sha256=EA8sEhnHNDlzO68oAvWsqnYBXbMi6A0Piv8aP8zyK0M,18020 -django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo,sha256=P2wm_9ihqu1t1T3epDhlCia-OhwYNtTcfpAbOdjpElI,4537 -django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po,sha256=-cvn4xW3LgMTeLu7Zcurz_ezUOmc4NQNkCeseZdMTyU,5171 -django/contrib/admin/locale/ja/LC_MESSAGES/django.mo,sha256=XFhPX8zpz6GeYaXDKUyw1GTWfqDHO-DyT2MWP7qoD1o,17590 -django/contrib/admin/locale/ja/LC_MESSAGES/django.po,sha256=5dCIRF_yMYy5BmLu795IoJhBYlEF_qFIZ6gcEug65ss,18895 -django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo,sha256=Eki83Z0uecO6oyRrvVdCEMmctehw62HHRaoznf4sKtg,4688 -django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po,sha256=5_AkaIMOx1h-mcr1C3m-JoSiIRx754BN6Qw-e8RFQ1E,5098 -django/contrib/admin/locale/ka/LC_MESSAGES/django.mo,sha256=WtCZkU5d5VsUCboXo7GO8mXCq3Z4Z-2zp3Sj4j1aqk4,20248 -django/contrib/admin/locale/ka/LC_MESSAGES/django.po,sha256=GQutjRKrVbWLlHYeX5FUT-sLXh3zsskQSIDbQsqpKmk,23236 -django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo,sha256=7XSBdq-DMWfyGmAHJnwNaexOevuitsNiPDifnbUU19o,5199 -django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po,sha256=PB6VJ0zYdpjF9vwvOlTowt1rl-7j4QRKfj_YhrJqSas,6407 -django/contrib/admin/locale/kab/LC_MESSAGES/django.mo,sha256=9QKEWgr8YQV17OJ14rMusgV8b79ZgOOsX4aIFMZrEto,3531 -django/contrib/admin/locale/kab/LC_MESSAGES/django.po,sha256=cSOG_HqsNE4tA5YYDd6txMFoUul8d5UKvk77ZhaqOK0,11711 -django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.mo,sha256=nqwZHJdtjHUSFDJmC0nPNyvWcAdcoRcN3f-4XPIItvs,1844 -django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po,sha256=tF3RH22p2E236Cv6lpIWQxtuPFeWOvJ-Ery3vBUv6co,3713 -django/contrib/admin/locale/kk/LC_MESSAGES/django.mo,sha256=LfA7cfm9aUcTTuVONlsbjLvWuQvcEwIw6k0awxSXxjU,12966 -django/contrib/admin/locale/kk/LC_MESSAGES/django.po,sha256=WPPFsL2v1BouI92iiSLF_KHtqr3LCUHOqz_QNNfWh3U,17442 -django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.mo,sha256=3TH-WxIbc7NPrGExH9ATKgCy13xJL-VMFtrjCLQhWF8,2380 -django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po,sha256=qiz_cxoDIyPNylWhKPF2yiHhRekfdFETSn2NbHyRKeg,4373 -django/contrib/admin/locale/km/LC_MESSAGES/django.mo,sha256=eOe9EcFPzAWrTjbGUr-m6RAz2TryC-qHKbqRP337lPY,10403 -django/contrib/admin/locale/km/LC_MESSAGES/django.po,sha256=RSxy5vY2sgC43h-9sl6eomkFvxClvH_Ka4lFiwTvc2I,17103 -django/contrib/admin/locale/km/LC_MESSAGES/djangojs.mo,sha256=Ja8PIXmw6FMREHZhhBtGrr3nRKQF_rVjgLasGPnU95w,1334 -django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po,sha256=LH4h4toEgpVBb9yjw7d9JQ8sdU0WIZD-M025JNlLXAU,3846 -django/contrib/admin/locale/kn/LC_MESSAGES/django.mo,sha256=955iPq05ru6tm_iPFVMebxwvZMtEa5_7GaFG1mPt6HU,9203 -django/contrib/admin/locale/kn/LC_MESSAGES/django.po,sha256=xMGtsVCItMTs18xdFQHELdVZKCwTNNyKfb8n1ARcFws,16053 -django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo,sha256=dHzxizjDQWiZeRfBqnVFcK1yk1-M5p1KOfQ1ya9TMVU,1872 -django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po,sha256=MqRj6ozyr1e9-qNORUTJXNahe6SL3ee3OveSm3efV4g,4214 -django/contrib/admin/locale/ko/LC_MESSAGES/django.mo,sha256=HGwZQLyvo7ZwhhapTwI04leRIA1B5_g-JR5SmRaWTo8,17006 -django/contrib/admin/locale/ko/LC_MESSAGES/django.po,sha256=cZ7N1sxBgJtL52SaB3pC-9kzEkglcVp9zi3oOmRqLME,18444 -django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo,sha256=ejjPHM0HjXBXfsyFGyxAnzj7K296EK7kgxhMhT8-9wA,4493 -django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po,sha256=R4ruBO7896mDe8ksU8iIwVjZM_6OB0dohAaek0Srkbg,5029 -django/contrib/admin/locale/lb/LC_MESSAGES/django.mo,sha256=8GGM2sYG6GQTQwQFJ7lbg7w32SvqgSzNRZIUi9dIe6M,913 -django/contrib/admin/locale/lb/LC_MESSAGES/django.po,sha256=PZ3sL-HvghnlIdrdPovNJP6wDrdDMSYp_M1ok6dodrw,11078 -django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po,sha256=fiMelo6K0_RITx8b9k26X1R86Ck2daQXm86FLJpzt20,2862 -django/contrib/admin/locale/lt/LC_MESSAGES/django.mo,sha256=bYiOprxWo54Uky70hmTIzjiSTqfWarP57-KUOWjy7eo,16410 -django/contrib/admin/locale/lt/LC_MESSAGES/django.po,sha256=sARv8FpCWC2oQskLGebVYI56v9shcPScbMHONJXyaD0,17835 -django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo,sha256=ixKwmi59zj8oVCzxFYjXVRE3_EKQFdS7fZYrtngIDtU,4934 -django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po,sha256=Zzq-hPaQUe3r7WMOWAuoTITVUkTtkDnYwShy5vogaAE,5570 -django/contrib/admin/locale/lv/LC_MESSAGES/django.mo,sha256=xD7Wvz9_Yn-PoqyhsQid1fv0IO7irGTiQ3V7w4rYuPU,16220 -django/contrib/admin/locale/lv/LC_MESSAGES/django.po,sha256=z_tyZSi-D7zSEV-keRnvlKARqgmJzp6Dl497PcKUJPo,17595 -django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo,sha256=fPfAqPJxqmFRYSPlLch8eBKfXwZ7jTPBlcs3-LXMu7k,4908 -django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po,sha256=pAwBGRKZVtF0I0XqlrO_UMo7WWd_P0WgLOunzGJQaYA,5428 -django/contrib/admin/locale/mk/LC_MESSAGES/django.mo,sha256=luKonZA7H7yeCILl4BWXsYn_BncPzYy7_sfCWq7vlI4,20661 -django/contrib/admin/locale/mk/LC_MESSAGES/django.po,sha256=LyznsrasvV6Rtq7X6NnIrdZESGo_PlhISShHrCTbDgc,22056 -django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo,sha256=ZyQQ49zqs8GiS73XBaSd5l3Rh3vOA0glMpX98GH6nhU,5633 -django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po,sha256=bWph0TVgwC-Fmlof8_4SiR21uCFm9rftp59AMZ3WIYA,6188 -django/contrib/admin/locale/ml/LC_MESSAGES/django.mo,sha256=RzG1Bu5fVUe0yagKxq5PL9HhDkuVRydQQbcAvbDqzGk,21581 -django/contrib/admin/locale/ml/LC_MESSAGES/django.po,sha256=w1xncysUEfTk6owbX6_2PMAH5emG_DMBOsshmc_64So,24562 -django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo,sha256=ALD2ba1V37Xo9mWShD9KNr7iE3F30nytEbHnP1gxz8o,6362 -django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po,sha256=Fa_b2gBa-JJkxGrJhdQ-T0QigGLeHnu8lhhmdqKiq6s,7607 -django/contrib/admin/locale/mn/LC_MESSAGES/django.mo,sha256=ew8-JvbkDihdAdNh9bC17H7BL0qw6ETwGWIg2EdXWDs,20092 -django/contrib/admin/locale/mn/LC_MESSAGES/django.po,sha256=18g6zBpC4sQ5ZbbKhsdsMdEUYr0ylV3KbCyFuoKF02c,21513 -django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo,sha256=HJcGCl8vBHrHekjm19W-ZNXQxKZ9rhyvU_xlJQYb5IE,4416 -django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po,sha256=gt7CYBxKtPypxhBPUMrkiLA88oL4_6tkKNqc_yb1Mzw,5610 -django/contrib/admin/locale/mr/LC_MESSAGES/django.mo,sha256=UAxGnGliid2PTx6SMgIuHVfbCcqVvcwC4FQUWtDuSTc,468 -django/contrib/admin/locale/mr/LC_MESSAGES/django.po,sha256=TNARpu8Pfmu9fGOLUP0bRwqqDdyFmlh9rWjFspboTyc,10491 -django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po,sha256=uGe9kH2mwrab97Ue77oggJBlrpzZNckKGRUMU1vaigs,2856 -django/contrib/admin/locale/my/LC_MESSAGES/django.mo,sha256=xvlgM0vdYxZuA7kPQR7LhrLzgmyVCHAvqaqvFhKX9wY,3677 -django/contrib/admin/locale/my/LC_MESSAGES/django.po,sha256=zdUCYcyq2-vKudkYvFcjk95YUtbMDDSKQHCysmQ-Pvc,12522 -django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo,sha256=1fS9FfWi8b9NJKm3DBKETmuffsrTX-_OHo9fkCCXzpg,3268 -django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po,sha256=-z1j108uoswi9YZfh3vSIswLXu1iUKgDXNdZNEA0yrA,5062 -django/contrib/admin/locale/nb/LC_MESSAGES/django.mo,sha256=IroGpA0_OpPSHjw8llcKD7XoPMqtLLPcYtyiUTQXG6k,15643 -django/contrib/admin/locale/nb/LC_MESSAGES/django.po,sha256=U_vdIdGmmEvivVU2Z5ZgZwvdsjM31d9zjZl6clc4bx0,17068 -django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo,sha256=VSt2qyv3IsyongCj9VUuceksd2L7X8uluPJMeGgfOIo,4375 -django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po,sha256=NJ1EcuXD8LEuLwe_FbOe1NEgAoAi-v2qljCiYrxhA9M,4915 -django/contrib/admin/locale/ne/LC_MESSAGES/django.mo,sha256=vkGnGxQFgLe9TFxEalAj-wLa0mos4ylG24clOGzRWr8,15710 -django/contrib/admin/locale/ne/LC_MESSAGES/django.po,sha256=qWDifq6NZdeyYS2uM7OFuypxeWCmBkCZBKhVEOAvd5g,19569 -django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo,sha256=mJdtpLT9k4vDbN9fk2fOeiy4q720B3pLD3OjLbAjmUI,5362 -django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po,sha256=N91RciTV1m7e8-6Ihod5U2xR9K0vrLoFnyXjn2ta098,6458 -django/contrib/admin/locale/nl/LC_MESSAGES/django.mo,sha256=8ec19xPOxXsG7ttdJ-6eGJrHAA67wnrEviCtYFA9baY,16306 -django/contrib/admin/locale/nl/LC_MESSAGES/django.po,sha256=d0A1Q8pzcJPkU-01FDcNMQqs-1jXSm4KDcV3qSny3PY,17945 -django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.mo,sha256=BYmzOwUt7vwLyHTSkbf8JTxS53E4KZLfEQQNVSxmAgw,4691 -django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po,sha256=2oLuixuq2iE_du5djJdQVw5yapVsp8pUz652XXaYN3k,5421 -django/contrib/admin/locale/nn/LC_MESSAGES/django.mo,sha256=zKIlvBLMvoqrXO90TqPJcdTEXkVweUWpz6ynsWeg8mU,10943 -django/contrib/admin/locale/nn/LC_MESSAGES/django.po,sha256=-CFana0-PPFwv1jcdyjYuLK2OYOPva-xxMjlVhvsoCw,14999 -django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.mo,sha256=A7MT59BoyOSiM7W0phx8LLKQyH4Q8AEu6jUsBjUBOoE,3120 -django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po,sha256=tCXUV4F6FhMa-K0SBw9lQ0U2KY5kcMpGzT7jzKSvceo,4578 -django/contrib/admin/locale/os/LC_MESSAGES/django.mo,sha256=c51PwfOeLU2YcVNEEPCK6kG4ZyNc79jUFLuNopmsRR8,14978 -django/contrib/admin/locale/os/LC_MESSAGES/django.po,sha256=yugDw7iziHto6s6ATNDK4yuG6FN6yJUvYKhrGxvKmcY,18188 -django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo,sha256=0gMkAyO4Zi85e9qRuMYmxm6JV98WvyRffOKbBVJ_fLQ,3806 -django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po,sha256=skiTlhgUEN8uKk7ihl2z-Rxr1ZXqu5qV4wB4q9qXVq0,5208 -django/contrib/admin/locale/pa/LC_MESSAGES/django.mo,sha256=XRkVFMMBuHA86K16qlN5X2c1DliD-hUwFIB9NIbhPXk,10171 -django/contrib/admin/locale/pa/LC_MESSAGES/django.po,sha256=XTZMIuOCZRC7aG-iRSokjDy9f126VV63S6TLX0sKrOA,16093 -django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo,sha256=lwkcLUw3N-uFwqP2p1sZzaMVeXUGIMPDO-IPoYnalGo,1207 -django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po,sha256=7BYA76FmHAJVe_GRt2fIYei57Sk3B7G_qHy-lrCUxgs,3717 -django/contrib/admin/locale/pl/LC_MESSAGES/django.mo,sha256=dntS1vfCNnlxUdEvjWxkE9JF3MO1MaUIPibBMyrQ5z4,16767 -django/contrib/admin/locale/pl/LC_MESSAGES/django.po,sha256=SrgLr7XJKVbUlKKmfEwmY-lqaLfUdso2hMk9UnwTrMM,18476 -django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo,sha256=ec1TSIUAbti7sn1vEkF_JwsAKtJw7AQ_P_QgyAq8R38,5124 -django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po,sha256=u0KYrSzRQm49ZVcLqocF0bJjzL8fQXjR5dHtrdWvYhc,5885 -django/contrib/admin/locale/pt/LC_MESSAGES/django.mo,sha256=kJQFBZeg8oTQySbwGEA2U5KX-SD4jSNDTQKqNkwADJM,16612 -django/contrib/admin/locale/pt/LC_MESSAGES/django.po,sha256=tkaISKw8FWa0AWjwqyGJO8h_HQRy_-NjOAHezoOFynk,18021 -django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo,sha256=D6-8QwX6lsACkEcYXq1tK_4W2q_NMc6g5lZQJDZRFHw,4579 -django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po,sha256=__a9WBgO_o0suf2xvMhyRk_Wkg2tfqNHmJOM5YF86sk,5118 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo,sha256=5LfoCVXCKPB0YoxVvijk6viVmNH6DOjQT0LdSV3wTPI,16398 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po,sha256=pHFIJArrkTV8TTp90h7J-Irf3wLjA4zhXxoXValg8X4,18246 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo,sha256=wOoG2N8JrONQDPsXZ0LstCOUwL0Dtkrg5tv5LUfdLPQ,4619 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po,sha256=VGvet4lDdbvOiWQiXEJzZncw5KpeiK6vPITwmIiwLXU,5256 -django/contrib/admin/locale/ro/LC_MESSAGES/django.mo,sha256=i9xCmjjK89RDyZbv4byzzXp10n-XzwsLpFrkNcpmKD8,16508 -django/contrib/admin/locale/ro/LC_MESSAGES/django.po,sha256=KXM5hrWJOmXe0uJ8hAcnAyubdFmfiHGqQD4TlDiVIB4,17936 -django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo,sha256=ecZWK29CdeMH21OfOuv0dZ9907hWu_1gUsUeDxRJd-c,4711 -django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po,sha256=2Vm36kASBB8RlNTWV3xnLkl06qGbPex4zJeXKV1ihCc,5388 -django/contrib/admin/locale/ru/LC_MESSAGES/django.mo,sha256=UUsVqTtdz3RrPeo3zNTpyfzj6q9X6akrEW_iiYhTMM8,21129 -django/contrib/admin/locale/ru/LC_MESSAGES/django.po,sha256=2aSRrHBP4Is4ROggjZmEXkb3AhWadFbBJBfAkwTslXo,22684 -django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo,sha256=aKfi6-U6lHDVoCT0vnr5u02POMb2ZZq6RBWkYM3ZTGs,6564 -django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po,sha256=qJElbC05QixcTmPe4_QN_p0UiiXxVXRMXEK8ZsTYS58,7372 -django/contrib/admin/locale/sk/LC_MESSAGES/django.mo,sha256=qfJ6iSOPH215iuk7dGbbbkYFbDTFr3DgXTH5PKyakX0,16405 -django/contrib/admin/locale/sk/LC_MESSAGES/django.po,sha256=_efzcdpl-KkRFglILyRBp2lXLu1jAnoeWjFHRmE4vio,17792 -django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo,sha256=FIrWSjWt0qRGLmjt3wODBr4Dm9rfGGJNo_aQomRlL9w,4551 -django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po,sha256=8ExPrvCwSNeOwGOrWwpw3CASDDSYFdINzbj90oX9kfo,5176 -django/contrib/admin/locale/sl/LC_MESSAGES/django.mo,sha256=iqcg1DYwwDVacRAKJ3QR4fTmKQhRGXU4WkwYco9ASaA,16136 -django/contrib/admin/locale/sl/LC_MESSAGES/django.po,sha256=VeIJDh1PojyUy-4AdPcVezbQ-XVWqp04vFE_u3KU2tU,17508 -django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo,sha256=0jqGv5lgcfyxh9pdnB0Nt7e0bF2G0nO-iVWJjKwyZqI,4724 -django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po,sha256=1DEs7obfCCf-hNM2nIkMizcRcq1KoLBvngMaXLlozUo,5269 -django/contrib/admin/locale/sq/LC_MESSAGES/django.mo,sha256=mz4DGjNy67A6s3gbYuWSrjeGyQgZ29HjEQ22c7oq3HA,16593 -django/contrib/admin/locale/sq/LC_MESSAGES/django.po,sha256=1TlVYvPiB1UztB-fEAcw0iTs0rzd2NrBKH4XXv7-eq0,17876 -django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo,sha256=Kke8CoU6tgem52SEYXyN-GD31iE0X2DtXljgEx2u5Dc,4590 -django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po,sha256=Xr0i6Ru0KgO1fmXHJbF_8_QC6mCVU8lKKNDB0lQWVdU,5052 -django/contrib/admin/locale/sr/LC_MESSAGES/django.mo,sha256=GdgygmaQEZxa5svkL62lo09VScrFCdlr1bXeaDyF0yU,14126 -django/contrib/admin/locale/sr/LC_MESSAGES/django.po,sha256=QghWs3rh7s_9E01A08E4DpZlaI0gUdNERXJ0ppsTOkw,18244 -django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo,sha256=tU7FI7MZSQ8-uj0yeHXsPFxTscrVNAVNyowrPVp6ShA,3493 -django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po,sha256=jAYqG0qPzVOYfL9rmyqXaamk-dJOX3Y7eZamJRjQgJU,4944 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=MCdPPbt_Rob5o-oiXrrh04yJdpzj1_LH2u6iNQrUZ0U,11339 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po,sha256=z7Kmej61JawIMlGVei9SznO_yzgijWZ5P-YZDNZQGxI,15457 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo,sha256=Q9Z-L--PCpPQkbqm2JmNX0jGQt42RVX9I7LdQLEgoQQ,2978 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po,sha256=ltYFTnxmwOTZjaSuR_w5aTMw1jpU4fcblD4EopYvnfQ,4429 -django/contrib/admin/locale/sv/LC_MESSAGES/django.mo,sha256=NCnsGQ3f2H8e-KKPQqurbzEK1C2GwmzzyS_4QEyuI9M,15933 -django/contrib/admin/locale/sv/LC_MESSAGES/django.po,sha256=v5aY4NPh1JcTxQComXQqt7s2oaoaBJrtpMJP0LWy8HM,17467 -django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.mo,sha256=Q9UBnIR3KTna0BtGSZyXiehzxj8rP2I2NEi_2tTKUTU,4541 -django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po,sha256=SfGsoatvFSE1fsWsg_aVZl7gNsI0dtEmaro_0cGu9m4,5206 -django/contrib/admin/locale/sw/LC_MESSAGES/django.mo,sha256=Mtj7jvbugkVTj0qyJ_AMokWEa2btJNSG2XrhpY0U1Mc,14353 -django/contrib/admin/locale/sw/LC_MESSAGES/django.po,sha256=ElU-s0MgtNKF_aXdo-uugBnuJIDzHqMmy1ToMDQhuD0,16419 -django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.mo,sha256=p0pi6-Zg-qsDVMDjNHO4aav3GfJ3tKKhy6MK7mPtC50,3647 -django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po,sha256=lZFP7Po4BM_QMTj-SXGlew1hqyJApZxu0lxMP-YduHI,4809 -django/contrib/admin/locale/ta/LC_MESSAGES/django.mo,sha256=ZdtNRZLRqquwMk7mE0XmTzEjTno9Zni3mV6j4DXL4nI,10179 -django/contrib/admin/locale/ta/LC_MESSAGES/django.po,sha256=D0TCLM4FFF7K9NqUGXNFE2KfoEzx5IHcJQ6-dYQi2Eg,16881 -django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.mo,sha256=2-37FOw9Bge0ahIRxFajzxvMkAZL2zBiQFaELmqyhhY,1379 -django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po,sha256=Qs-D7N3ZVzpZVxXtMWKOzJfSmu_Mk9pge5W15f21ihI,3930 -django/contrib/admin/locale/te/LC_MESSAGES/django.mo,sha256=aIAG0Ey4154R2wa-vNe2x8X4fz2L958zRmTpCaXZzds,10590 -django/contrib/admin/locale/te/LC_MESSAGES/django.po,sha256=-zJYrDNmIs5fp37VsG4EAOVefgbBNl75c-Pp3RGBDAM,16941 -django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo,sha256=VozLzWQwrY-USvin5XyVPtUUKEmCr0dxaWC6J14BReo,1362 -django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po,sha256=HI8IfXqJf4I6i-XZB8ELGyp5ZNr-oi5hW9h7n_8XSaQ,3919 -django/contrib/admin/locale/th/LC_MESSAGES/django.mo,sha256=3M_F_61KZCpwDW59j69WocWl5BvdOP2kP0ghqjWuvtU,18775 -django/contrib/admin/locale/th/LC_MESSAGES/django.po,sha256=L2VnfVan4tJ0Lafv0Mc7oVNy2HG6l2tlwDaetLCpByY,21693 -django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo,sha256=Pf2RPgOPysCBvi_5dA73rGrrfs6E4fwtQslrJ0C1-0E,5584 -django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po,sha256=dJWCRdd48kZYyhWcOrqqrBIrFKnZt5BL4Dj0pLH-vYk,6386 -django/contrib/admin/locale/tr/LC_MESSAGES/django.mo,sha256=AMH9iJeDnFNroamlplOgstt5LCDMLYaQHf11ZeHaZGA,16541 -django/contrib/admin/locale/tr/LC_MESSAGES/django.po,sha256=l554XQjF1bObdqocEkUUEOd83PS_Evs6on3YdLnzZXQ,18065 -django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo,sha256=_UZ4Vl3iMn2jr69RdNsamDcQUi8Z40gb_cXGM6v7htM,4547 -django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po,sha256=DH2pZ5OEc8jhW3gzRvq9E_Z6pUA7yayyikszK86MBYg,5070 -django/contrib/admin/locale/tt/LC_MESSAGES/django.mo,sha256=ObJ8zwVLhFsS6XZK_36AkNRCeznoJJwLTMh4_LLGPAA,12952 -django/contrib/admin/locale/tt/LC_MESSAGES/django.po,sha256=VDjg5nDrLqRGXpxCyQudEC_n-6kTCIYsOl3izt1Eblc,17329 -django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo,sha256=Sz5qnMHWfLXjaCIHxQNrwac4c0w4oeAAQubn5R7KL84,2607 -django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po,sha256=_Uh3yH_RXVB3PP75RFztvSzVykVq0SQjy9QtTnyH3Qk,4541 -django/contrib/admin/locale/udm/LC_MESSAGES/django.mo,sha256=2Q_lfocM7OEjFKebqNR24ZBqUiIee7Lm1rmS5tPGdZA,622 -django/contrib/admin/locale/udm/LC_MESSAGES/django.po,sha256=L4TgEk2Fm2mtKqhZroE6k_gfz1VC-_dXe39CiJvaOPE,10496 -django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po,sha256=ZLYr0yHdMYAl7Z7ipNSNjRFIMNYmzIjT7PsKNMT6XVk,2811 -django/contrib/admin/locale/uk/LC_MESSAGES/django.mo,sha256=JK10EB3jmFUpbEEyhY0IjzI_xn1-47n3UL8aFcIPT70,20138 -django/contrib/admin/locale/uk/LC_MESSAGES/django.po,sha256=UjHVH3lDzepPD_qTUuwPC1FVF3stpaJhzXTq4me5wUY,21839 -django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.mo,sha256=0PeSJdHf986VwD8vDLQLdrfJJv2Vw57c_vo8XLcu4Io,5574 -django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po,sha256=roROo3W4qdlg2-XQwUnF3rnqazVwFSQvJ3wnyYBYXrU,6256 -django/contrib/admin/locale/ur/LC_MESSAGES/django.mo,sha256=HvyjnSeLhUf1JVDy759V_TI7ygZfLaMhLnoCBJxhH_s,13106 -django/contrib/admin/locale/ur/LC_MESSAGES/django.po,sha256=BFxxLbHs-UZWEmbvtWJNA7xeuvO9wDc32H2ysKZQvF4,17531 -django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo,sha256=eYN9Q9KKTV2W0UuqRc-gg7y42yFAvJP8avMeZM-W7mw,2678 -django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po,sha256=Nj-6L6axLrqA0RHUQbidNAT33sXYfVdGcX4egVua-Pk,4646 -django/contrib/admin/locale/vi/LC_MESSAGES/django.mo,sha256=jl3bBXOh26m8Egaw3N8VIs_x4Gnf_iUmLZVW2zyaTpU,14951 -django/contrib/admin/locale/vi/LC_MESSAGES/django.po,sha256=eDAYTe4FiiMZO3dzMFu_3qNqYDC7s1gXRUeBSOePIrQ,17618 -django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo,sha256=M_wqHg1NO-I7xfY-mMZ29BqUAqGzlizgJ3_DIGBWOUc,3733 -django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po,sha256=d3YtQhNuCqtfMO3u5-6zoNhhGBNYkoUhTrxz7I3PRkQ,5018 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=NSmADSF_aWntgUC5L_-9ureIotlq308r173LP9Mk4zg,15154 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po,sha256=rwmGfveq0K18ua5DyMcTXlWxnFICex4ZD2F5MoZN0Hk,16754 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo,sha256=hHInOZe0GSIyBaXEax7mVKbf-pbDVZViNRPD2ia9fLE,4230 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po,sha256=lDyl7tV3bT5CTtfrzdcVbTlxahnhwPvs5R33Ig1Govk,4911 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=kEKX-cQPRFCNkiqNs1BnyzEvJQF-EzA814ASnYPFMsw,15152 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po,sha256=iH3w7Xt_MelkZefKi8F0yAWN6QGdQCJBz8VaFY4maUg,16531 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo,sha256=yFwS8aTJUAG5lN4tYLCxx-FLfTsiOxXrCEhlIA-9vcs,4230 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po,sha256=C4Yk5yuYcmaovVs_CS8YFYY2iS4RGi0oNaUpTm7akeU,4724 -django/contrib/admin/migrations/0001_initial.py,sha256=0p5TjterT80FOrCxhO7YqZPag-xnyRin_mQ01Qj579o,1893 -django/contrib/admin/migrations/0002_logentry_remove_auto_add.py,sha256=_7XFWubtQ7NG0eQ02MqtxXQmjBmYc6Od5rwcAiT1aCs,554 -django/contrib/admin/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/static/admin/css/autocomplete.css,sha256=MGqRzeZ1idtUnRM7MnEHw7ClmOVe_Uo7SdLoudapNMU,8440 -django/contrib/admin/static/admin/css/base.css,sha256=Pplnc9jKFUDyZvspY9dqhhACUvR33cf4Lp0DkK6zEdA,16106 -django/contrib/admin/static/admin/css/changelists.css,sha256=z-w-H416nJzM01ysLRhynHH-4zyjtkoDlzRPFDARX6U,6170 -django/contrib/admin/static/admin/css/dashboard.css,sha256=M_duSlzrcec1HXMWlLXJQkFw4m6v2dgB3PRaJlWQo14,412 -django/contrib/admin/static/admin/css/fonts.css,sha256=SnBl3KjeUZqRmZw3F0iNm1YpqFhjrNC_fNN0H2TkuYc,423 -django/contrib/admin/static/admin/css/forms.css,sha256=NtSdGKiwEksxVFU-0XeP8Ijv69Zp9sMGYrZqYTh9_s8,8173 -django/contrib/admin/static/admin/css/login.css,sha256=lHpzTw50VkxttDANxGiCnANx46B8HaROciU_sRHbTRs,1203 -django/contrib/admin/static/admin/css/responsive.css,sha256=UAMABM7h5rRZ8FocJw4bfx36Q5XtIDm4ddXN8lMC4SQ,17894 -django/contrib/admin/static/admin/css/responsive_rtl.css,sha256=kdXYUgMd5uXiLthyjc1pv4VXCu9Wy8Mxk1q_f8eQNz0,1859 -django/contrib/admin/static/admin/css/rtl.css,sha256=4FQYhqc4pttIAS0ealmRFrEIwirPs7v9YK3f7DxqTEQ,3731 -django/contrib/admin/static/admin/css/widgets.css,sha256=FbxIKiGYkWjZwRMm5A_Qv-kKrhsPnfzhsF1j28eSqnA,10340 -django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md,sha256=Py5KwtTr_nv_wJAqcAa1YqXiIY_0XyS08UQXZhXiqNo,1124 -django/contrib/admin/static/admin/css/vendor/select2/select2.css,sha256=xqxV4FDj5tslOz6MV13pdnXgf63lJwViadn__ciKmIs,17604 -django/contrib/admin/static/admin/css/vendor/select2/select2.min.css,sha256=xJOZHfpxLR_uhh1BwYFS5fhmOAdIRQaiOul5F_b7v3s,15196 -django/contrib/admin/static/admin/fonts/LICENSE.txt,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560 -django/contrib/admin/static/admin/fonts/README.txt,sha256=8aTEGqGae4MewJx-muqQ1E4xgkwarj9lGmbjKp2vOpo,137 -django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff,sha256=NPwBegIIh-Ky0wNS1D5R7FNrAOZV6koNgbKynKYRfUM,82564 -django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff,sha256=ZPkI7tYTAgKLZN-hXqCYnBxc5aa-Se3BMBILeYVu6uQ,81348 -django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff,sha256=cX0lRkeH5ff6E_fLaT8SATtvSBNuv7JcQ-5u_Fye3-Q,80304 -django/contrib/admin/static/admin/img/LICENSE,sha256=0RT6_zSIwWwxmzI13EH5AjnT1j2YU3MwM9j3U19cAAQ,1081 -django/contrib/admin/static/admin/img/README.txt,sha256=M5PZqSUBMTJ36I0D8RMKomdAXz3aQhEvoTHXoHfiNM0,318 -django/contrib/admin/static/admin/img/calendar-icons.svg,sha256=gbMu26nfxZphlqKFcVOXpcv5zhv5x_Qm_P4ba0Ze84I,1094 -django/contrib/admin/static/admin/img/icon-addlink.svg,sha256=kBtPJJ3qeQPWeNftvprZiR51NYaZ2n_ZwJatY9-Zx1Q,331 -django/contrib/admin/static/admin/img/icon-alert.svg,sha256=aXtd9PA66tccls-TJfyECQrmdWrj8ROWKC0tJKa7twA,504 -django/contrib/admin/static/admin/img/icon-calendar.svg,sha256=_bcF7a_R94UpOfLf-R0plVobNUeeTto9UMiUIHBcSHY,1086 -django/contrib/admin/static/admin/img/icon-changelink.svg,sha256=clM2ew94bwVa2xQ6bvfKx8xLtk0i-u5AybNlyP8k-UM,380 -django/contrib/admin/static/admin/img/icon-clock.svg,sha256=k55Yv6R6-TyS8hlL3Kye0IMNihgORFjoJjHY21vtpEA,677 -django/contrib/admin/static/admin/img/icon-deletelink.svg,sha256=06XOHo5y59UfNBtO8jMBHQqmXt8UmohlSMloUuZ6d0A,392 -django/contrib/admin/static/admin/img/icon-no.svg,sha256=QqBaTrrp3KhYJxLYB5E-0cn_s4A_Y8PImYdWjfQSM-c,560 -django/contrib/admin/static/admin/img/icon-unknown-alt.svg,sha256=LyL9oJtR0U49kGHYKMxmmm1vAw3qsfXR7uzZH76sZ_g,655 -django/contrib/admin/static/admin/img/icon-unknown.svg,sha256=ePcXlyi7cob_IcJOpZ66uiymyFgMPHl8p9iEn_eE3fc,655 -django/contrib/admin/static/admin/img/icon-yes.svg,sha256=_H4JqLywJ-NxoPLqSqk9aGJcxEdZwtSFua1TuI9kIcM,436 -django/contrib/admin/static/admin/img/inline-delete.svg,sha256=Ni1z8eDYBOveVDqtoaGyEMWG5Mdnt9dniiuBWTlnr5Y,560 -django/contrib/admin/static/admin/img/search.svg,sha256=HgvLPNT7FfgYvmbt1Al1yhXgmzYHzMg8BuDLnU9qpMU,458 -django/contrib/admin/static/admin/img/selector-icons.svg,sha256=0RJyrulJ_UR9aYP7Wbvs5jYayBVhLoXR26zawNMZ0JQ,3291 -django/contrib/admin/static/admin/img/sorting-icons.svg,sha256=cCvcp4i3MAr-mo8LE_h8ZRu3LD7Ma9BtpK-p24O3lVA,1097 -django/contrib/admin/static/admin/img/tooltag-add.svg,sha256=fTZCouGMJC6Qq2xlqw_h9fFodVtLmDMrpmZacGVJYZQ,331 -django/contrib/admin/static/admin/img/tooltag-arrowright.svg,sha256=GIAqy_4Oor9cDMNC2fSaEGh-3gqScvqREaULnix3wHc,280 -django/contrib/admin/static/admin/img/gis/move_vertex_off.svg,sha256=ou-ppUNyy5QZCKFYlcrzGBwEEiTDX5mmJvM8rpwC5DM,1129 -django/contrib/admin/static/admin/img/gis/move_vertex_on.svg,sha256=DgmcezWDms_3VhgqgYUGn-RGFHyScBP0MeX8PwHy_nE,1129 -django/contrib/admin/static/admin/js/SelectBox.js,sha256=xB_jbdmwUFitjqFcGankTIkhcTGaluR9rmBoVy0w4fg,5755 -django/contrib/admin/static/admin/js/SelectFilter2.js,sha256=haJFnUq97-Uat1iVigFh9y0ssqTcIjKjba8NbHkv5fA,12680 -django/contrib/admin/static/admin/js/actions.js,sha256=PveOc3V1J5uCsTIgKlujfaZjXgXh_grkxGNgZUuPV_4,6502 -django/contrib/admin/static/admin/js/actions.min.js,sha256=5yXpKSwzdlPdUsxCu_yrYTa68mJuNyD5Pzs6kbaSeiI,3161 -django/contrib/admin/static/admin/js/autocomplete.js,sha256=LgImTP2VTEaJKqxBqvJKRa-mfenZBjeVg7LnHetaxQU,1124 -django/contrib/admin/static/admin/js/calendar.js,sha256=8ej_F8SBtoFhNmmoLwONpyVwOJHd5JBWUMe1mwgxpwE,7777 -django/contrib/admin/static/admin/js/cancel.js,sha256=A9TJZ9Ih6xWf-3ETNJXwXYgzCRu6BlMQhncwS6KWiSk,204 -django/contrib/admin/static/admin/js/change_form.js,sha256=J-beGDyqR6uyb3iW_OI9Yo0ZFrfwJVqNFFDeL7-njqA,712 -django/contrib/admin/static/admin/js/collapse.js,sha256=089NhKcy5cbhzScg6vWEfoXxItzFpxVsYYJ2C7KMQUE,1151 -django/contrib/admin/static/admin/js/collapse.min.js,sha256=2ouFB9PV4qb6btAYqFc-mMUc651Jq4ZPVXJ7AaF_ZTY,1634 -django/contrib/admin/static/admin/js/core.js,sha256=9XcoubW_oyev18M3x8f82mYQ7S2IyL75jZmu4XaIdBo,7134 -django/contrib/admin/static/admin/js/inlines.js,sha256=l9QepZOAUgZ9rEJ-OcR_3Lh3JQtsza9H8y3k0CLBvqE,13673 -django/contrib/admin/static/admin/js/inlines.min.js,sha256=rQt0u9jd1SyYaNhQWb34UHBxRMctRmtIT1O7WMJK3Rc,5824 -django/contrib/admin/static/admin/js/jquery.init.js,sha256=Gr-yEd61wY6uBDMhOaVq-amfciz7EZhMvJfai_WxrHE,363 -django/contrib/admin/static/admin/js/popup_response.js,sha256=7XyHe9SDYkB8OMxF7fhL6N5l4Oxf-gXqzGlpPK63tcc,569 -django/contrib/admin/static/admin/js/prepopulate.js,sha256=PCNwmurilcnTH8ve8QXdAM0rHHWvLIaCU6HEnyRKJyg,1538 -django/contrib/admin/static/admin/js/prepopulate.min.js,sha256=pVBz-2RAxr0d6ebCNjkfOEiUXtd9f6Ppwtl7HOHw2Pk,372 -django/contrib/admin/static/admin/js/prepopulate_init.js,sha256=uD3_ZoYfJ62mcSgqzHfePA3Y5jaOBjxn7SU0LuYFgEE,495 -django/contrib/admin/static/admin/js/timeparse.js,sha256=oVk0xpGmRjS0V2sMsjGulzMSNDvIr1gQ6_fpivvh_kQ,2984 -django/contrib/admin/static/admin/js/urlify.js,sha256=58xpviBrxcL0ojOn0tAyAUfcqMCcA74qQZtpJ7_gN9c,8729 -django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js,sha256=R2WRhH2444LARslaEB01MB8MyLh_XnRvuUJiVvnAYV0,20283 -django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js,sha256=GEruiyMhTd6Q5pX-C5z3z0Xv4BMcpGFKuonaAYuSW0A,6897 -django/contrib/admin/static/admin/js/vendor/jquery/LICENSE-JQUERY.txt,sha256=GIg3JQapSjFSu38FkC7Wm4cW4HUcvoWPb0YdP5LxKfU,1282 -django/contrib/admin/static/admin/js/vendor/jquery/jquery.js,sha256=laXWtGydpwqJ8JA-X9x2miwmaiKhn8tVmOVEigRNtP4,258648 -django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js,sha256=a23g1Nt4dtEYOj7bR-vTu7-T8VP13humZFBJNIYoEJo,85659 -django/contrib/admin/static/admin/js/vendor/select2/LICENSE-SELECT2.md,sha256=Py5KwtTr_nv_wJAqcAa1YqXiIY_0XyS08UQXZhXiqNo,1124 -django/contrib/admin/static/admin/js/vendor/select2/select2.full.js,sha256=nwWu44AW64pJgDdb4wY7wcWkfUPTfBgwjHkIsnBFUE4,161832 -django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js,sha256=FJuLxhiJiX-5Qgs0c2JYLIyJ5i0o4ccg6DQ6zgitCYY,75005 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js,sha256=fgVH5qCYQqvtWwa8MGiOx4VSKCg5d_BkMbaknNoncWw,887 -django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js,sha256=WWCwFlKHxZLGDAAacF2YQr1PG6tyPXg7We5DluFuhy4,701 -django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js,sha256=Lk9-DE7eC6VpLXhcuqR8ggkcZ_AgwJEG3dLADTyMbZs,906 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js,sha256=f1f8z2aYYgqr6cv7AUE_opdjU_XIUDAMvzsSvODkZpA,876 -django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js,sha256=6WZZ97shyY3gGqfAXak1RDwtD2lVkMPA0jEwwqR30d0,1236 -django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js,sha256=Q-ozOz1DL2NBOPIypU8vjoCxaCiZqJ2rY7_JBQcjrBk,818 -django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js,sha256=mtjCIpmIYVw5CLf7IpjBWp6VtFzdKh_YtZFtpIeIStc,775 -django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js,sha256=HbjnKG1fGks6EHWR6103C5kk8rMLE5_rsPGx9d1jxKY,1132 -django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js,sha256=B-OOZousHwJa-Uuf48D4XzfPJSKCQ3vH_LidT-9KT0c,827 -django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js,sha256=yqV8yK-bz_cS9XBVDUQmbKSykDsXHcqgxlKbPyxDIdw,871 -django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js,sha256=mewAy-15ytAbjTqxZrEZj3p9KebGjBMphc2mIlpgeAE,775 -django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js,sha256=pmySl5IBT6bSgcOVug5n-518CxqpGf63RUYnwfdq-m8,844 -django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js,sha256=47-FmirjxeJnuR_90g3OU4DyBYdDXSL0_8qjZ2rnI7U,1004 -django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js,sha256=CqyMDXQHszgqi0HzoPM0-DtJQGVKAHFCxQq8JDO7zxY,703 -django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js,sha256=pjC1r5EyH3ebWwWk_DF2mH0Y58yQvOEG6slmjh__SoQ,902 -django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js,sha256=WObjYM2vK4OgLqH8fS5H_25e_GjqvAOwshQEwJiUT_k,800 -django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js,sha256=RHcoZ7GaEGyF6TaLim-eW4FoQHJJZkPX1XCLpxuakDg,951 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js,sha256=hTkDBVj8ZSlpkXv7JXNWBN3NWxc8lZPBio3ERyy5NQw,1125 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js,sha256=83bnotTzaNwZmyOhQYT6UlRKflq2tqTWn7Wd9SNbY18,839 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js,sha256=OiDzwQj-cuXGt3NNDQw1wN2jaOjob4uDPUk2mU8D5Bs,727 -django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js,sha256=4ccurwgeaJOSzk97ZFplJ2j4UePW47_mZ14fd1l9k5Y,752 -django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js,sha256=6XBFQypKZoXi46_cW5oCQVFnbOvV0tmbsylkIuf2jNI,773 -django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js,sha256=0u_2rM4AQ5f31vCb-GyMsqRm5UiioLlYZQML0GJZft0,876 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js,sha256=iVNfAjWOdeLGYsPy54JSqQ70Q7LGO7T9BshHeos1YoQ,848 -django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js,sha256=CEd7gx5c131ZQEim-sdwFnM-8R_W4ILk3s3B59pqMcI,1065 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js,sha256=PZqna7eaSjadvZWOF-EwX0oQ9MD1jHRpRqsv3ieZXHc,854 -django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js,sha256=4aX2ESzIxXXM_45PjloFzbdOkEBvG8l0Lzbn9a07S-Y,913 -django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js,sha256=m_9yurF2g_oLJPoFsrFyyUOooOjSde5x9jLllVgYa68,872 -django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js,sha256=AzBhv0x9TUGCUeNsuSSN3UnT1wSBZhtgp9B7LoXccHs,979 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js,sha256=--btj7UZrXBbhKESfI-z_6YxYJXAlkTxPIEXateVQ54,791 -django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js,sha256=gQM3p_YY-hjZ9own3O0rZJYHqK4CYxFBJTrkTvICyK8,785 -django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js,sha256=4N5ht1J1MjVCGRqU8Dzo81MZhKeQxAo-fvMDqaiQosg,896 -django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js,sha256=ir3_tPNqhQ6ri-J3YyOlsZJrbdBvUC3ibpYsEfdMtgg,925 -django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js,sha256=nfaZQpzSrOFJ0VRsxEmlH6azVlcRQpilM7-uHZbD3r0,853 -django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js,sha256=0Hmb5IG2hPFnhMzYFjMOza5OIqJEiD7WlqHy6YDNzQA,859 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js,sha256=oLsIzIZQGT7HZqhJ8DXqoiP1JE4OnSQPRBAMWXhvdSM,909 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js,sha256=YOIol4UzD2BGvz28zaarwdUDawpKTmEpIcvkwakmAHQ,1127 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js,sha256=T5nCVJX52HimSLw8yrMKTSdvLbSysaopsKtoknIoNhg,1184 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js,sha256=s5f_D0U7r2thU6UPBAJJ8rzKFUQmRgzE5Y3K07amhbk,1067 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js,sha256=zRM5Y0fpg0u0V7rkR4-ZgHELW2gj4YDEDa0sx_zye2o,938 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js,sha256=UEGr4C1Cs20s2iaMBzmWDew9hlVg8h9ZQZvVpwGnwXI,786 -django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js,sha256=TbMY7IxUby7KiZKng-SEHvCavoks7d8hN77192lLfMY,951 -django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js,sha256=yqv5e--8eGpw9uZDk0GAfR0nxYnYdj5qegnFHxSAjM4,720 -django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js,sha256=LsPBQ5q5xisqXxgdV4Yf8CU8FO7mhnYRUxm7tJXNl4E,1117 -django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js,sha256=ZWpJDPBtRbDJ3YyQ4Z02Le6BRnN0gRxSAoFzYqFE7Nw,801 -django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js,sha256=J4dFzbG57aghBD5x1PmkURHSi5y6AytiJgcl9iq-3z0,769 -django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js,sha256=zqyrNXby3B33G7De41AQ-OFpy-Cgi3vTXZm_-IGnsXY,708 -django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE-XREGEXP.txt,sha256=tyAi9RwLIDwjSrjyBhtyJIkgOHWM469_UzZTr1MmRys,1103 -django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js,sha256=TjYx21bQgQXDFTdvSqSUh7S8TkYRjT4L4X-SlWNR8CE,128820 -django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js,sha256=E-Plu9EZfyt0PJCSYrCkHuPquVVj9V7g7jQklIOgGDU,62474 -django/contrib/admin/templates/admin/404.html,sha256=o528Ro8Q0JMgd7mtszp8nl1ADHNA12AyclVdmGQnYGc,268 -django/contrib/admin/templates/admin/500.html,sha256=AUIdN7Ka_1KRAGzvo1GvwAHCSJNIbo8oNSF07cMKcj4,527 -django/contrib/admin/templates/admin/actions.html,sha256=FQYsvoJrq949UZHjL1j65Ne_gnSHmMMbgSfUhE-1ciM,1012 -django/contrib/admin/templates/admin/app_index.html,sha256=BSJsWtgum_H2hCxcb2xe-XJozbVOVpUBN_KTe8pcRts,385 -django/contrib/admin/templates/admin/base.html,sha256=oK_cRQ70cxqj0vFdKS0EulJeGPrnJ_ODnjcKZfy6uLA,3668 -django/contrib/admin/templates/admin/base_site.html,sha256=1v0vGrcN4FNEIF_VBiQE6yf2HPdkKhag2_v0AUsaGmM,316 -django/contrib/admin/templates/admin/change_form.html,sha256=Ta-hNbm9cOOU4ht4OpFaYW5r19mtgWn4jJC79gRB5vY,3356 -django/contrib/admin/templates/admin/change_list.html,sha256=zoB-LaxqWYhG4ftnYmjm7K1EqBr4nXlU-dG4nOnueBc,3253 -django/contrib/admin/templates/admin/change_list_results.html,sha256=jZ9lN7EYWsG9Gt7_4eA-HjXHic46v-Dl-e61ruSFWVE,1553 -django/contrib/admin/templates/admin/date_hierarchy.html,sha256=uW1_ZMd-7biE28Ix2pQiY1lTvRX1VjyZhUkp-IHA0NI,372 -django/contrib/admin/templates/admin/delete_confirmation.html,sha256=-TrukS8C9205zRv63WI7s9WOa0-O42_jsClKCE_SgSA,2405 -django/contrib/admin/templates/admin/delete_selected_confirmation.html,sha256=856nsJUtL_3yArQAFdJFKI2WCiV8Z3VoLd8F8TUCy7s,2320 -django/contrib/admin/templates/admin/filter.html,sha256=A59SgwTTgEf2iYjV0IiDIixSZ7yCu1Fs66n0Vguu-NI,330 -django/contrib/admin/templates/admin/index.html,sha256=lwKJMWsD4tdmZRUeutXWAqUWch-DmFZAJh3dwEnH-Ek,2983 -django/contrib/admin/templates/admin/invalid_setup.html,sha256=58ugkYPi6FHmS--y77fhLAdUr4PyrtGwTg6-hm0_Xxg,437 -django/contrib/admin/templates/admin/login.html,sha256=l5s6CMlDeZ7_9nea9JAarSO8ECJ7JgKyrpdfpYxXjKc,1876 -django/contrib/admin/templates/admin/object_history.html,sha256=tjE0pTYaSM43e8QxjNabL2FmrB5wPKm8V3jpuziwPdI,1444 -django/contrib/admin/templates/admin/pagination.html,sha256=h5ZgDSNezRlvz22KhtaRY-3GCnEe8AjRcjCfEktVgWA,554 -django/contrib/admin/templates/admin/popup_response.html,sha256=DDlE_fEKHsGvPcSRy4zFAw_czr3hcCj6YcKRXBNfQEM,358 -django/contrib/admin/templates/admin/prepopulated_fields_js.html,sha256=Q3QxBgVvxePpiz502FjSHOS3szSlHkvUQoPe8sF1YDs,245 -django/contrib/admin/templates/admin/related_widget_wrapper.html,sha256=0xA6-N9cO3ED4W397pwjvjbj5ZS5yhZjeqe89Ri6VHs,1397 -django/contrib/admin/templates/admin/search_form.html,sha256=umCPvMnvXX_BlHs_296pKniVn7Ycg-nKk3nKwrwNAQc,1027 -django/contrib/admin/templates/admin/submit_line.html,sha256=CvdFFZBKfGcspS2MgJbmmDCwcHv9hG9NPBxJ_MzY530,790 -django/contrib/admin/templates/admin/auth/user/add_form.html,sha256=pMsoxDLGJDzjIkcMmKdTYEnUzZ1ESEhBeDLCW17XN5k,310 -django/contrib/admin/templates/admin/auth/user/change_password.html,sha256=a3gZLx4MfgZJrj_fllruwyfy293mmMmVqjcvmsA5dIc,2347 -django/contrib/admin/templates/admin/edit_inline/stacked.html,sha256=fn7GWmIBXEj3ShZ7zzfsQvNzYk5v_tZtzy1C7rWVqAI,2092 -django/contrib/admin/templates/admin/edit_inline/tabular.html,sha256=AZ8eO6PNTKrrRZaaGrhWNbcublSExIKyvz3eJoeOy7c,3897 -django/contrib/admin/templates/admin/includes/fieldset.html,sha256=-_S9dzsEGnmo10xioe7v833gY3tGHBIphzOJ_8rM1fM,1788 -django/contrib/admin/templates/admin/includes/object_delete_summary.html,sha256=i_I2BADSutoccAxARIwbP4VRlDHsag-llDOi3kjcoXw,188 -django/contrib/admin/templates/admin/widgets/clearable_file_input.html,sha256=xmlmv2ioEI6ozk5KbzBjC75SNKuYlO07EzjANQ8tH4w,574 -django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html,sha256=0-PzMOEe3KSRVOBeivruUc8nJRcziIqWO-DyU8pvgEE,346 -django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html,sha256=w18JMKnPKrw6QyqIXBcdPs3YJlTRtHK5HGxj0lVkMlY,54 -django/contrib/admin/templates/admin/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html,sha256=QBovkKbXrGTBy7DzbWQ3Q16WihHW8txvWgV6vdumbnw,1406 -django/contrib/admin/templates/admin/widgets/split_datetime.html,sha256=ORI1EM3mf4g49PgEE6GWTpVnXdRpKP-0dPtLCbDEHQ0,240 -django/contrib/admin/templates/admin/widgets/url.html,sha256=HDc93YIZhUNe-2gXKLt4SFwrap_wE68aaJXY5JcXCVs,226 -django/contrib/admin/templates/registration/logged_out.html,sha256=9NdzlTMq7QQpj2ftUqZ7FPeHDv0KYbjETF8qMJVGGqI,374 -django/contrib/admin/templates/registration/password_change_done.html,sha256=ldLa6UAVgn_FiKQ9TkO2EZraTBZx1URJrRGOn-_VZJs,671 -django/contrib/admin/templates/registration/password_change_form.html,sha256=W8eYpuusNCZ6EZRkT--QWyXR5rHDienElsw-cMDjB1w,2050 -django/contrib/admin/templates/registration/password_reset_complete.html,sha256=RD0DbFybLTVfHtkU4yN7HG3YXY-xs_BLVgl3vSB7czU,505 -django/contrib/admin/templates/registration/password_reset_confirm.html,sha256=oEDhtdzhrmIc9BhaAgaxvw0qBcpI4I_BQLt5GE8teXI,1373 -django/contrib/admin/templates/registration/password_reset_done.html,sha256=ofGCzPs--2mOPLlGcTbZJAoZQkEpfwFb5reLxaKq12g,669 -django/contrib/admin/templates/registration/password_reset_email.html,sha256=d_NtuuiWTS9AZu6qObmp-lux0UkUCdA9ZUIUKyYJeHE,582 -django/contrib/admin/templates/registration/password_reset_form.html,sha256=b-wxQ_mk7FtqeJ6KQcXbEeXlMWCaiNGafj-7dPeHfDg,970 -django/contrib/admin/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/templatetags/admin_list.py,sha256=6yW09uGViJQ-yLdvoql3q7JnXKdDD408M4l7jeucTjk,16860 -django/contrib/admin/templatetags/admin_modify.py,sha256=uQy-5HqVSeZWnfH98AjGmjIR6oR1rm9Yt71xQYieMhk,3004 -django/contrib/admin/templatetags/admin_static.py,sha256=yDOpxEP2OK0N0e4-wbVd2vepUUmgGPJ7-SYxAE0rJ_4,304 -django/contrib/admin/templatetags/admin_urls.py,sha256=19YZ6jO3NIhyyfHvmBU2UWCJpkxCILIWbXRB7SWPZiQ,1773 -django/contrib/admin/templatetags/log.py,sha256=mxV6mvfVJo0qRCelkjRBNWfrurLABhZvGQlcp5Bn4IU,2079 -django/contrib/admin/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/views/autocomplete.py,sha256=7uZSnvQ1GPdYx6zDEJjCoqIqng8piIzrSmlIPjOJADM,1964 -django/contrib/admin/views/decorators.py,sha256=J4wYcyaFr_-xY1ANl6QF4cFhOupRvjjmBotN0FshVYg,658 -django/contrib/admin/views/main.py,sha256=9NsN36bB79iNYywLeN5FueTjts1FLgeEETMcKuFl2Fk,16874 -django/contrib/admindocs/__init__.py,sha256=oY-eBzAOwpf5g222-vlH5BWHpDzpkj_DW7_XGDj7zgI,69 -django/contrib/admindocs/apps.py,sha256=rV3aWVevgI6o8_9WY0yQ62O5CSMRRZrVwZFt1gpfKk0,216 -django/contrib/admindocs/middleware.py,sha256=j9Anxm6K7DVThuWTeTHgfadMstpRdR4zizJHw9j_lYs,1296 -django/contrib/admindocs/urls.py,sha256=zdHaV60yJMjuLqO9xU0H-j7hz1PmSsepEWZA2GH-eI0,1310 -django/contrib/admindocs/utils.py,sha256=kfCASCLPgCYySKSH2GumnAHWgnHau9n93D_5PhgKEJ4,7961 -django/contrib/admindocs/views.py,sha256=4iuHM403VE_ucFh_VD7u5KHmSL-B6CmbVhoho3nVYZI,16994 -django/contrib/admindocs/locale/af/LC_MESSAGES/django.mo,sha256=GFydi1uBAAkOzJP0FXBCbQFNzX9jK7xqXNsiK7JsOwM,705 -django/contrib/admindocs/locale/af/LC_MESSAGES/django.po,sha256=7nIsCfz1HabA8oPvLBqaofdN8nlFYRi3roXxDpUe_Hs,4680 -django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo,sha256=IoUExlNwqSYql6zMAuXcFt0cmkjMc_i0fb0qp7cBQlA,7286 -django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po,sha256=KT8AOJeiYBk4dyJCyLnHAQJcOP3Fjw6XHOjmHsJ9pEY,7924 -django/contrib/admindocs/locale/ast/LC_MESSAGES/django.mo,sha256=d4u-2zZXnnueWm9CLSnt4TRWgZk2NMlrA6gaytJ2gdU,715 -django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po,sha256=TUkc-Hm4h1kD0NKyndteW97jH6bWcJMFXUuw2Bd62qo,4578 -django/contrib/admindocs/locale/az/LC_MESSAGES/django.mo,sha256=yWjmqVrGit7XjELYepZ9R48eOKma5Wau2RkkSSiJrgc,1687 -django/contrib/admindocs/locale/az/LC_MESSAGES/django.po,sha256=wGdq-g4u8ssHHvODJB-knjZdrP6noxRW9APn_kmOz7w,4993 -django/contrib/admindocs/locale/be/LC_MESSAGES/django.mo,sha256=KY94OxY-NFsFbfZG9cFw77xw68YLDWyuYs04rxwpyU8,8185 -django/contrib/admindocs/locale/be/LC_MESSAGES/django.po,sha256=ijhluxI7Wn9PcZUDG3O8VpRsRVU6AYwZEdkUBfgXAS0,8707 -django/contrib/admindocs/locale/bg/LC_MESSAGES/django.mo,sha256=n9GdBZljKJBmfups8Zt82lpHgEWvonacXztOS6qbAjM,7837 -django/contrib/admindocs/locale/bg/LC_MESSAGES/django.po,sha256=SrmOtJ6nOi3lrgEwr-s76jYzN7lZs05dbEwh9OFxFHU,8692 -django/contrib/admindocs/locale/bn/LC_MESSAGES/django.mo,sha256=NOKVcE8id9G1OctSly4C5lm64CgEF8dohX-Pdyt4kCM,3794 -django/contrib/admindocs/locale/bn/LC_MESSAGES/django.po,sha256=6M7LjIEjvDTjyraxz70On_TIsgqJPLW7omQ0Fz_zyfQ,6266 -django/contrib/admindocs/locale/br/LC_MESSAGES/django.mo,sha256=dxEi_MIOMsiHtDRZwhHnvst54jP1Y18NPEy4v7B-6uI,706 -django/contrib/admindocs/locale/br/LC_MESSAGES/django.po,sha256=GAovZYbTZJ6wcLz7Wc0u8FhXvFD68nV7Cs7JOCs6McA,4572 -django/contrib/admindocs/locale/bs/LC_MESSAGES/django.mo,sha256=clvhu0z3IF5Nt0tZ85hOt4M37pnGEWeIYumE20vLpsI,1730 -django/contrib/admindocs/locale/bs/LC_MESSAGES/django.po,sha256=1-OrVWFqLpeXQFfh7JNjJtvWjVww7iB2s96dcSgLy90,5042 -django/contrib/admindocs/locale/ca/LC_MESSAGES/django.mo,sha256=RZp6R180mKEuO_zKKaMfhP8qDQge9obnuF4qKxvn7Mk,6681 -django/contrib/admindocs/locale/ca/LC_MESSAGES/django.po,sha256=xZfd_o522aYaeqISmPK9vpSuDAWS4XJ1ODULTzaDFg8,7337 -django/contrib/admindocs/locale/cs/LC_MESSAGES/django.mo,sha256=VNltiwoPS5USDnvrYfs_GfzUEO3FYtqKH_jkle5vAoY,6588 -django/contrib/admindocs/locale/cs/LC_MESSAGES/django.po,sha256=1hoetCtTnTTHxG8SijCTqltOJbguOMnfho-ZvXCaI2A,7150 -django/contrib/admindocs/locale/cy/LC_MESSAGES/django.mo,sha256=sYeCCq0CMrFWjT6rKtmFrpC09OEFpYLSI3vu9WtpVTY,5401 -django/contrib/admindocs/locale/cy/LC_MESSAGES/django.po,sha256=GhdikiXtx8Aea459uifQtBjHuTlyUeiKu0_rR_mDKyg,6512 -django/contrib/admindocs/locale/da/LC_MESSAGES/django.mo,sha256=SWw8DiXbYPQCc8nwUPOt68FRUgrd_Eb7Dw9SqKXWrhY,6458 -django/contrib/admindocs/locale/da/LC_MESSAGES/django.po,sha256=_j2DkNr1pVGMcVLA4F1lzurLyS8ElKR4w8qWyhSlUOw,7062 -django/contrib/admindocs/locale/de/LC_MESSAGES/django.mo,sha256=6KJ9OfmvE6yzBF-n6sboLq4vv_o0uhLeevUEAZj-uEo,6585 -django/contrib/admindocs/locale/de/LC_MESSAGES/django.po,sha256=y2kXww5nrZpLJZtWm45d1hUCCq2HeplU9hAtDiOj9qo,7097 -django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.mo,sha256=jJNiddLBOMe9oeadm1h4iDRUqaTmfbJ28fS3h141VCk,6836 -django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.po,sha256=MQQidlh2Ljp0ChO92tVJ_gkbTC0kpEbNAMOC2F903qM,7314 -django/contrib/admindocs/locale/el/LC_MESSAGES/django.mo,sha256=dJy15irtJqzPFc_yHS3LTeXYmPu0-bIlyrDPfbE5pSE,8598 -django/contrib/admindocs/locale/el/LC_MESSAGES/django.po,sha256=82wcERwp7_v3l66v3GKdlT-lVGhwGs8DK0184SbV3zk,9259 -django/contrib/admindocs/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admindocs/locale/en/LC_MESSAGES/django.po,sha256=nR84XXUZlLxu-CriBHo6ljWVqGmeARQvZVvyIIF6JHY,10680 -django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.mo,sha256=BQ54LF9Tx88m-pG_QVz_nm_vqvoy6pVJzL8urSO4l1Q,486 -django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.po,sha256=ho7s1uKEs9FGooyZBurvSjvFz1gDSX6R4G2ZKpF1c9Q,5070 -django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.mo,sha256=xKGbswq1kuWCbn4zCgUQUb58fEGlICIOr00oSdCgtU4,1821 -django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.po,sha256=No09XHkzYVFBgZqo7bPlJk6QD9heE0oaI3JmnrU_p24,4992 -django/contrib/admindocs/locale/eo/LC_MESSAGES/django.mo,sha256=cwozZwZY0TylDQe7JguENqwGIqVhq0PCHK0htOixhsA,6391 -django/contrib/admindocs/locale/eo/LC_MESSAGES/django.po,sha256=WvbW_97wH7tBCbQqzDi0sr4hbsL74V621Bn7lFrMQ4U,6879 -django/contrib/admindocs/locale/es/LC_MESSAGES/django.mo,sha256=OYjdorHASk8cvZfzh4S1tzsB8ukZZQqEP8CJ8ZZD_-w,6673 -django/contrib/admindocs/locale/es/LC_MESSAGES/django.po,sha256=0d-YNcIC4QxJ4c0J62mqCjz7CbrgZZx1J_E4t7PPk7M,7516 -django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.mo,sha256=1-41H1OzEb3L-4LV9OfnbazGm0VQ5oPRxjOpxnjvjLA,6691 -django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.po,sha256=VBSHCqICgxdcVhVH4OvIvocIlv5BOP2QI6xQBgWp3Lk,7247 -django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.mo,sha256=KFjQyWtSxH_kTdSJ-kNUDAFt3qVZI_3Tlpg2pdkvJfs,6476 -django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.po,sha256=dwrTVjYmueLiVPu2yiJ_fkFF8ZeRntABoVND5H2WIRI,7038 -django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.mo,sha256=3hZiFFVO8J9cC624LUt4lBweqmpgdksRtvt2TLq5Jqs,1853 -django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.po,sha256=gNmx1QTbmyMxP3ftGXGWJH_sVGThiSe_VNKkd7M9jOY,5043 -django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.mo,sha256=sMwJ7t5GqPF496w-PvBYUneZ9uSwmi5jP-sWulhc6BM,6663 -django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.po,sha256=ZOcE0f95Q6uD9SelK6bQlKtS2c3JX9QxNYCihPdlM5o,7201 -django/contrib/admindocs/locale/et/LC_MESSAGES/django.mo,sha256=cQwLB8r0hRdWCxp2P8atYGambrKLR18GorVlp_O995M,6402 -django/contrib/admindocs/locale/et/LC_MESSAGES/django.po,sha256=Q3hVcRl3jtexQufNAZWacz3F_VRL1IctRMXYxdXArNE,7009 -django/contrib/admindocs/locale/eu/LC_MESSAGES/django.mo,sha256=WHgK7vGaqjO4MwjBkWz2Y3ABPXCqfnwSGelazRhOiuo,6479 -django/contrib/admindocs/locale/eu/LC_MESSAGES/django.po,sha256=718XgJN7UQcHgE9ku0VyFp7Frs-cvmCTO1o-xS5kpqc,7099 -django/contrib/admindocs/locale/fa/LC_MESSAGES/django.mo,sha256=vpV8y738ijv-UNjfjHMQJXWSCFz5TI_x-MxMur26YEA,7527 -django/contrib/admindocs/locale/fa/LC_MESSAGES/django.po,sha256=Sr9omRw87ylh6cltzJUTxaf3XkkgrMMmTgmTiEYOjaw,8193 -django/contrib/admindocs/locale/fi/LC_MESSAGES/django.mo,sha256=-iPQyWSVn46CF-huqytiomENda1cM0VGAnnVRlwlezQ,6413 -django/contrib/admindocs/locale/fi/LC_MESSAGES/django.po,sha256=AG_WPvp2-c8mQy_Gp4tUACvqN-ACKbr-jxMKb86ilKQ,6945 -django/contrib/admindocs/locale/fr/LC_MESSAGES/django.mo,sha256=9zA2vLYc2wdtnOE2fISo6gd6odAfJARyM3jhwptf2hU,6790 -django/contrib/admindocs/locale/fr/LC_MESSAGES/django.po,sha256=ky8I8laqpSvJSPmqWd5S3kaIVb0QVv1aciUeGxlc3vY,7312 -django/contrib/admindocs/locale/fy/LC_MESSAGES/django.mo,sha256=_xVO-FkPPoTla_R0CzktpRuafD9fuIP_G5N-Q08PxNg,476 -django/contrib/admindocs/locale/fy/LC_MESSAGES/django.po,sha256=b3CRH9bSUl_jjb9s51RlvFXp3bmsmuxTfN_MTmIIVNA,5060 -django/contrib/admindocs/locale/ga/LC_MESSAGES/django.mo,sha256=46M_sp2khE2Bq-p-wPmlzv0cLx7lGnshgsVz8JFIERY,1938 -django/contrib/admindocs/locale/ga/LC_MESSAGES/django.po,sha256=xT1ZwLHeW8MKXziKxQjAC3vNUlM4Na9jZS2YSqGGNoI,5149 -django/contrib/admindocs/locale/gd/LC_MESSAGES/django.mo,sha256=g_HxI2sDlCSI4QMkXmCM1BaBLyA_zm605-lrwWklIWI,6995 -django/contrib/admindocs/locale/gd/LC_MESSAGES/django.po,sha256=8EmFRNWJ1zAdwlK6BMgYe6aw7KwGyDkdUujaYyZJxlI,7477 -django/contrib/admindocs/locale/gl/LC_MESSAGES/django.mo,sha256=CYtHrSyH_Lw0YxmmmndEnMPU-cw5TMr-8NHUjz6v7JM,2265 -django/contrib/admindocs/locale/gl/LC_MESSAGES/django.po,sha256=0S2CJju3EIiEp6kqJIn0Jl1IyRAg2-5ovYMOW0YRtVA,5188 -django/contrib/admindocs/locale/he/LC_MESSAGES/django.mo,sha256=4Ym47IXEM19SY2kPynEXhawHxZ0cehjyOW-wD_eDo48,6912 -django/contrib/admindocs/locale/he/LC_MESSAGES/django.po,sha256=vTP_2GdJOAQLefDgnOnV7lLGoJM7LpHWijrKmDOIXOM,7408 -django/contrib/admindocs/locale/hi/LC_MESSAGES/django.mo,sha256=sZhObIxqrmFu5Y-ZOQC0JGM3ly4IVFr02yqOOOHnDag,2297 -django/contrib/admindocs/locale/hi/LC_MESSAGES/django.po,sha256=X6UfEc6q0BeaxVP_C4priFt8irhh-YGOUUzNQyVnEYY,5506 -django/contrib/admindocs/locale/hr/LC_MESSAGES/django.mo,sha256=fMsayjODNoCdbpBAk9GHtIUaGJGFz4sD9qYrguj-BQA,2550 -django/contrib/admindocs/locale/hr/LC_MESSAGES/django.po,sha256=qi2IB-fBkGovlEz2JAQRUNE54MDdf5gjNJWXM-dIG1s,5403 -django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.mo,sha256=ft4a_FXwxSoabWHHBrX9e9g3SzQG5aYBkOAFki6OK0M,6797 -django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.po,sha256=eQY8M7whVdInK2EeqaeyZCWTH33-qlB2a1IU8eF3uLs,7278 -django/contrib/admindocs/locale/hu/LC_MESSAGES/django.mo,sha256=pAK3eTIgFlPjtJw-3rkd765P78o-LhgM94O8yNBJab8,6660 -django/contrib/admindocs/locale/hu/LC_MESSAGES/django.po,sha256=pJnWzCsWYOZhu0MjMdP3CsTe7Fff4REALZR1SmsJ22Y,7196 -django/contrib/admindocs/locale/ia/LC_MESSAGES/django.mo,sha256=KklX2loobVtA6PqHOZHwF1_A9YeVGlqORinHW09iupI,1860 -django/contrib/admindocs/locale/ia/LC_MESSAGES/django.po,sha256=Z7btOCeARREgdH4CIJlVob_f89r2M9j55IDtTLtgWJU,5028 -django/contrib/admindocs/locale/id/LC_MESSAGES/django.mo,sha256=ls_B8o3QtpvZj8Wbjye1ls_LqgOP3oP-6jcuJzHslkE,6367 -django/contrib/admindocs/locale/id/LC_MESSAGES/django.po,sha256=fHTl0NjPK9xFvhLwLZqgfzTRtrvs6QTpLcAtNaZSQmI,6989 -django/contrib/admindocs/locale/io/LC_MESSAGES/django.mo,sha256=5t9Vurrh6hGqKohwsZIoveGeYCsUvRBRMz9M7k9XYY8,464 -django/contrib/admindocs/locale/io/LC_MESSAGES/django.po,sha256=SVZZEmaS1WbXFRlLLGg5bzUe09pXR23TeJtHUbhyl0w,5048 -django/contrib/admindocs/locale/is/LC_MESSAGES/django.mo,sha256=pEr-_MJi4D-WpNyFaQe3tVKVLq_9V-a4eIF18B3Qyko,1828 -django/contrib/admindocs/locale/is/LC_MESSAGES/django.po,sha256=-mD5fFnL6xUqeW4MITzm8Lvx6KXq4C9DGsEM9kDluZ8,5045 -django/contrib/admindocs/locale/it/LC_MESSAGES/django.mo,sha256=AhGl2DDlIiX9AS3VSj14Hpl86Khrh0USuIIrNajfAvA,6480 -django/contrib/admindocs/locale/it/LC_MESSAGES/django.po,sha256=EWpNc6wFL9vzmTjeB323GlnyuIQ3zy3H-5swX9FIPYA,7155 -django/contrib/admindocs/locale/ja/LC_MESSAGES/django.mo,sha256=F4QwDOvTwCEzGa1E9PoX-VHkF5uJoUcHDVzGl-Fkvc0,7377 -django/contrib/admindocs/locale/ja/LC_MESSAGES/django.po,sha256=Cljuw8oHQafTq2Uw6oDhM4C0Lt_JlQKFebkpkr_zWhA,7936 -django/contrib/admindocs/locale/ka/LC_MESSAGES/django.mo,sha256=COGIfQILK7_Xb1pGl4Z98LLQWYr-EH6_TI3IM7Wv5P0,4441 -django/contrib/admindocs/locale/ka/LC_MESSAGES/django.po,sha256=lx9qSUbU-STxRaqOePfwKZn8n9teql4UiyFN3uIZFMc,6795 -django/contrib/admindocs/locale/kab/LC_MESSAGES/django.mo,sha256=XTuWnZOdXhCFXEW4Hp0zFtUtAF0wJHaFpQqoDUTWYGw,1289 -django/contrib/admindocs/locale/kab/LC_MESSAGES/django.po,sha256=lQWewMZncWUvGhpkgU_rtwWHcgAyvhIkrDfjFu1l-d8,4716 -django/contrib/admindocs/locale/kk/LC_MESSAGES/django.mo,sha256=ZgQRp2IwERnwWKnFOSx6L-no9bnndzut_g4-zwhHpgM,1623 -django/contrib/admindocs/locale/kk/LC_MESSAGES/django.po,sha256=704iJamoOiNc3VKDMzV0bwsWjEfxSS1PQru7TP37wAA,5085 -django/contrib/admindocs/locale/km/LC_MESSAGES/django.mo,sha256=Fff1K0qzialXE_tLiGM_iO5kh8eAmQhPZ0h-eB9iNOU,1476 -django/contrib/admindocs/locale/km/LC_MESSAGES/django.po,sha256=E_CaaYc4GqOPgPh2t7iuo0Uf4HSQQFWAoxSOCG-uEGU,4998 -django/contrib/admindocs/locale/kn/LC_MESSAGES/django.mo,sha256=lisxE1zzW-Spdm7hIzXxDAfS7bM-RdrAG_mQVwz9WMU,1656 -django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po,sha256=fbiHUPdw_iXrOvgiIvPTJI3WPLD_T77VBfhqW6gjq1c,5178 -django/contrib/admindocs/locale/ko/LC_MESSAGES/django.mo,sha256=eZaKtL6wL4GjEnx6wKO2wJoV-BrTjGyPpKHx8pZ7Fug,6609 -django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po,sha256=mlCXxR8y6pV9egVZTsCucsKAi4D-wiSSwq1wMGqHjcg,7285 -django/contrib/admindocs/locale/lb/LC_MESSAGES/django.mo,sha256=N0hKFuAdDIq5clRKZirGh4_YDLsxi1PSX3DVe_CZe4k,474 -django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po,sha256=B46-wRHMKUMcbvMCdojOCxqIVL5qVEh4Czo20Qgz6oU,5058 -django/contrib/admindocs/locale/lt/LC_MESSAGES/django.mo,sha256=o7X4bUYV9OhbG1DbQRZ4fSa-bd0QtaQgkqOuMUMXZTA,6673 -django/contrib/admindocs/locale/lt/LC_MESSAGES/django.po,sha256=XIo4qct4l8y7xpJOqWuSd6dTManhrpqX4WVxUvlJvy8,7373 -django/contrib/admindocs/locale/lv/LC_MESSAGES/django.mo,sha256=lHUI2I_Xj9zQQXReg_StrXPNvNxqme0fcjHqQO545jM,6487 -django/contrib/admindocs/locale/lv/LC_MESSAGES/django.po,sha256=uPOUrYKB-osuZ0Hg9vSSvirrKT1gdSOy1gDRHLGe9-g,7049 -django/contrib/admindocs/locale/mk/LC_MESSAGES/django.mo,sha256=8H9IpRASM7O2-Ql1doVgM9c4ybZ2KcfnJr12PpprgP4,8290 -django/contrib/admindocs/locale/mk/LC_MESSAGES/django.po,sha256=Uew7tEljjgmslgfYJOP9JF9ELp6NbhkZG_v50CZgBg8,8929 -django/contrib/admindocs/locale/ml/LC_MESSAGES/django.mo,sha256=iGH5F1BE1GELyWawhc5QFoX318GIJY-2XvgSGtg3Cig,2704 -django/contrib/admindocs/locale/ml/LC_MESSAGES/django.po,sha256=KkLQj0wABCqrFHA9vwv236zstN359cPsg6cjxRZ_OuM,5911 -django/contrib/admindocs/locale/mn/LC_MESSAGES/django.mo,sha256=KqdcvSpqmjRfA8M4nGB9Cnu9Auj4pTu9aH07XtCep3I,7607 -django/contrib/admindocs/locale/mn/LC_MESSAGES/django.po,sha256=PGhlnzDKyAIRzaPCbNujpxSpf_JaOG66LK_NMlnZy6I,8316 -django/contrib/admindocs/locale/mr/LC_MESSAGES/django.mo,sha256=LDGC7YRyVBU50W-iH0MuESunlRXrNfNjwjXRCBdfFVg,468 -django/contrib/admindocs/locale/mr/LC_MESSAGES/django.po,sha256=5cUgPltXyS2Z0kIKF5ER8f5DuBhwmAINJQyfHj652d0,5052 -django/contrib/admindocs/locale/my/LC_MESSAGES/django.mo,sha256=AsdUmou0FjCiML3QOeXMdbHiaSt2GdGMcEKRJFonLOQ,1721 -django/contrib/admindocs/locale/my/LC_MESSAGES/django.po,sha256=c75V-PprKrWzgrHbfrZOpm00U_zZRzxAUr2U_j8MF4w,5189 -django/contrib/admindocs/locale/nb/LC_MESSAGES/django.mo,sha256=-bqqbUhhOeXaLpNaBPdvAOMVOcUycSn_LMc4KQZ3-cI,6346 -django/contrib/admindocs/locale/nb/LC_MESSAGES/django.po,sha256=Pinb5oYBHqxDF0X5PXcZ4ypW2awXBE4q2p3eYVjTDRo,6935 -django/contrib/admindocs/locale/ne/LC_MESSAGES/django.mo,sha256=vx3Rcm4p1TNT1NXHEVk5q6C5Cux_5zK3ozwNorGzUjk,1505 -django/contrib/admindocs/locale/ne/LC_MESSAGES/django.po,sha256=FTpLzGCFoGAAeZjGI-ZlyaLVfUKwsV758Ca8o5AjREQ,5009 -django/contrib/admindocs/locale/nl/LC_MESSAGES/django.mo,sha256=q2AkgM7vSz-4oNmeBdkzlJ6CYeHotSz46pouZzRfrRM,6349 -django/contrib/admindocs/locale/nl/LC_MESSAGES/django.po,sha256=051HnemeTAcVvvNxkFKzYzxQso-WwM0u1pnRPJil688,6998 -django/contrib/admindocs/locale/nn/LC_MESSAGES/django.mo,sha256=Dx-A4dlDEoOKrtvis1mWfvwA2Urj-QAiKNmBy--v0oY,1662 -django/contrib/admindocs/locale/nn/LC_MESSAGES/django.po,sha256=VAHAyol0YEaHd0TaGxaQuVUIR72QB3VUnB1ARtr-AWw,4974 -django/contrib/admindocs/locale/os/LC_MESSAGES/django.mo,sha256=zSQBgSj4jSu5Km0itNgDtbkb1SbxzRvQeZ5M9sXHI8k,2044 -django/contrib/admindocs/locale/os/LC_MESSAGES/django.po,sha256=hZlMmmqfbGmoiElGbJg7Fp791ZuOpRFrSu09xBXt6z4,5215 -django/contrib/admindocs/locale/pa/LC_MESSAGES/django.mo,sha256=yFeO0eZIksXeDhAl3CrnkL1CF7PHz1PII2kIxGA0opQ,1275 -django/contrib/admindocs/locale/pa/LC_MESSAGES/django.po,sha256=DA5LFFLOXHIJIqrrnj9k_rqL-wr63RYX_i-IJFhBuc0,4900 -django/contrib/admindocs/locale/pl/LC_MESSAGES/django.mo,sha256=EesxAXz7TGC7Llv85MWiqgXmJboTTCXcTw-58RvOQH0,6652 -django/contrib/admindocs/locale/pl/LC_MESSAGES/django.po,sha256=F9BXW5MygjhwJ0yw672hRl7c6612caR60KOxfcaZcKM,7455 -django/contrib/admindocs/locale/pt/LC_MESSAGES/django.mo,sha256=WcXhSlbGdJgVMvydkPYYee7iOQ9SYdrLkquzgIBhVWU,6566 -django/contrib/admindocs/locale/pt/LC_MESSAGES/django.po,sha256=J98Hxa-ApyzRevBwcAldK9bRYbkn5DFw3Z5P7SMEwx0,7191 -django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.mo,sha256=7R52AIZM0NjoASXDmNLzv4x1fePtn9Fj3HJy3iSOsz4,6601 -django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.po,sha256=gIraoQfr6DLWV418adqzym7untmC4fN42WT6X057_A4,7404 -django/contrib/admindocs/locale/ro/LC_MESSAGES/django.mo,sha256=OahWPVuzae_CG3hTXkqycHG97TIIfkS4hnVe8SXQ_cg,6804 -django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po,sha256=tgjbrXGCnM5K-vDsAMLO46G6AMPijNz-0Y0hQgctX0I,7416 -django/contrib/admindocs/locale/ru/LC_MESSAGES/django.mo,sha256=m6sfSIxFI5WJjxdSXZvDcm9A1xIxXJD2r5-UdeIbdlc,8569 -django/contrib/admindocs/locale/ru/LC_MESSAGES/django.po,sha256=i0xEq4zScDKrmRJODgIewx_kUMkmeIPxPNE42Vw9AsI,9226 -django/contrib/admindocs/locale/sk/LC_MESSAGES/django.mo,sha256=_hYfHHwypg7psErP-3c2TY2xITIxaLaAfNofrfoboTA,6637 -django/contrib/admindocs/locale/sk/LC_MESSAGES/django.po,sha256=zIULDrr3lkg5PGLyjXEXM_VGrAUtfmYMHo8G0H6zrRg,7286 -django/contrib/admindocs/locale/sl/LC_MESSAGES/django.mo,sha256=FMg_s9ZpeRD42OsSF9bpe8pRQ7wP7-a9WWnaVliqXpU,6508 -django/contrib/admindocs/locale/sl/LC_MESSAGES/django.po,sha256=JWO_WZAwBpXw-4FoB7rkWXGhi9aEVq1tH2fOC69rcgg,7105 -django/contrib/admindocs/locale/sq/LC_MESSAGES/django.mo,sha256=lbUhjyQWbGARQ6BggqWH1tO6kNi5lMwu-523mC9JCMA,6565 -django/contrib/admindocs/locale/sq/LC_MESSAGES/django.po,sha256=ZA_o7xIUMTVYadovn4Yxl7W54nGzPnIBjkrL66V8pAE,7081 -django/contrib/admindocs/locale/sr/LC_MESSAGES/django.mo,sha256=GnfckcHcuOaXYY1wNmI6VQmGjPX3dpnhgtANIdz8NrE,2217 -django/contrib/admindocs/locale/sr/LC_MESSAGES/django.po,sha256=bYCdRzdUTTmg-UYF-IWSHvA1H0g7C0T2Z3wrWbLwGkw,5425 -django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=au90IT43VR162L2jEsYqhRpso2dvOjpCPSCFiglokTc,1932 -django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.po,sha256=tJ4tHLJj0tDaVZba3WIkI0kg95_jEYWTmqXD0rFb6T8,5140 -django/contrib/admindocs/locale/sv/LC_MESSAGES/django.mo,sha256=cxjvRWC4s9h6TWzY4OE6pec3wh9gbMI_cpKNcfi3RSI,5661 -django/contrib/admindocs/locale/sv/LC_MESSAGES/django.po,sha256=t11gzFzreJ2Z7TWPvUTD2Lc8DXDlOQUj7TfSYjGG21w,6672 -django/contrib/admindocs/locale/sw/LC_MESSAGES/django.mo,sha256=pyJfGL7UdPrJAVlCB3YimXxTjTfEkoZQWX-CSpDkcWc,1808 -django/contrib/admindocs/locale/sw/LC_MESSAGES/django.po,sha256=SIywrLX1UGx4OiPxoxUYelmQ1YaY2LMa3dxynGQpHp8,4929 -django/contrib/admindocs/locale/ta/LC_MESSAGES/django.mo,sha256=8SjQ9eGGyaZGhkuDoZTdtYKuqcVyEtWrJuSabvNRUVM,1675 -django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po,sha256=k593yzVqpSQOsdpuF-rdsSLwKQU8S_QFMRpZXww__1A,5194 -django/contrib/admindocs/locale/te/LC_MESSAGES/django.mo,sha256=eAzNpYRy_G1erCcKDAMnJC4809ITRHvJjO3vpyAC_mk,1684 -django/contrib/admindocs/locale/te/LC_MESSAGES/django.po,sha256=oDg_J8JxepFKIe5m6lDKVC4YWQ_gDLibgNyQ3508VOM,5204 -django/contrib/admindocs/locale/th/LC_MESSAGES/django.mo,sha256=bHK49r45Q1nX4qv0a0jtDja9swKbDHHJVLa3gM13Cb4,2167 -django/contrib/admindocs/locale/th/LC_MESSAGES/django.po,sha256=_GMgPrD8Zs0lPKQOMlBmVu1I59yXSV42kfkrHzeiehY,5372 -django/contrib/admindocs/locale/tr/LC_MESSAGES/django.mo,sha256=qK7BooitjyWEj-KtIR6mkGVfqrAh92un_D2RDYqHfK0,6625 -django/contrib/admindocs/locale/tr/LC_MESSAGES/django.po,sha256=9Q2F3sWt8Y5WA6y8is8BZb74g80PaazArlZmim7X40E,7235 -django/contrib/admindocs/locale/tt/LC_MESSAGES/django.mo,sha256=pQmAQOPbrBVzBqtoQ0dsFWFwC6LxA5mQZ9QPqL6pSFw,1869 -django/contrib/admindocs/locale/tt/LC_MESSAGES/django.po,sha256=NCLv7sSwvEficUOSoMJlHGqjgjYvrvm2V3j1Gkviw80,5181 -django/contrib/admindocs/locale/udm/LC_MESSAGES/django.mo,sha256=hwDLYgadsKrQEPi9HiuMWF6jiiYUSy4y-7PVNJMaNpY,618 -django/contrib/admindocs/locale/udm/LC_MESSAGES/django.po,sha256=29fpfn4p8KxxrBdg4QB0GW_l8genZVV0kYi50zO-qKs,5099 -django/contrib/admindocs/locale/uk/LC_MESSAGES/django.mo,sha256=uAW0HQdedzkV7MlXBeG9-wlinGHmPKYEn1_-4GVwTc4,8342 -django/contrib/admindocs/locale/uk/LC_MESSAGES/django.po,sha256=KD3jmpidDrTxzOPlqygz760kW1TztPYb-KPq_fi1dUs,9125 -django/contrib/admindocs/locale/ur/LC_MESSAGES/django.mo,sha256=VNg9o_7M0Z2LC0n3_-iwF3zYmncRJHaFqqpxuPmMq84,1836 -django/contrib/admindocs/locale/ur/LC_MESSAGES/django.po,sha256=QTg85c4Z13hMN_PnhjaLX3wx6TU4SH4hPTzNBfNVaMU,5148 -django/contrib/admindocs/locale/vi/LC_MESSAGES/django.mo,sha256=F6dyo00yeyUND_w1Ocm9SL_MUdXb60QQpmAQPto53IU,1306 -django/contrib/admindocs/locale/vi/LC_MESSAGES/django.po,sha256=JrVKjT848Y1cS4tpH-eRivFNwM-cUs886UEhY2FkTPw,4836 -django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=ofyr93DAtNADnsn3OWY5fo8Rh6VL8w9DRJXeUe2zod8,6110 -django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.po,sha256=bMvp2QdcvV36p7SOvqGgCE6ov1nPyU-EDiHJzNVGTHI,6761 -django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=R7NJ9FsGg7h6sETHiXL8jCN6vk_R5AP5vSY9u6R2d1I,4747 -django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.po,sha256=lFWmaYFnY4pf8HQ1WJSAlX6HrOGIdHp_aqMb4e5pgVY,6138 -django/contrib/admindocs/templates/admin_doc/bookmarklets.html,sha256=KbUjr9cygmTvlCiilIGvDTvLuYDdvi4HqzLLK_UBAHw,1333 -django/contrib/admindocs/templates/admin_doc/index.html,sha256=o1Z-Z6Dx8jzLwjihNnhROUOUKK_ILALjWGlMYz4U8u8,1313 -django/contrib/admindocs/templates/admin_doc/missing_docutils.html,sha256=LA8fyI_q_kRmE0e99XgiIDry3GRQ7ZjAu9EYBuCLT3Q,734 -django/contrib/admindocs/templates/admin_doc/model_detail.html,sha256=OfrSMc1vE_qItQrHO6GBBkwlhOQKex03ogvJJSyr2Jg,1824 -django/contrib/admindocs/templates/admin_doc/model_index.html,sha256=ow10WgNZUa6fUCp23ZmvR-kVdYUL29i3HBJ_iwlezfw,1322 -django/contrib/admindocs/templates/admin_doc/template_detail.html,sha256=xN-QihBsDVvpAI3C219Q__FMijnxw8j-wevYkk_mxMQ,995 -django/contrib/admindocs/templates/admin_doc/template_filter_index.html,sha256=PAzC_vpGSddmcza2UXWRuoSkhd0YVYiK_EEtP3eWJQo,1751 -django/contrib/admindocs/templates/admin_doc/template_tag_index.html,sha256=hmLoj_nh53MVJdnqrrlIg36rgSXj4k0IlimMSsQQmVE,1707 -django/contrib/admindocs/templates/admin_doc/view_detail.html,sha256=4mNkUt1_Q8ZGsvsZ1XMirPWNzJyptYMXZVIdPo9UVMc,896 -django/contrib/admindocs/templates/admin_doc/view_index.html,sha256=McuormWD-bVpIiSbnRvy09A-AURhMJeEhy9YX-kbzfs,1684 -django/contrib/auth/__init__.py,sha256=ADkkXnZcCe1qdMn77UgkgKnxZLTjk6gYocI5ZvEcpDE,9206 -django/contrib/auth/admin.py,sha256=5ibrsi934r3-9V7KhSYDm-59mcIaCm6jOXZ2AFTFwHg,8682 -django/contrib/auth/apps.py,sha256=fJNu_-e4MK2zPm9EvUfMBVrW9rw74zsiYih4SmhufW4,956 -django/contrib/auth/backends.py,sha256=_P9ZSQ0NeMFMuRdCsTuXSbnpVFdSQnm7nAZmtv4I06g,6684 -django/contrib/auth/base_user.py,sha256=DS1kB_lYyHW_CbibFanrC7Ow0Lubp8Wifkvsu6uIKYU,4561 -django/contrib/auth/checks.py,sha256=eml6rKyw4rEIHxBJUcqChUdvfEh69Monyjkm9FDTOoY,6355 -django/contrib/auth/common-passwords.txt.gz,sha256=EQsJeKUVEhNdKz_y83Tyip8sTs6R2eIKEAZpfmI66LE,3876 -django/contrib/auth/context_processors.py,sha256=Vb91feuKV9a3BBgR0hrrGmZvVPw0JyYgeA_mRX9QK1c,1822 -django/contrib/auth/decorators.py,sha256=m7U2K7FSMimPdRQd6ozp_asje5srCBmNnvlxh7wfqek,2893 -django/contrib/auth/forms.py,sha256=Op7cZFagwd45v0ZCC9l13xNPLUosJ-2PAlOmT0vcZgQ,15003 -django/contrib/auth/hashers.py,sha256=rq942WSDgrRntTMeGpdYxtP6Z16ADGXFqgeKP8nnHG0,22132 -django/contrib/auth/middleware.py,sha256=ihtkwdqyINaDDix1w3WKE9GayaGABY88j6drV0mHGDs,5399 -django/contrib/auth/mixins.py,sha256=NE4XTW5ooDIkFynB7bYvPmn2nZ4rfmf1No7oSmXCVOE,3809 -django/contrib/auth/models.py,sha256=cNiEZ8zgI9rDGsc4mKqMC9d0NECuoemroE7Dcabn71E,14263 -django/contrib/auth/password_validation.py,sha256=QNm-95BUKXU3naaKGtF9666EU2FTyoKHAPmSyZ3Ar8s,7464 -django/contrib/auth/signals.py,sha256=_QNYY-RzkwTvY3FRo01AW1S-D9l8lVb3ebt6F1GBfMU,227 -django/contrib/auth/tokens.py,sha256=YFS_0l8A2Fpdm0BR9vmRgMjPmdchgEWgPXfmux7XcPo,2823 -django/contrib/auth/urls.py,sha256=6M54eTFdCFEqW0pzzKND4R5-8S9JrzoPcaVt0qA3JXc,1054 -django/contrib/auth/validators.py,sha256=AXlNhfwEd2sonzVAsitbBvKLnBc9CqdGuAmjUB8mEPM,685 -django/contrib/auth/views.py,sha256=cmzrxmsp3zvuB4FYvLh1tDBLC_O3GzgfswfjxrNlICg,22468 -django/contrib/auth/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/auth/handlers/modwsgi.py,sha256=h0T065RiZwMAh3ai2IMeiEQdzmWK62qah7WmOlou6CI,1298 -django/contrib/auth/locale/af/LC_MESSAGES/django.mo,sha256=35F25KM8TCmA0iGFdN_v_SI-3BExezOffEgr_urb06Y,649 -django/contrib/auth/locale/af/LC_MESSAGES/django.po,sha256=cuKRtpHnljceWKGqx8qZAb08XeHd5co3CHRO2V_m4CI,4879 -django/contrib/auth/locale/ar/LC_MESSAGES/django.mo,sha256=lw7pjDDz5lRnSE6bvyGjdcuX06-mUxRZ6AOGreBP8o0,8705 -django/contrib/auth/locale/ar/LC_MESSAGES/django.po,sha256=3RZUD_C65heRnHppLoljc8REA_l1Df-vJ5rvhjEPr-g,9762 -django/contrib/auth/locale/ast/LC_MESSAGES/django.mo,sha256=Pt3gYY3j8Eroo4lAEmf-LR6u9U56mpE3vqLhjR4Uq-o,2250 -django/contrib/auth/locale/ast/LC_MESSAGES/django.po,sha256=Kiq4s8d1HnYpo3DQGlgUl3bOkxmgGW8CvGp9AbryRk8,5440 -django/contrib/auth/locale/az/LC_MESSAGES/django.mo,sha256=ljzBNGFBc9lV1K2goFd5o2GZf1T46_zCYylYRiKr9eE,5859 -django/contrib/auth/locale/az/LC_MESSAGES/django.po,sha256=hMBPuh7FKj4JPV-i45h44r_6ctuRNQCGq1e61bzYOJY,6828 -django/contrib/auth/locale/be/LC_MESSAGES/django.mo,sha256=YmJ7Gh14qYbk1OTHXqR4GEVdHcxGRHnpgf7xqzUKCR8,10008 -django/contrib/auth/locale/be/LC_MESSAGES/django.po,sha256=vPm5UJWEbhpoAslJhfvHyeTw6MGAfkrvSMd3EbnnmGk,10285 -django/contrib/auth/locale/bg/LC_MESSAGES/django.mo,sha256=ZwwXfAeWM92GObhxU6zzGu36KJUpkGOuEeprRMu5mZc,8751 -django/contrib/auth/locale/bg/LC_MESSAGES/django.po,sha256=_a2hoIiJRbvW3ymKAkAp-UZNk5AiUy5HqPBBby74Jew,9492 -django/contrib/auth/locale/bn/LC_MESSAGES/django.mo,sha256=cJSawQn3rNh2I57zK9vRi0r1xc598Wr26AyHh6D50ZQ,5455 -django/contrib/auth/locale/bn/LC_MESSAGES/django.po,sha256=5Vqd4n9ab98IMev4GHLxpO7f4r9nnhC3Nfx27HQNd8s,7671 -django/contrib/auth/locale/br/LC_MESSAGES/django.mo,sha256=iQPFHHrb3nWLLStmlg8shzOkpQ959Gx1pION6tEwBvA,1144 -django/contrib/auth/locale/br/LC_MESSAGES/django.po,sha256=unynO4-jNqwaRC7j8xp-tLbGu8vdHNfqbvT0Bc394XQ,5051 -django/contrib/auth/locale/bs/LC_MESSAGES/django.mo,sha256=1i1CxyXwfskDZtItZQuEpZFlV3cpIo6Ls7Ocs0X3VTA,2963 -django/contrib/auth/locale/bs/LC_MESSAGES/django.po,sha256=C5CQ5vqjuLscWSKHVu0niGzmhxX0y-pf_eiuEr-ZmGU,5793 -django/contrib/auth/locale/ca/LC_MESSAGES/django.mo,sha256=jyns0csr6qPjXSwGuP0PCaz2Ag1a1ZZsm5ZohyT8T3M,7313 -django/contrib/auth/locale/ca/LC_MESSAGES/django.po,sha256=0rG9MwaIJYcLa01txFBOK_wy6Aq1i5eDfnPQhVQznDs,7791 -django/contrib/auth/locale/cs/LC_MESSAGES/django.mo,sha256=1ujTab5YmMkipbkj_DMzigtnHTGc_aVTjviCpvitbBs,7621 -django/contrib/auth/locale/cs/LC_MESSAGES/django.po,sha256=mr9Rbn-dtvmF7I4DW-jvKUvIuELCYnReNOex4u_TPv0,8000 -django/contrib/auth/locale/cy/LC_MESSAGES/django.mo,sha256=lSfCwEVteW4PDaiGKPDxnSnlDUcGMkPfsxIluExZar0,4338 -django/contrib/auth/locale/cy/LC_MESSAGES/django.po,sha256=-LPAKGXNzB77lVHfCRmFlH3SUaLgOXk_YxfC0BomcEs,6353 -django/contrib/auth/locale/da/LC_MESSAGES/django.mo,sha256=uavulGt9dlP0FcOlQMvNTjF7nNcMNEJEd13EGrKjrmM,7452 -django/contrib/auth/locale/da/LC_MESSAGES/django.po,sha256=agG-MuUFTaZ_hFpqomiNhGQx5BKFOQL8z43QnGGFVB0,7765 -django/contrib/auth/locale/de/LC_MESSAGES/django.mo,sha256=Z4KFdT7BIn3DIVkwpdodfiFcvWTeVQEPUWU4QgMOYcc,7514 -django/contrib/auth/locale/de/LC_MESSAGES/django.po,sha256=plqGyseVxlR310SFqvPrkXParg-7Z-MfdNBk1UiD52Y,7919 -django/contrib/auth/locale/dsb/LC_MESSAGES/django.mo,sha256=BAAXuvUHRZYPdNoKFh1UiqBYAbyOC2SQRCpQGuW1zR4,8096 -django/contrib/auth/locale/dsb/LC_MESSAGES/django.po,sha256=UopznBtYDxdKbSenij3cIiBcdnsDhzyCnieIdVlkJEU,8350 -django/contrib/auth/locale/el/LC_MESSAGES/django.mo,sha256=OI3Z-VdpAfDr3oU6x6SdSOGzzEqeykqqP-Wkx4qUKnI,9665 -django/contrib/auth/locale/el/LC_MESSAGES/django.po,sha256=yvuBOwLGg3z7oC4dSbbA9pdKRxl1vNeJlPtgl6mVvBQ,10373 -django/contrib/auth/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/auth/locale/en/LC_MESSAGES/django.po,sha256=m_pwsxUew88m8RWQ-67V473WosKFWfV2nkSTWxIyt50,7918 -django/contrib/auth/locale/en_AU/LC_MESSAGES/django.mo,sha256=74v8gY8VcSrDgsPDaIMET5frCvtzgLE8oHgX1xNWUvw,3650 -django/contrib/auth/locale/en_AU/LC_MESSAGES/django.po,sha256=lg-LFEeZXxGsNNZ656ePDvAAncjuy0LKuQxUFvQCUJk,5921 -django/contrib/auth/locale/en_GB/LC_MESSAGES/django.mo,sha256=p57gDaYVvgEk1x80Hq4Pn2SZbsp9ly3XrJ5Ttlt2yOE,3179 -django/contrib/auth/locale/en_GB/LC_MESSAGES/django.po,sha256=-yDflw5-81VOlyqkmLJN17FRuwDrhYXItFUJwx2aqpE,5787 -django/contrib/auth/locale/eo/LC_MESSAGES/django.mo,sha256=1lSTFZiD5KczQ4FfsgDg6pDo7W4gYn9XeimIf-tum84,7019 -django/contrib/auth/locale/eo/LC_MESSAGES/django.po,sha256=zwyShsKg1ngFq2TlraR2iinx47K7Z87RjiujsNDut2A,7438 -django/contrib/auth/locale/es/LC_MESSAGES/django.mo,sha256=fu-Qpqz4XyYu1_irM742YYT4KUFa2niDZuVo1bbXpTM,7766 -django/contrib/auth/locale/es/LC_MESSAGES/django.po,sha256=U3C1QK5ZVLREVepW6oLVnD3hBNhdlv7ZrjzzMyDLcY4,8427 -django/contrib/auth/locale/es_AR/LC_MESSAGES/django.mo,sha256=DnK67G_cBQ62T8FzOeT9UAe5dkYOOYo__cUoCRAcv8w,7920 -django/contrib/auth/locale/es_AR/LC_MESSAGES/django.po,sha256=vcwNz5PSwMs5vOIFR-xN4ZIjYfzTOAmiYTJHAFFDaxU,8146 -django/contrib/auth/locale/es_CO/LC_MESSAGES/django.mo,sha256=K5VaKTyeV_WoKsLR1x8ZG4VQmk3azj6ZM8Phqjs81So,6529 -django/contrib/auth/locale/es_CO/LC_MESSAGES/django.po,sha256=qJywTaYi7TmeMB1sjwsiwG8GXtxAOaOX0voj7lLVZRw,7703 -django/contrib/auth/locale/es_MX/LC_MESSAGES/django.mo,sha256=B5WKjfMrvFMcj7xi7-0BsH-G_KhGvTcSycyzjQGC2WA,7514 -django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po,sha256=Dsj4cZ0E2KsZphTh3zgJjy45CgWwj85O1QmMmPaJYAA,7936 -django/contrib/auth/locale/es_VE/LC_MESSAGES/django.mo,sha256=GwpZytNHtK7Y9dqQKDiVi4SfA1AtPlk824_k7awqrdI,7415 -django/contrib/auth/locale/es_VE/LC_MESSAGES/django.po,sha256=G3mSCo_XGRUfOAKUeP_UNfWVzDPpbQrVYQt8Hv3VZVM,7824 -django/contrib/auth/locale/et/LC_MESSAGES/django.mo,sha256=DgY1GY3M_oBtdW692gk2RxcrGMiy7Eqdg2mD0iHsNVo,7432 -django/contrib/auth/locale/et/LC_MESSAGES/django.po,sha256=Wvqd4XplrtEA2dXg1SLGFgWcchkh3gPHgj8cOovQ3XU,7842 -django/contrib/auth/locale/eu/LC_MESSAGES/django.mo,sha256=JUzadyH5nBxQQON6vHo6fYVD0jPoB0KuSAxiRxzaot8,7406 -django/contrib/auth/locale/eu/LC_MESSAGES/django.po,sha256=b7aQGkp-u3VHd6LC1LHsZ1uCkKXqo5duvUFy-UhHMi0,7778 -django/contrib/auth/locale/fa/LC_MESSAGES/django.mo,sha256=I82T66B_dQGhcrQkJFNA8wB1nGmqFCTo2XLQzzvD-bA,8263 -django/contrib/auth/locale/fa/LC_MESSAGES/django.po,sha256=nxq_eDjLj3fBZpKW5UYFCGOMdgSMztHrUIRE1plBrlI,8733 -django/contrib/auth/locale/fi/LC_MESSAGES/django.mo,sha256=xjjxjOsXyJ4is_tTXHdiA46lKK_-23F9qMTPn5ivF20,7195 -django/contrib/auth/locale/fi/LC_MESSAGES/django.po,sha256=AFYR_nqn9iYHL8OgxF1WQD3IrifkNjLGL2aK4TF_l94,7650 -django/contrib/auth/locale/fr/LC_MESSAGES/django.mo,sha256=3sYnsgpWnJRUbbcoGfTHnwPrxH74VZv-O9zfOFxYQ3o,8114 -django/contrib/auth/locale/fr/LC_MESSAGES/django.po,sha256=4Oy8cvyYG5ep2xvE6hEmEszu1wJJ7oHEgUdY6MCsteI,8449 -django/contrib/auth/locale/fy/LC_MESSAGES/django.mo,sha256=95N-77SHF0AzQEer5LuBKu5n5oWf3pbH6_hQGvDrlP4,476 -django/contrib/auth/locale/fy/LC_MESSAGES/django.po,sha256=8XOzOFx-WerF7whzTie03hgO-dkbUFZneyrpZtat5JY,3704 -django/contrib/auth/locale/ga/LC_MESSAGES/django.mo,sha256=Nd02Ed9ACCY6JCCSwtiWl3DTODLFFu9Mq6JVlr5YbYk,3572 -django/contrib/auth/locale/ga/LC_MESSAGES/django.po,sha256=FQJMR5DosuKqo4vvF0NAQnjfqbH54MSzqL2-4BO4-uM,6127 -django/contrib/auth/locale/gd/LC_MESSAGES/django.mo,sha256=VviVmi6nVpH5U3za23353_MXTIkExdVJOFzdu1FDCgo,8720 -django/contrib/auth/locale/gd/LC_MESSAGES/django.po,sha256=Vn_dHeBR4q-Nb-Z14MGE9xFiDKK7eaNa8ySM0dhT-2Q,9018 -django/contrib/auth/locale/gl/LC_MESSAGES/django.mo,sha256=Lm4HI1LS28Nw5ZHcVjdMgEsFjeV6UqQwI14ZeEgbK9A,3891 -django/contrib/auth/locale/gl/LC_MESSAGES/django.po,sha256=4V3U-_ZcnXpNQOOfLls18ACidluItzXxFaGfJlu0YM8,6299 -django/contrib/auth/locale/he/LC_MESSAGES/django.mo,sha256=tEK7AbBitn98v0SWBP9kLob5fNMgbxSXuUKMo1PGU7E,8170 -django/contrib/auth/locale/he/LC_MESSAGES/django.po,sha256=qqAb7YNgjfhvy6O7LrJBPwoeJFZSc6hvhbvtbuqSQuU,8432 -django/contrib/auth/locale/hi/LC_MESSAGES/django.mo,sha256=7CxV1H37hMbgKIhnAWx-aJmipLRosJe1qg8BH2CABfw,5364 -django/contrib/auth/locale/hi/LC_MESSAGES/django.po,sha256=DU5YM6r1kd5fo40yqFXzEaNh42ezFQFQ-0dmVqkaKQ0,7769 -django/contrib/auth/locale/hr/LC_MESSAGES/django.mo,sha256=GEap3QClwCkuwQZKJE7qOZl93RRxmyyvTTnOTYaAWUo,5894 -django/contrib/auth/locale/hr/LC_MESSAGES/django.po,sha256=ALftoYSaI1U90RNDEvnaFATbw1SL0m8fNXAyl6DkSvo,7355 -django/contrib/auth/locale/hsb/LC_MESSAGES/django.mo,sha256=PanVy6rcRBJ_Mr-BVKk8GIQOFZvtNz5Frga_GC5Ulmc,7925 -django/contrib/auth/locale/hsb/LC_MESSAGES/django.po,sha256=ZctqPoxjR1ofZ35OjDqaFi4QWcPXW6U_uGkudpOiAAc,8170 -django/contrib/auth/locale/hu/LC_MESSAGES/django.mo,sha256=JG0ZJ06LWE0XHjm7oS2n5tycMRkNGAV1qDJVkR7O45I,7691 -django/contrib/auth/locale/hu/LC_MESSAGES/django.po,sha256=3GSfUuXh7T7xH4_bLtgihH575dP63o1pSH0o7c8df2o,7999 -django/contrib/auth/locale/ia/LC_MESSAGES/django.mo,sha256=oTzOm7fRjn79_pU9zy6D_Ehex5FK7hjQYe4soeHhRkk,3314 -django/contrib/auth/locale/ia/LC_MESSAGES/django.po,sha256=LzJOXjj1Fa61zk3v2d-aWS48eva2S0b0jJ9r5CqiFDY,5881 -django/contrib/auth/locale/id/LC_MESSAGES/django.mo,sha256=iLbDPmfr31uL7Uddi1Pby-r4RYMa-W2feB-1Pii4ft4,6905 -django/contrib/auth/locale/id/LC_MESSAGES/django.po,sha256=vTmla-e84YuBcTlZYQmoeXvf4XX9m_Nij1PkA4hHJI8,7399 -django/contrib/auth/locale/io/LC_MESSAGES/django.mo,sha256=YwAS3aWljAGXWcBhGU_GLVuGJbHJnGY8kUCE89CPdks,464 -django/contrib/auth/locale/io/LC_MESSAGES/django.po,sha256=W36JXuA1HQ72LspixRxeuvxogVxtk7ZBbT0VWI38_oM,3692 -django/contrib/auth/locale/is/LC_MESSAGES/django.mo,sha256=04pHypFYzzOUc9O0fS0n9EiPjG5w3KV96ffMYtXddrA,7540 -django/contrib/auth/locale/is/LC_MESSAGES/django.po,sha256=Pdy1izQ1K718XqGdb8OZaxY7yoTnzq300x-etW9mdvo,7890 -django/contrib/auth/locale/it/LC_MESSAGES/django.mo,sha256=msIGxB__lTtLXQT_SdoVxBN6j2RbXrbXWHxxZIhGHxA,7583 -django/contrib/auth/locale/it/LC_MESSAGES/django.po,sha256=EQqX3Zr1LsRLAdW6zqOIKl8BmS-3WBPfJe0vNM4laJ0,8067 -django/contrib/auth/locale/ja/LC_MESSAGES/django.mo,sha256=Y-VZ90RSHfLpf0DDBhf3BS_OY_6E2nPDUte5Ufw3Wxc,8061 -django/contrib/auth/locale/ja/LC_MESSAGES/django.po,sha256=uJ1M0Xnlw7-fB_4W2okaAqxJNNomkGCRd9zsWcxC7j4,8289 -django/contrib/auth/locale/ka/LC_MESSAGES/django.mo,sha256=KjxMsgKo8oENzzjbFvGDdVmUfePS7kGBc3qsC8c6KJc,7469 -django/contrib/auth/locale/ka/LC_MESSAGES/django.po,sha256=oXdeF4_XUZpmmefS9TEf84Xzsv6yUnRk3_3ywkiRQSI,9142 -django/contrib/auth/locale/kab/LC_MESSAGES/django.mo,sha256=9qKeQ-gDByoOdSxDpSbLaM4uSP5sIi7qlTn8tJidVDs,2982 -django/contrib/auth/locale/kab/LC_MESSAGES/django.po,sha256=8cq5_rjRXPzTvn1jPo6H_Jcrv6IXkWr8n9fTPvghsS8,5670 -django/contrib/auth/locale/kk/LC_MESSAGES/django.mo,sha256=wHr5bBn3AUg5n8nrFrYOEEYL9eawegKsucA3_HAn0vc,3578 -django/contrib/auth/locale/kk/LC_MESSAGES/django.po,sha256=UqbVs6vZEsq36xliqcIrd5Tkc5fBkXXncnQs6iJ6kxc,6329 -django/contrib/auth/locale/km/LC_MESSAGES/django.mo,sha256=FahcwnCgzEamtWcDEPOiJ4KpXCIHbnSowfSRdRQ2F9U,2609 -django/contrib/auth/locale/km/LC_MESSAGES/django.po,sha256=lvRHHIkClbt_8-9Yn0xY57dMxcS72z4sUkxLb4cohP0,5973 -django/contrib/auth/locale/kn/LC_MESSAGES/django.mo,sha256=u0YygqGJYljBZwI9rm0rRk_DdgaBEMA1etL-Lk-7Mls,4024 -django/contrib/auth/locale/kn/LC_MESSAGES/django.po,sha256=HKQ1t2yhh9OwsqvMft337VpPmi8KU8PhF2M8gKOdtXw,6951 -django/contrib/auth/locale/ko/LC_MESSAGES/django.mo,sha256=r1de3B_rb-ImWCAmmZ8_c1y7bUK3Hyi7kRvcSKCTiFg,7612 -django/contrib/auth/locale/ko/LC_MESSAGES/django.po,sha256=V4hYbR-Vj32MeFWyD4D1iQ7HhbdPx4ZNLT1FKGxepkU,8205 -django/contrib/auth/locale/lb/LC_MESSAGES/django.mo,sha256=OFhpMA1ZXhrs5fwZPO5IjubvWDiju4wfwWiV94SFkiA,474 -django/contrib/auth/locale/lb/LC_MESSAGES/django.po,sha256=dOfY9HjTfMQ0nkRYumw_3ZaywbUrTgT-oTXAnrRyfxo,3702 -django/contrib/auth/locale/lt/LC_MESSAGES/django.mo,sha256=TL-YXmT-4SL3SQnfoSDj3ZXigEDUOeaH6BNLQ4MgfY0,7929 -django/contrib/auth/locale/lt/LC_MESSAGES/django.po,sha256=ByL1FwqJjhhbXeXXLaJky1d-QaqET22VdCwgO5Fhpew,8370 -django/contrib/auth/locale/lv/LC_MESSAGES/django.mo,sha256=C4vwTheGFS-olcfQNMeNPYqa9WK9NHxOXb1dH8410LQ,7601 -django/contrib/auth/locale/lv/LC_MESSAGES/django.po,sha256=jofkfLKbcFtLRTI_Zdg23Nt0wA2vo8DommZE18ZAYZ8,7874 -django/contrib/auth/locale/mk/LC_MESSAGES/django.mo,sha256=XS9dslnD_YBeD07P8WQkss1gT7GIV-qLiCx4i5_Vd_k,9235 -django/contrib/auth/locale/mk/LC_MESSAGES/django.po,sha256=QOLgcwHub9Uo318P2z6sp69MI8syIIWCcr4VOom9vfs,9799 -django/contrib/auth/locale/ml/LC_MESSAGES/django.mo,sha256=wwy7Yrk5EIlcAhTXvsdCL0jdgLcHQyutnmXFvp9R88Q,12518 -django/contrib/auth/locale/ml/LC_MESSAGES/django.po,sha256=lXrI-ijDEft9yR2EzPfFAvb0mlxFNHAVMBICabzCziA,12967 -django/contrib/auth/locale/mn/LC_MESSAGES/django.mo,sha256=hBYT0p3LcvIKKPtIn2NzPk_2di9L8jYrUt9j3TcVvaY,9403 -django/contrib/auth/locale/mn/LC_MESSAGES/django.po,sha256=R3wAEwnefEHZsma8J-XOn4XlLtuWYKDPLwJ99DUYmvE,9913 -django/contrib/auth/locale/mr/LC_MESSAGES/django.mo,sha256=zGuqUTqcWZZn8lZY56lf5tB0_lELn7Dd0Gj78wwO5T4,468 -django/contrib/auth/locale/mr/LC_MESSAGES/django.po,sha256=yLW9WuaBHqdp9PXoDEw7c05Vt0oOtlks5TS8oxYPAO8,3696 -django/contrib/auth/locale/my/LC_MESSAGES/django.mo,sha256=gYzFJKi15RbphgG1IHbJF3yGz3P2D9vaPoHZpA7LoH8,1026 -django/contrib/auth/locale/my/LC_MESSAGES/django.po,sha256=lH5mrq-MyY8gvrNkH2_20rkjFnbviq23wIUqIjPIgFI,5130 -django/contrib/auth/locale/nb/LC_MESSAGES/django.mo,sha256=Lg5Yf7DbiD8m_MUIYyD8u5GE3yuL5NE2DYLZ9fcaMrk,7222 -django/contrib/auth/locale/nb/LC_MESSAGES/django.po,sha256=zy1cf3zV3nFpE8ZwKKKJea2LxBw0VWZQ_F38OzlSfTY,7570 -django/contrib/auth/locale/ne/LC_MESSAGES/django.mo,sha256=HjSDANdwt_kfQcRUP6UCAH4MpCIut9IsvV43I9HDDjY,6446 -django/contrib/auth/locale/ne/LC_MESSAGES/django.po,sha256=OsLI1fkijl6UjQxSLj0jlzw4D6fDTFiau5-Tv176tHc,8023 -django/contrib/auth/locale/nl/LC_MESSAGES/django.mo,sha256=TAQwgOYLysAewTxS1dvUfAz84Orr9ucxxBhGsQjt6_k,7149 -django/contrib/auth/locale/nl/LC_MESSAGES/django.po,sha256=HPOTVHrMT_eP39W8b-tSWVo0l5_hIPTE0LZI0a4w5M8,7952 -django/contrib/auth/locale/nn/LC_MESSAGES/django.mo,sha256=020nmL8b1yQL0ZyrDAdr0ZOsEGmNxvUpp9ISPBOVI8U,2801 -django/contrib/auth/locale/nn/LC_MESSAGES/django.po,sha256=SKgBiBM1llWFIvVjWRR0r2i3O8VcAdWe-PUhxckqmbE,5590 -django/contrib/auth/locale/os/LC_MESSAGES/django.mo,sha256=DVsYGz-31nofEjZla4YhM5L7qoBnQaYnZ4TBki03AI4,4434 -django/contrib/auth/locale/os/LC_MESSAGES/django.po,sha256=Akc1qelQWRA1DE6xseoK_zsY7SFI8SpiVflsSTUhQLw,6715 -django/contrib/auth/locale/pa/LC_MESSAGES/django.mo,sha256=PeOLukzQ_CZjWBa5FGVyBEysat4Gwv40xGMS29UKRww,3666 -django/contrib/auth/locale/pa/LC_MESSAGES/django.po,sha256=7ts9PUSuvfXGRLpfyVirJLDtsQcsVWFXDepVKUVlmtc,6476 -django/contrib/auth/locale/pl/LC_MESSAGES/django.mo,sha256=IcLJy8lUmTL9r4pr4nLyBbul9Xs8XpX-G_XpJVTM15E,7920 -django/contrib/auth/locale/pl/LC_MESSAGES/django.po,sha256=JIvbUKlDSMiHhnA8rz0Befg8IbIBXXYFCZ-AwtQej_g,8605 -django/contrib/auth/locale/pt/LC_MESSAGES/django.mo,sha256=oyKCSXRo55UiO3-JKcodMUnK7fuOuQxQrXcU7XkWidA,7756 -django/contrib/auth/locale/pt/LC_MESSAGES/django.po,sha256=tEazw0kctJ3BaP21IblsMhno6qooOGW54zwende522Q,8128 -django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.mo,sha256=Laj_VAYZZX8xYAKcYotpIvPLTECd6tRQS3RjQJuO9MU,7564 -django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.po,sha256=AaOc5jr5L7JwCOukc9WOWZNQvTHiMPopqQy-herWno0,8386 -django/contrib/auth/locale/ro/LC_MESSAGES/django.mo,sha256=GTrhRGvEd1NNoSSFhdA-ao-PB5E7vIeiQKMAgmb1Rqg,7577 -django/contrib/auth/locale/ro/LC_MESSAGES/django.po,sha256=O4kxImnFkz_CjgOIBYknzqudNOb8mSNEkMWif1IkowA,8140 -django/contrib/auth/locale/ru/LC_MESSAGES/django.mo,sha256=tfK9L7EYNZd9d1k_EGQrDcr8ruUGJ1JbRJ3-TvJ6cR8,10482 -django/contrib/auth/locale/ru/LC_MESSAGES/django.po,sha256=nQnaxPKmCJ6N2VVJzNDNt6oeqwSxG0lfY60DSDotJ94,10959 -django/contrib/auth/locale/sk/LC_MESSAGES/django.mo,sha256=shT_E4LFHMuUSjvTtFtaTFfFREhuTS8FjFhje5ZF5yo,7651 -django/contrib/auth/locale/sk/LC_MESSAGES/django.po,sha256=aanpDooZWeV-wuByaJ6TB-Qa7fpjc-bshcpM_qgcRrU,7977 -django/contrib/auth/locale/sl/LC_MESSAGES/django.mo,sha256=Ey2oRfp3vCJ3_IesSu4wOnP5XiP_9nzbYU_1r3U2x34,7251 -django/contrib/auth/locale/sl/LC_MESSAGES/django.po,sha256=zHNt3AOf2qICzP4pPtlHKOvwiBZTemQjwHk43k9LpXE,7787 -django/contrib/auth/locale/sq/LC_MESSAGES/django.mo,sha256=Nrfoks9rpAdeYtAvbd78imw20YrBQLbqXezC28GG5Xg,7846 -django/contrib/auth/locale/sq/LC_MESSAGES/django.po,sha256=DMF3vHqmlERrwKnlOjkWYZlChWHzcS1x2Ldcx63hD2E,8115 -django/contrib/auth/locale/sr/LC_MESSAGES/django.mo,sha256=XPJB-rwpS8c7sEH7RChft-DHllMWqUEoTFLA06Q_noc,9754 -django/contrib/auth/locale/sr/LC_MESSAGES/django.po,sha256=HPk2yuyvr9krU3CEf6p5v_4cLFG-Cu1lXsFTs1C9vmo,10010 -django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=hwAo5ishpZZ9kb9WHrSMHdxmWV9afdxOHgVEwWqb4VE,3293 -django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.po,sha256=qccS0IkO-JT504Y2uVGY5nPYfN8EA_58I9z492iQHKI,5934 -django/contrib/auth/locale/sv/LC_MESSAGES/django.mo,sha256=tuAuMr-3VSXhfmQP0k_3UWderNnNajDkXWDFbBtiHZY,7114 -django/contrib/auth/locale/sv/LC_MESSAGES/django.po,sha256=kG2_emZy-aAnZVZY4ZmIjYs4mJLvfpIdWyqGUGyFSUY,7758 -django/contrib/auth/locale/sw/LC_MESSAGES/django.mo,sha256=I_lEsKuMGm07X1vM3-ReGDx2j09PGLkWcG0onC8q1uQ,5029 -django/contrib/auth/locale/sw/LC_MESSAGES/django.po,sha256=TiZS5mh0oN0e6dFEdh-FK81Vk-tdv35ngJ-EbM1yX80,6455 -django/contrib/auth/locale/ta/LC_MESSAGES/django.mo,sha256=T1t5CKEb8hIumvbOtai-z4LKj2et8sX-PgBMd0B3zuA,2679 -django/contrib/auth/locale/ta/LC_MESSAGES/django.po,sha256=X8UDNmk02X9q1leNV1qWWwPNakhvNd45mCKkQ8EpZQQ,6069 -django/contrib/auth/locale/te/LC_MESSAGES/django.mo,sha256=i9hG4thA0P-Hc-S2oX7GufWFDO4Y_LF4RcdQ22cbLyE,2955 -django/contrib/auth/locale/te/LC_MESSAGES/django.po,sha256=txND8Izv2oEjSlcsx3q6l5fEUqsS-zv-sjVVILB1Bmc,6267 -django/contrib/auth/locale/th/LC_MESSAGES/django.mo,sha256=zRpZ2xM5JEQoHtfXm2_XYdhe2FtaqH-hULJadLJ1MHU,6013 -django/contrib/auth/locale/th/LC_MESSAGES/django.po,sha256=Yhh_AQS_aM_9f_yHNNSu_3THbrU-gOoMpfiDKhkaSHo,7914 -django/contrib/auth/locale/tr/LC_MESSAGES/django.mo,sha256=MqxtamKKi0P7UmWiiNz9jGOp_obhLij6WBMZwS5La-I,7480 -django/contrib/auth/locale/tr/LC_MESSAGES/django.po,sha256=Mz7mRvzk7qBnn1yF62en2OiMlgLNuaIbwDzwz7tzhV0,8027 -django/contrib/auth/locale/tt/LC_MESSAGES/django.mo,sha256=g4pTk8QLQFCOkU29RZvR1wOd1hkOZe_o5GV9Cg5u8N4,1371 -django/contrib/auth/locale/tt/LC_MESSAGES/django.po,sha256=owkJ7iPT-zJYkuKLykfWsw8j7O8hbgzVTOD0DVv956E,5222 -django/contrib/auth/locale/udm/LC_MESSAGES/django.mo,sha256=zey19UQmS79AJFxHGrOziExPDDpJ1AbUegbCRm0x0hM,462 -django/contrib/auth/locale/udm/LC_MESSAGES/django.po,sha256=gLVgaMGg0GA3Tey1_nWIjV1lnM7czLC0XR9NFBgL2Zk,3690 -django/contrib/auth/locale/uk/LC_MESSAGES/django.mo,sha256=2Ihvae_DFOKfxd_lWW6dpR-i9QdG2Lk8wnnnpy4bN-U,9698 -django/contrib/auth/locale/uk/LC_MESSAGES/django.po,sha256=vGh5I8B2p7ZsOeyKjDMKkl070m2Z6St1bkCAuwqjV5k,10274 -django/contrib/auth/locale/ur/LC_MESSAGES/django.mo,sha256=rippTNHoh49W19c4HDUF8G5Yo3SknL3C87Afu8YXxzA,698 -django/contrib/auth/locale/ur/LC_MESSAGES/django.po,sha256=gwSd8noEwbcvDE1Q4ZsrftvoWMwhw1J15gvdtK6E9ns,4925 -django/contrib/auth/locale/vi/LC_MESSAGES/django.mo,sha256=4YOb_ZbCI90UB01DpNsBAe6qqrc3P209Bz22FSVqvog,4703 -django/contrib/auth/locale/vi/LC_MESSAGES/django.po,sha256=1YjTrGYr04j9GtG8w0c7v71pHjHU8mHzT7tChroyfaw,6723 -django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=m8Z9joKBAtYCmTUNIk5cW1zU5LXRAWT8CqlbGxFtfwc,6487 -django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po,sha256=pXmwS9J3vhg_2MUZ0w50gz7x_QzU2N2hEo3uWbtcuPo,7088 -django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=6nzvm0k9hv0Y5eFCmJhnFkCs_mbQ3ebJgIm5wmp7GGg,6435 -django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po,sha256=g88Ny9_ar1ut6gENTRbShIzlxKTRv_qzjgXRnKFUVkE,6979 -django/contrib/auth/management/__init__.py,sha256=ubESj2X1ZwPmRdesZtlTfE4_v14RfqUTCaXOmCfr1GE,4601 -django/contrib/auth/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/auth/management/commands/changepassword.py,sha256=GHKZIJ2YBzQW4SvqezkjTPj-W7VwNFD1wokko9rFQFI,2581 -django/contrib/auth/management/commands/createsuperuser.py,sha256=be_zrcb9NXycAYTafDW2nTgb8t8ZiS6X1Hx8DNHYEqo,8531 -django/contrib/auth/migrations/0001_initial.py,sha256=bz7B12K5Ovs0aiXfZGMEbVtWAeV05JyLKDGyMrhCd_c,4960 -django/contrib/auth/migrations/0002_alter_permission_name_max_length.py,sha256=xSlhMiUbrVCPMOwmwVNAUgYjZih3t-ieALNm7rQ1OI0,347 -django/contrib/auth/migrations/0003_alter_user_email_max_length.py,sha256=bPcpCTPAJV2NgrwEa6WFfxkhbPmj5J-EqU1HM3RXtq0,389 -django/contrib/auth/migrations/0004_alter_user_username_opts.py,sha256=aN0oHoA5q2bKpJN8SnI8T9GNtTBKzLRFozL87tNh8_I,785 -django/contrib/auth/migrations/0005_alter_user_last_login_null.py,sha256=0s9ZPGWNP9HT7TmXAuChMLLwL1Ml5SdQwNs9qfy5dN4,381 -django/contrib/auth/migrations/0006_require_contenttypes_0002.py,sha256=_S7o_MhU0lAnPhDEt0kh1sBmpCLXW88VBuATERiMBlk,370 -django/contrib/auth/migrations/0007_alter_validators_add_error_messages.py,sha256=JeJpm_jyu2CbBckw4xJt0DlwQ4SDg2fyHqduRLZ1HFI,740 -django/contrib/auth/migrations/0008_alter_user_username_max_length.py,sha256=KpeVuknt_7WErQO_WLDSCMg1sJkXCXjNQ5I4u_l99kc,752 -django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py,sha256=rwLs5SDzFJsDKtCfyMP6XueUPHiRvRMein3wXMzHeDk,386 -django/contrib/auth/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/auth/templates/auth/widgets/read_only_password_hash.html,sha256=cMrG-iMsrVQ6Qd6T_Xz21b6WIWhXxaIwgNDW2NpDpuM,185 -django/contrib/auth/templates/registration/password_reset_subject.txt,sha256=j8rO05woNdwv8-_F6EMy6FTZGMf-Dp9usdUJXSZHs7Q,124 -django/contrib/contenttypes/__init__.py,sha256=OVcoCHYF9hFs-AnFfg2tjmdetuqx9-Zhi9pdGPAgwH4,75 -django/contrib/contenttypes/admin.py,sha256=ktSb2Pj0gFwoxA-gkvSn19l-0qy4WFSFfYYTGYwe7HM,5212 -django/contrib/contenttypes/apps.py,sha256=lVmnJW7DgIc42uc0V5vZL8qxnsnVijQmgelhs3nybIE,797 -django/contrib/contenttypes/checks.py,sha256=ooW997jE1y5goWgO3dzc7tfJt5Z4tJPWRRSG1P1-AcU,1234 -django/contrib/contenttypes/fields.py,sha256=X-VUW7-3ynJvafPujw0pkAgU6xsfONIfiCttw7rTkn8,26607 -django/contrib/contenttypes/forms.py,sha256=9Lk374J-AHUP1P97oTnbTqQrU_Z0NcsqBsILzYco1pU,3557 -django/contrib/contenttypes/models.py,sha256=QX-nY08YMDN5cUqKNFf6G0IVFs9oIeKa8hOIl5jkTjE,6491 -django/contrib/contenttypes/views.py,sha256=2IwvlE6KGhDUJMGTFkY6iXShu_jpATDM-kQcc3MDpLU,3634 -django/contrib/contenttypes/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 -django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po,sha256=dnZ6zKmthl5qt6fhnexYool7hu1YdO8TQj5tPLC6q10,985 -django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.mo,sha256=YXeD6WDlMQ7No_1PbR1PYE7As6GYXSQBVKkWdF_bHMo,1259 -django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po,sha256=PHvyo3UF4beWdczghk7xqrtJEu-u4802Yn6fmQvKbtA,1504 -django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.mo,sha256=y88CPGGbwTVRmZYIipCNIWkn4OuzuxEk2QCYsBhc7RY,643 -django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po,sha256=H-qMo5ikva84ycnlmBT4XXEWhzMIw-r7J_zuqxo3wu4,1088 -django/contrib/contenttypes/locale/az/LC_MESSAGES/django.mo,sha256=aaKSEUnbZZMDDl4lrNpG6e18R73kD_-nY2A_dAtHtxw,1101 -django/contrib/contenttypes/locale/az/LC_MESSAGES/django.po,sha256=txoRBy2uMeiT7aUzjADfXnf8FF3zjmCr_mLsFbVcpXs,1314 -django/contrib/contenttypes/locale/be/LC_MESSAGES/django.mo,sha256=lQjyKyBbwBjIl1rn6itLToQIKMvG-v-TjECiGepZrnw,1394 -django/contrib/contenttypes/locale/be/LC_MESSAGES/django.po,sha256=V04WIP5qYaBOaku2AV2tNSsGKFoloDHmOjskG2o3uEM,1575 -django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.mo,sha256=yVH2saAhE3bVtamkCeIBDQuJpn2awfF2M7ISujswiRU,1267 -django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.po,sha256=YdzC82ifG-pPY5Iy4mXIBj9Qq583g37OqZir-jpbUpc,1576 -django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.mo,sha256=2Z1GL6c1ukKQCMcls7R0_n4eNdH3YOXZSR8nCct7SLI,1201 -django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.po,sha256=PLjnppx0FxfGBQMuWVjo0N4sW2QYc2DAEMK6ziGWUc8,1491 -django/contrib/contenttypes/locale/br/LC_MESSAGES/django.mo,sha256=rvGRznrZFfJMa6J5btjn8KusuGfyf5enHi5riU3PkeE,466 -django/contrib/contenttypes/locale/br/LC_MESSAGES/django.po,sha256=-XOhrrNUB3sVOViU-XWriDZM_kDHcx9Ofq3d6GXP5tw,981 -django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.mo,sha256=klj9n7AKBkTf7pIa9m9b-itsy4UlbYPnHiuvSLcFZXY,700 -django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.po,sha256=pmJaMBLWbYtYFFXYBvPEvwXkTPdjQDv2WkFI5jNGmTI,1151 -django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.mo,sha256=SMwTCqtIJedetZYstY4lcKqTD9xoE4vuvyOaDRENcTg,1134 -django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.po,sha256=__UUPN27_GLZxOATgFO_THR-H9e5JARo52vGyuGXrFs,1360 -django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.mo,sha256=LI0-cpzOVLuvK9CVX8ueIB0l8vfe4ypW1285QAE2PsI,1089 -django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.po,sha256=We7jqbXO1c0EUfAa7WezsSHy1dNIrjZZjeOs2k3BU-8,1306 -django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.mo,sha256=2QyCWeXFyymoFu0Jz1iVFgOIdLtt4N1rCZATZAwiH-8,1159 -django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.po,sha256=ZWDxQTHJcw1UYav1C3MX08wCFrSeJNNI2mKjzRVd6H0,1385 -django/contrib/contenttypes/locale/da/LC_MESSAGES/django.mo,sha256=wIEwYctl3CsjBou71rpRvGiR24jcVSEgQW1kNeb1Lsg,1081 -django/contrib/contenttypes/locale/da/LC_MESSAGES/django.po,sha256=k_ztS6LIORMJ0T45_XMFHMDWdvh4rMfURYbKV37Bo7Y,1346 -django/contrib/contenttypes/locale/de/LC_MESSAGES/django.mo,sha256=WdGKHOdSGoscynVfOmjXD3_NRPOoTzZNWYjYdEVzahY,1092 -django/contrib/contenttypes/locale/de/LC_MESSAGES/django.po,sha256=141sVDNz98hS_QxjyM5GEEfpvHnL8Dvbmjb_P-RtkFk,1299 -django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.mo,sha256=JfVRcAuhU7jt3iv8orjFpzFZUEWa9Tf98Z0KwKynBB0,1169 -django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.po,sha256=2vfMUWWYDKZ9K8ujm1OgYSwl04cVDUUE5-942VGz150,1346 -django/contrib/contenttypes/locale/el/LC_MESSAGES/django.mo,sha256=cGjt7dcY9L6GusXl9eQgezR9phjMqfTUixC9hFC4ORc,1323 -django/contrib/contenttypes/locale/el/LC_MESSAGES/django.po,sha256=VWwuQYX1La2lvPZJwp-cprA-jyxe0qTxxT0neb9AegM,1634 -django/contrib/contenttypes/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/contenttypes/locale/en/LC_MESSAGES/django.po,sha256=ENzOpatkejwQ6F1IwZAYsMWNGtTHAVPlKCKcVrTygSI,1106 -django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.po,sha256=wmxyIJtz628AbsxgkB-MjdImcIJWhcW7NV3tWbDpedg,1001 -django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.mo,sha256=_uM-jg43W7Pz8RQhMcR_o15wRkDaYD8aRcl2_NFGoNs,1053 -django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.po,sha256=SyzwSvqAgKF8BEhXYh4598GYP583OK2GUXH1lc4iDMk,1298 -django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.mo,sha256=MFC-mQeWLeFry7d2EXeAf2G47YRLLKFhenGLCwo5O9A,1087 -django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.po,sha256=BgQ7lRtsjD-XHaNvlHMu9AxCCqx38XdOCG4zYpKgDn4,1279 -django/contrib/contenttypes/locale/es/LC_MESSAGES/django.mo,sha256=rG5-Lt7Mutoa42O_5I2rjcQ5p0rnA2T-cDMbgxaJsYU,1142 -django/contrib/contenttypes/locale/es/LC_MESSAGES/django.po,sha256=iR5eAl6d6Ol2Ufd9hQWfau8vNG0pPKvSgTToqvGMGK8,1417 -django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.mo,sha256=iSq2trgItDc4apHlZdZey4vVJF2k38KrKQRorDvHmG8,1121 -django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.po,sha256=ejs7IoMryYl-stXjIx7slZ3pESU-3X3NUogwIbSDHBo,1328 -django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.mo,sha256=aACo1rOrgs_BYK3AWzXEljCdAc4bC3BXpyXrwE4lzAs,1158 -django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.po,sha256=vemhoL-sESessGmIlHoRvtWICqF2aO05WvcGesUZBRM,1338 -django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.mo,sha256=hfjH_3T9YfIhOGEE25TflbKWoiZZvmagaVW2YcNDKq8,1109 -django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.po,sha256=Tkt5m04QFdBiPVbRWRh9tiyVL4K6E9Qe42xdmeVaRxQ,1303 -django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.mo,sha256=TVGDydYVg_jGfnYghk_cUFjCCtpGchuoTB4Vf0XJPYk,1152 -django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.po,sha256=vJW37vuKYb_KpXBPmoNSqtNstFgCDlKmw-8iOoSCenU,1342 -django/contrib/contenttypes/locale/et/LC_MESSAGES/django.mo,sha256=Rs8vsaZp2RX68U_dQge4wkZQMfH8Dh1br4IWkKzfECA,1066 -django/contrib/contenttypes/locale/et/LC_MESSAGES/django.po,sha256=AIl4zK9fs3_euQMwu0ORQZWPyBrIikvQfq-fhiRu2ug,1323 -django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.mo,sha256=K0f1cXEhfg_djPzgCL9wC0iHGWF_JGIhWGFL0Y970g0,1077 -django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.po,sha256=sSuVV0o8MeWN6BxlaeKcjKA3h4H29fCo1kKEtkczEp4,1344 -django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.mo,sha256=eVhLFdG5NJQB8-cYHcMlR0AdGXXlBnkBIqqe3IgkU4M,1165 -django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.po,sha256=_xEtLhrIwJ7Ahg15NSgMLN-NqbSKnt-gDg34mxLr7x4,1421 -django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.mo,sha256=yZNZ0btS15XQPW5sGVQWqUbQ3_ZIGD0JjgMcz2-_xgU,1073 -django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.po,sha256=LTt_nF73_BxrerGmK4ly__1PeesGNpWlH3CSLETMvuI,1316 -django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.mo,sha256=--hcS97AwKMSkriQKcZ9hdSF9swN732tII_b7JszY4k,1112 -django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.po,sha256=yk486-Y0VCwUGQy3DjfvpM0o2UlHREVXy_SufqkkWKQ,1367 -django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.po,sha256=SB07aEGG7n4oX_5rqHB6OnjpK_K0KwFM7YxaWYNpB_4,991 -django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.mo,sha256=EAAOl8HU8C0iFiXVZbPg3AGXdtWM7ap_YUZYFneSdDE,1083 -django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.po,sha256=5C7iIB2OJBRPy-mnj4S1AzZL8_7c8ccZZGstHryg5Qw,1335 -django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.mo,sha256=GXwvJ2csT38SBvqMB_YoPQ_Swcy7mhZYDEr1nQBNOgc,1191 -django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.po,sha256=H4U-T07ZGgSF2LjOng5g8N-jC92SFeO5Fg9u1-g954g,1346 -django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.mo,sha256=gMDLuxVazSNvwLmi5AqJEsxugmDVLk8DlxseHRRoQoc,1072 -django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.po,sha256=hFPL2GH-o6XN0SKu5kqgiEaGT8lKnbi_zmlUNCn3Obg,1364 -django/contrib/contenttypes/locale/he/LC_MESSAGES/django.mo,sha256=X_d2S4YQ-5G3dniw7i4fo-LX-JFMjM1HPsDBuYe2VxU,1162 -django/contrib/contenttypes/locale/he/LC_MESSAGES/django.po,sha256=8vyWhH8zO7PLwpEDI9ZNNUpA5ihgtl8BfQEUvPZ_Vjk,1380 -django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.mo,sha256=KAZuQMKOvIPj3a7GrNJE3yhT70O2abCEF2GOsbwTE5A,1321 -django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.po,sha256=PcsNgu2YmT0biklhwOF_nSvoGTvWVKw2IsBxIwSVAtI,1577 -django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.mo,sha256=DbOUA8ks3phsEwQvethkwZ9-ymrd36aQ6mP7OnGdpjU,1167 -django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.po,sha256=722KxvayO6YXByAmO4gfsfzyVbT-HqqrLYQsr02KDc8,1445 -django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.mo,sha256=IEjKVQBez7h6phH_ozALY0sNjQmcDSAtCFn7JbBOFMg,1143 -django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.po,sha256=VlIhdng3HZ-r9XzbdJWtQ4m1UMpmdnpBLWInGMTciZE,1320 -django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.mo,sha256=3fpAT3FGjXjajM3Omz_vcIZ7uqmvSgr4zfB7lfMfhas,1103 -django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.po,sha256=zLI8xh3t_p23EITZnZ7Dme2MXexL9Rt8chxpj8W7w9g,1336 -django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.mo,sha256=3yDFJFxh16B2WigXeJxZV9vOyRxnjZ4MAUq3T_-PHGs,1079 -django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.po,sha256=4JsXrJxsMVVu9Y6OuFrwMV5L4Dglh9XJ5sp9CHDGHaA,1288 -django/contrib/contenttypes/locale/id/LC_MESSAGES/django.mo,sha256=9o50TqX6hHloHvBJbf4pkK4a554L5UmiJnp9vGfq25k,1066 -django/contrib/contenttypes/locale/id/LC_MESSAGES/django.po,sha256=xMRNmOipOt-18KLux7PrJn8NS25qMCVLxmmceR1P93s,1374 -django/contrib/contenttypes/locale/io/LC_MESSAGES/django.mo,sha256=3SSRXx4tYiMUc00LZ9kGHuvTgaWpsICEf5G208CEqgg,1051 -django/contrib/contenttypes/locale/io/LC_MESSAGES/django.po,sha256=1ku9WPcenn47DOF05HL2eRqghZeRYfklo2huYUrkeJ0,1266 -django/contrib/contenttypes/locale/is/LC_MESSAGES/django.mo,sha256=Lzl9gXdkji1Eg4vKahCW8ZIJY8U1hBs52O2hQftopPc,1086 -django/contrib/contenttypes/locale/is/LC_MESSAGES/django.po,sha256=YY0C2qJRSc1cX__k-vm4LXhJZJl731NXYe2w3gTSCGU,1351 -django/contrib/contenttypes/locale/it/LC_MESSAGES/django.mo,sha256=gr8UGpZMY39rE8z0vNEDQyxh_ZD7lC3Py8Dj4B24iHg,1098 -django/contrib/contenttypes/locale/it/LC_MESSAGES/django.po,sha256=wycvlyGUXqjmDSg0FluwvM4XpY2NU0oaKob02Q7236s,1391 -django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.mo,sha256=U-RemvFRnmWnRDBADa3r4tlbwUFBIUCf7aLdd3sJazE,1239 -django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.po,sha256=V6smnquz_1esdvNi-dmuHzRNXqs-AjfWSKq2NJq2GPY,1469 -django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.mo,sha256=1_yGL68sK0QG_mhwFAVdksiDlB57_1W5QkL7NGGE5L0,1429 -django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.po,sha256=fr8rGQDWgUQSv-ZjXhSAR5P_zWLhQ7bq1cHLKIzY4bY,1649 -django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.mo,sha256=gSqcLKqq8Uc5ZYs8x3gMPIBXmU-uCoO1_yTdKjNEnZA,663 -django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.po,sha256=9J7K6vTsq3MiJfdb0zu_6YPTEm2Xuqrg_6y9OIhD0lU,1125 -django/contrib/contenttypes/locale/km/LC_MESSAGES/django.mo,sha256=BXifukxf48Lr0t0V3Y0GJUMhD1KiHN1wwbueoK0MW1A,678 -django/contrib/contenttypes/locale/km/LC_MESSAGES/django.po,sha256=fTPlBbnaNbLZxjzJutGvqe33t6dWsEKiHQYaw27m7KQ,1123 -django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.mo,sha256=a4sDGaiyiWn-1jFozYI4vdAvuHXrs8gbZErP_SAUk9Y,714 -django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po,sha256=QDD_q_loZtGRlhmaqgNDtJ_5AjVFQ8fSmypvaWLOwp4,1162 -django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.mo,sha256=N6Keqbx9NmPby_m9jswXWPLTdeeM-_9SQlFbheRzpC8,1127 -django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po,sha256=bLGMv1dLIEKhsoBfuWXs_FQly0prT4udebB5uu4CexU,1338 -django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po,sha256=dwVKpCRYmXTD9h69v5ivkZe-yFtvdZNZ3VfuyIl4olY,989 -django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.mo,sha256=dGhfE64u9frd0haBj9I-SyDbvUtbp5bF6eKwa1Dbl7M,1147 -django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.po,sha256=ZRyyj9yLNnKOVqX7x3BKwB8_FD-gzPNhkK5sDRS7aic,1417 -django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.mo,sha256=4Qk6bGcd2qjhz6j6RYGdB3E7z7X4yVZTH2X-ob7QRYI,1090 -django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.po,sha256=22qvaurZjlCA-z3JXBUikzIhAmcmdW9h-pbk0ujvQSg,1299 -django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.mo,sha256=KTFZWm0F4S6lmi1FX76YKOyJqIZN5cTsiTBI_D4ADHs,1258 -django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.po,sha256=mQZosS90S-Bil6-EoGjs9BDWYlvOF6mtUDZ8h9NxEdE,1534 -django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.mo,sha256=rtmLWfuxJED-1KuqkUT8F5CU1KGJP0Of718n2Gl_gI0,1378 -django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.po,sha256=Z-kL9X9CD7rYfa4Uoykye2UgCNQlgyql0HTv1eUXAf4,1634 -django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.mo,sha256=J6kKYjUOsQxptNXDcCaY4d3dHJio4HRibRk3qfwO6Xc,1225 -django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.po,sha256=x8aRJH2WQvMBBWlQt3T3vpV4yHeZXLmRTT1U0at4ZIk,1525 -django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.po,sha256=FgZKD9E-By0NztUnBM4llpR59K0MJSIMZIrJYGKDqpc,983 -django/contrib/contenttypes/locale/my/LC_MESSAGES/django.mo,sha256=YYa2PFe9iJygqL-LZclfpgR6rBmIvx61JRpBkKS6Hrs,1554 -django/contrib/contenttypes/locale/my/LC_MESSAGES/django.po,sha256=6F3nXd9mBc-msMchkC8OwAHME1x1O90xrsZp7xmynpU,1732 -django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.mo,sha256=RMxLSKOqQ6omrnSlAoRohWOEC0SBwYwJyO6QGaPo5KU,1081 -django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.po,sha256=xgm6KYjgFPyYM0HXu3qY6uamoyeuhJ8xR_KBWLZ6IY0,1382 -django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.mo,sha256=-zZAn5cex4PkScoZVqS74PUMThJJuovZSk3WUKZ8hnw,1344 -django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.po,sha256=1ZCUkulQ9Gxb50yMKFKWaTJli2SinBeNj0KpXkKpsNE,1519 -django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.mo,sha256=GNmKVTDJDUPkYa8OZCY0FMdE0I-Gz3tXkO8SHRLDM7s,1095 -django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.po,sha256=aP9U2fAeZIOfui-xAUoBqKK02_aYvVqmjSHXQQ5qVKc,1373 -django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.mo,sha256=jfxiglKOxjX2xdbLDnJhujJiGcbDJv3NDcUUCWrZmuU,1054 -django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.po,sha256=c1sz3ssHULL1c5gpbEOy4Xo2Nh0_2ar_Zg4nECouM4k,1299 -django/contrib/contenttypes/locale/os/LC_MESSAGES/django.mo,sha256=QV533Wu-UpjV3XiCe83jlz7XGuwgRviV0ggoeMaIOIY,1116 -django/contrib/contenttypes/locale/os/LC_MESSAGES/django.po,sha256=UZahnxo8z6oWJfEz4JNHGng0EAifXYtJupB6lx0JB60,1334 -django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.mo,sha256=qacd7eywof8rvJpstNfEmbHgvDiQ9gmkcyG7gfato8s,697 -django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.po,sha256=Kq2NTzdbgq8Q9jLLgV-ZJaSRj43D1dDHcRIgNnJXu-s,1145 -django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.mo,sha256=a57HnU25bDdtrep5ksckyx7BsCQSHbBvZ-W3Hp6CVDQ,1251 -django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.po,sha256=KC_XKtt7QieDVfsu-uEY3eT9miIIQfs1Ied7ebQaK7A,1539 -django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.mo,sha256=MjyyKlA75YtEG9m6hm0GxKhU-cF3m1PA_j63BuIPPlE,1125 -django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.po,sha256=X2Rec6LXIqPa9AVqF4J2mzYrwfls1BdUfN8XOe0zkdQ,1379 -django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.mo,sha256=fPCrA5N-k2uOHyZtBVolLM-CiFyv7luskvTKoJiDF4o,1137 -django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.po,sha256=x-dcuvjBVXVe4zBNxd4vbwYAMzeOCNzVFLc7S_te_fI,1414 -django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.mo,sha256=sCthDD10v7GY2cui9Jj9HK8cofVEg2WERCm6aktOM-4,1142 -django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.po,sha256=n-BPEfua0Gd6FN0rsP7qAlTGbQEZ14NnDMA8jI2844Y,1407 -django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.mo,sha256=EYIBQ4DumWdn6zC8Oy2QDdMsdwDZz4patKbuhFxN1AY,1426 -django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.po,sha256=YULjNSTutYL3FhT4njhz9pQiP_xmoAVuJTBb1Hzio04,1728 -django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.mo,sha256=l17JNwlQmm8X-fgAYOhPB2QGLuZwPewUKcWo0xMhI48,1097 -django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.po,sha256=rrW-DlZKHoH5rcu3zIlrlfDZ6Oqxwd-Ojs3nP5Sxkjk,1347 -django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.mo,sha256=sMML-ubI_9YdKptzeri1du8FOdKcEzJbe4Tt0J4ePFI,1147 -django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.po,sha256=0zxiyzRWWDNVpNNLlcwl-OLh5sLukma1vm-kYrGHYrE,1392 -django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.mo,sha256=xXE5L6OmOz3oI9xYKyS8VKb37NDJ8buQOhjwtuMnwNs,1103 -django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.po,sha256=_z4SsvtdEmT91TqVd-GXMzNK86H-6LmnWTUK4ZBi878,1276 -django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.mo,sha256=30cZcBCG80SyqkJnUa6jDLt3zsNQM_QFKMExL_2AFS4,1200 -django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.po,sha256=Z4OrUiZJjXUyezsMCG0EQQy544VjttcSisErfl5R9Do,1449 -django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=vcI1t6JnIHne3zm62a9mK-JsPbNIi7UAJCQoSpK7nYs,1113 -django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.po,sha256=8NppRxgViJC45KSIoKhK-gEsRcv3Bk35DpS1zX_57ig,1362 -django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.mo,sha256=Vxpt3I_YJ8DtIqlRSJAvl8GgQ8LM7mZ-L7QVrilDeqU,1067 -django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.po,sha256=5vvFP5ivC-iPmp5mGx5jmzvVS33tb9vg-KjzUQkb9ZA,1307 -django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.mo,sha256=XLPle0JYPPkmm5xpJRmWztMTF1_3a2ZubWE4ur2sav8,563 -django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.po,sha256=jRc8Eh6VuWgqc4kM-rxjbVE3yV9uip6mOJLdD6yxGLM,1009 -django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.mo,sha256=L3eF4z9QSmIPqzEWrNk8-2uLteQUMsuxiD9VZyRuSfo,678 -django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po,sha256=iDb9lRU_-YPmO5tEQeXEZeGeFe-wVZy4k444sp_vTgw,1123 -django/contrib/contenttypes/locale/te/LC_MESSAGES/django.mo,sha256=S_UF_mZbYfScD6Z36aB-kwtTflTeX3Wt4k7z_pEcOV8,690 -django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po,sha256=aAGMMoJPg_pF9_rCNZmda5A_TvDCvQfYEL64Xdoa4jo,1135 -django/contrib/contenttypes/locale/th/LC_MESSAGES/django.mo,sha256=qilt-uZMvt0uw-zFz7-eCmkGEx3XYz7NNo9Xbq3s7uI,1186 -django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po,sha256=42F34fNEn_3yQKBBJnCLttNeyktuLVpilhMyepOd6dg,1444 -django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.mo,sha256=97r7jUJMbkhpnk4fEy-sg3oMDQU8N8A76qrXKX7CNxg,1121 -django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po,sha256=fS_Vgpat2dLaXgpT4bsUPjJx_1B_6vb25qH0vH92ZVk,1355 -django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.mo,sha256=_LQ1N04FgosdDLUYXJOEqpCB2Mg92q95cBRgYPi1MyY,659 -django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.po,sha256=L7wMMpxGnpQiKd_mjv2bJpE2iqCJ8XwiXK0IN4EHSbM,1110 -django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.po,sha256=YVyej0nAhhEf7knk4vCeRQhmSQeGZLhMPPXyIyWObnM,977 -django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.mo,sha256=pspQZ5Ppnsu-qsoR7IGqgL_G2cLUzZ2Yo6aQ8GdL2OM,1275 -django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.po,sha256=pBDlyBCEOeDPfKYs-gxtrgd_bwUgwpu4BaYHuYgAPG8,1553 -django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.mo,sha256=OJs_EmDBps-9a_KjFJnrS8IqtJfd25LaSWeyG8u8UfI,671 -django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.po,sha256=f0FnsaAM_qrBuCXzLnkBrW5uFfVc6pUh7S-qp4918Ng,1122 -django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.mo,sha256=kGYgEI1gHkyU4y_73mBJN1hlKC2JujVXMg6iCdWncDg,1155 -django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.po,sha256=RIDUgsElfRF8bvBdUKtshizuMnupdMGAM896s7qZKD4,1439 -django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=KTYCw4pEOPOfAObHiyBQTzZBX1mY0r9095QLAZfjvQM,1062 -django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po,sha256=bJp1GCxJwVfqD-rMAWTBg9OLIKginTCMs0V6mESrVrc,1353 -django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=fPIlKpeLGhOtsbLsJOef5d5Y8jCyT9hFiOfZ1v9yFTQ,1083 -django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po,sha256=Jwtnwk0R2c2Kh7KUg0t0GKjQrMO48YUNntbCT6dIHAM,1329 -django/contrib/contenttypes/management/__init__.py,sha256=KKf4YWuuvUAOf5l2Xn5zEIR4WHA8vKQ5R5paVfYAPeM,4857 -django/contrib/contenttypes/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py,sha256=2YgWYGPx8YQPbXuyE_iLNUwvPTczlKTSyNlOqAqFCxg,3340 -django/contrib/contenttypes/migrations/0001_initial.py,sha256=o3bVVr-O_eUNiloAC1z-JIHDoCJQ4ifdA-6DhdVUrp8,1157 -django/contrib/contenttypes/migrations/0002_remove_content_type_name.py,sha256=4h1AUWSWAvwfEMAaopJZce-yNj1AVpCYFAk2E-Ur-wM,1103 -django/contrib/contenttypes/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/flatpages/__init__.py,sha256=pa6Mmr3sfZ2KBkXHAvYIw_haRx8tSqTNZluUKg5zQCk,69 -django/contrib/flatpages/admin.py,sha256=m_TsFRA36bunPrg2dSdxDJpWLfJkiaVmE3kcYAO9trY,654 -django/contrib/flatpages/apps.py,sha256=EMKrGuulQwqXlcGKRvmISVaiqSNVwwUetEeEo3PTjxA,198 -django/contrib/flatpages/forms.py,sha256=nPf6qYRonlEWjWMNwIPP-MH0fp8CbB4KSqtdlOUqM30,2017 -django/contrib/flatpages/middleware.py,sha256=aXeOeOkUmpdkGOyqZnkR-l1VrDQ161RWIWa3WPBhGac,784 -django/contrib/flatpages/models.py,sha256=LDnyMzLbmSmpmEemdgzrx2urg8PtnRgY2jxbC-uQH9g,1483 -django/contrib/flatpages/sitemaps.py,sha256=0WGMLfr61H5aVX1inE4X_BJhx2b_lw4LKMO4OQGiDX4,554 -django/contrib/flatpages/urls.py,sha256=v_bP8Axlf0XLgb2kJVdEPDqW8WY7RkwSwm7_BH_0eWE,179 -django/contrib/flatpages/views.py,sha256=DLrol_x7lYfvd_b8EYgFeOYled3TgSoR-KZOOaTzJAQ,2747 -django/contrib/flatpages/locale/af/LC_MESSAGES/django.mo,sha256=BSKjpE5gwL80eq94I3LQEcOBNZtO24gViYsX0rnAoqo,498 -django/contrib/flatpages/locale/af/LC_MESSAGES/django.po,sha256=oXnvhSmWyQR78N4EdWHNydolwiGFZlugkGBmT0BYPto,1541 -django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo,sha256=G1GCOfhvPoJA5XpI3hE6zIxyhgec1ZUjHEt4lprfRr4,2475 -django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po,sha256=ZypIMRzRQA72sV4lVB8RVUtLjcmbqhow97-e20R02uk,2732 -django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo,sha256=4SEsEE2hIZJwQUNs8jDgN6qVynnUYJUIE4w-usHKA6M,924 -django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po,sha256=5UlyS59bVo1lccM6ZgdYSgHe9NLt_WeOdXX-swLKubU,1746 -django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo,sha256=sJvplYk3-3shfvnTKzCiCEQGbCa_aFLatZZHtop_4FI,2208 -django/contrib/flatpages/locale/az/LC_MESSAGES/django.po,sha256=Pn2wkV8ks1JO7GJwsfH1VilE4vS6u6Xd0IC2qaKYPwA,2452 -django/contrib/flatpages/locale/be/LC_MESSAGES/django.mo,sha256=N1snVmwE9oa2Hi_77quF7DhOFJwFNdv07x6pSXF_hKE,2801 -django/contrib/flatpages/locale/be/LC_MESSAGES/django.po,sha256=4iBnHyRJ1XkixqUWrmxfMlmKsqyZYhMb3zsI0aLIJwY,2933 -django/contrib/flatpages/locale/bg/LC_MESSAGES/django.mo,sha256=p3RZmS9PAqdlAmbc7UswSoG0t1eeuXYDp1WZ3mWfFow,2569 -django/contrib/flatpages/locale/bg/LC_MESSAGES/django.po,sha256=DqRp9KTLxks9tNEXs2g_jvIp7dI92jXLkKNDNyLhHac,2779 -django/contrib/flatpages/locale/bn/LC_MESSAGES/django.mo,sha256=2oK2Rm0UtAI7QFRwpUR5aE3-fOltE6kTilsTbah737Y,2988 -django/contrib/flatpages/locale/bn/LC_MESSAGES/django.po,sha256=QrbX69iqXOD6oByLcgPkD1QzAkfthpfTjezIFQ-6kVg,3172 -django/contrib/flatpages/locale/br/LC_MESSAGES/django.mo,sha256=_m3TodHXctSnFhWgDjhjR_UYM_3ubQY3R3I2LzWQlNU,552 -django/contrib/flatpages/locale/br/LC_MESSAGES/django.po,sha256=zU2tcXdz1_jX7J7AVnc0SXPqiZmDQt_qOJHNhJugY_E,1582 -django/contrib/flatpages/locale/bs/LC_MESSAGES/django.mo,sha256=bd7ID7OsEhp57JRw_TXoTwsVQNkFYiR_sxSkgi4WvZU,1782 -django/contrib/flatpages/locale/bs/LC_MESSAGES/django.po,sha256=IyFvI5mL_qesEjf6NO1nNQbRHhCAZQm0UhIpmGjrSwQ,2233 -django/contrib/flatpages/locale/ca/LC_MESSAGES/django.mo,sha256=j1mWP6oP9vPMYYiWzroFogBkdJ44L8vo8a51BlyvnVk,2109 -django/contrib/flatpages/locale/ca/LC_MESSAGES/django.po,sha256=VaR3IToa3T7mKaUkiS7JK_LUmHuHofyAE2WxY9Vae3M,2366 -django/contrib/flatpages/locale/cs/LC_MESSAGES/django.mo,sha256=9n_6uvEk16UHLssYV8HlpcJKar0HnHm0TIURgNJZ-bQ,2165 -django/contrib/flatpages/locale/cs/LC_MESSAGES/django.po,sha256=Y6T7KviH4wdsDZnuwkyswJKEyEwhCU7S5-_NMex9W5s,2380 -django/contrib/flatpages/locale/cy/LC_MESSAGES/django.mo,sha256=zr_2vsDZsrby3U8AmvlJMU3q1U_4IrrTmz6oS29OWtQ,2163 -django/contrib/flatpages/locale/cy/LC_MESSAGES/django.po,sha256=E_NC_wtuhWKYKB3YvYGB9ccJgKI3AfIZlB2HpXSyOsk,2370 -django/contrib/flatpages/locale/da/LC_MESSAGES/django.mo,sha256=7vFgp-kRn7fAnvAWhJFylN6D0SrQi9EB2HFT_FPYVnw,2126 -django/contrib/flatpages/locale/da/LC_MESSAGES/django.po,sha256=x8IOaIO2_-sBInHl6NtwOXK9UjUdha8dxXeB3fMwjxQ,2381 -django/contrib/flatpages/locale/de/LC_MESSAGES/django.mo,sha256=v4pUUVzPH3UBtzBuCBSJsHYzaltnzB-0rI-ls6h1e1M,2216 -django/contrib/flatpages/locale/de/LC_MESSAGES/django.po,sha256=ArWO6LbvSwJmStJLmdUXeXuMS_EtHeQc-4V235941Bk,2378 -django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.mo,sha256=oOMFAVGXlFSVKb7tP5lXzpsa-Oe89kEOrPMw4D94MzI,2238 -django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.po,sha256=3ZUiORps5eyxizvpaZCtEk_QM05vW98VhARAZuL20Z8,2367 -django/contrib/flatpages/locale/el/LC_MESSAGES/django.mo,sha256=pvt5Rt9LI2rMQgw5ewp-0_CB62JGvTlkt53sB27iC8c,2672 -django/contrib/flatpages/locale/el/LC_MESSAGES/django.po,sha256=AibJM9Y833DnSXMriBKsFwNhsw_gEaMWUtnu01KLKzM,2933 -django/contrib/flatpages/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/flatpages/locale/en/LC_MESSAGES/django.po,sha256=hsfxD-TQ_jPyo2ASN8f2Ukhf8HNL_l2zXJBhuLjhfAs,2037 -django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.mo,sha256=cuifXT2XlF4c_bR6ECRhlraSZyA7q4ZLhUgwvW73miw,486 -django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.po,sha256=ZMAJRrjovd_cdWvzkuEiJ-9ZU9rqRTwoA3x8uY2khcs,1533 -django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.mo,sha256=7zyXYOsqFkUGxclW-VPPxrQTZKDuiYQ7MQJy4m8FClo,1989 -django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.po,sha256=oHrBd6lVnO7-SdnO-Taa7iIyiqp_q2mQZjkuuU3Qa_s,2232 -django/contrib/flatpages/locale/eo/LC_MESSAGES/django.mo,sha256=WzjywoFu5mUt8Kpy6Xsbu1nn9fb4kUOZ58v81JyBsFE,2159 -django/contrib/flatpages/locale/eo/LC_MESSAGES/django.po,sha256=ydx_XVE9E9qPCnYDFa3xSoRiLNxolyTovaaZoFT7BWs,2380 -django/contrib/flatpages/locale/es/LC_MESSAGES/django.mo,sha256=SrjGOoAsyqXCSt3oLJMyodrJohU3Enlpbnd7g3ufvdg,2131 -django/contrib/flatpages/locale/es/LC_MESSAGES/django.po,sha256=DZnMRB9gSqjxTiywwOsLMTCCDfCoKphQnywWwqIuhVE,2448 -django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.mo,sha256=Mo9LtJd1QNX-GR6qjIluDEHmGF-djq7NXMIebz01uBE,2128 -django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.po,sha256=kGM0_ssp3T5xAPZOgiJ6xtbwtOtoaon1_AFKmaV61VQ,2289 -django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.mo,sha256=jt8wzeYky5AEnoNuAv8W4nGgd45XsMbpEdRuLnptr3U,2140 -django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.po,sha256=xrbAayPoxT7yksXOGPb-0Nc-4g14UmWANaKTD4ItAFA,2366 -django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.mo,sha256=Y5IOKRzooJHIhJzD9q4PKOe39Z4Rrdz8dBKuvmGkqWU,2062 -django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.po,sha256=Y-EXhw-jISttA9FGMz7gY_kB-hQ3wEyKEaOc2gu2hKQ,2246 -django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.mo,sha256=EI6WskepXUmbwCPBNFKqLGNcWFVZIbvXayOHxOCLZKo,2187 -django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.po,sha256=ipG6a0A2d0Pyum8GcknA-aNExVLjSyuUqbgHM9VdRQo,2393 -django/contrib/flatpages/locale/et/LC_MESSAGES/django.mo,sha256=1pqbiN3UlyuN26dXLazlUUZudJEjyjaPEb2D2jejd38,2095 -django/contrib/flatpages/locale/et/LC_MESSAGES/django.po,sha256=4yQAnUtnnqzAjRAAZD95Z69gLqkXgDVko4xeg24dOaU,2302 -django/contrib/flatpages/locale/eu/LC_MESSAGES/django.mo,sha256=rxbI25MXmkDh7FbLDiXBzjkw-6nF1eBKldVjgvMSKEs,2099 -django/contrib/flatpages/locale/eu/LC_MESSAGES/django.po,sha256=XT4Br06IcCptR5w5Mbtw-e_sOKvSLJFCq5Rg0M-jl6g,2326 -django/contrib/flatpages/locale/fa/LC_MESSAGES/django.mo,sha256=Zc-OsiwBJYrvVY6tefxec0VC97uD8__foLTLT_V0rCY,2459 -django/contrib/flatpages/locale/fa/LC_MESSAGES/django.po,sha256=H48bg8qlnzAQn22fEYZbYV_PhTiTao7KAezN5BekDyE,2717 -django/contrib/flatpages/locale/fi/LC_MESSAGES/django.mo,sha256=K_-A8ccHnFcWnViuPAKR7IxhcG0YWNG7iCKYOxxXgMg,2127 -django/contrib/flatpages/locale/fi/LC_MESSAGES/django.po,sha256=-Ik04K4va6HcOoG8bWukAsHThf3IWREZGeRzewYfC7o,2366 -django/contrib/flatpages/locale/fr/LC_MESSAGES/django.mo,sha256=tkV7tWmHWkJdlD62Xd8qdBhIvYO2kTG1ueQqE-OTg_4,2265 -django/contrib/flatpages/locale/fr/LC_MESSAGES/django.po,sha256=ZweF8qPKLnPd5LZhj0YyiMLT2vKnzZqkn_0Gok-h_9c,2521 -django/contrib/flatpages/locale/fy/LC_MESSAGES/django.mo,sha256=DRsFoZKo36F34XaiQg_0KUOr3NS_MG3UHptzOI4uEAU,476 -django/contrib/flatpages/locale/fy/LC_MESSAGES/django.po,sha256=9JIrRVsPL1m0NPN6uHiaAYxJXHp5IghZmQhVSkGo5g8,1523 -django/contrib/flatpages/locale/ga/LC_MESSAGES/django.mo,sha256=KKvDhZULHQ4JQ_31ltLkk88H2BKUbBXDQFSvdKFqjn8,2191 -django/contrib/flatpages/locale/ga/LC_MESSAGES/django.po,sha256=Yat7oU2XPQFQ8vhNq1nJFAlX2rqfxz4mjpU5TcnaYO8,2400 -django/contrib/flatpages/locale/gd/LC_MESSAGES/django.mo,sha256=FC4qtdjuLYBtEtORo74AaRAQF4FUdj4RWg6Bn1wpY3c,2295 -django/contrib/flatpages/locale/gd/LC_MESSAGES/django.po,sha256=SYC8csqVmTyI1OYFj41YSHcm_WEo0O8BK_VbIBC1Cng,2423 -django/contrib/flatpages/locale/gl/LC_MESSAGES/django.mo,sha256=VXyPsc6cXB97dJJFGfD8Oh2lYpn8TFYjIOeFUQeYpVU,2039 -django/contrib/flatpages/locale/gl/LC_MESSAGES/django.po,sha256=MzE7lepmRu60wy9gn6Wxx-LtKIO9JwScSdJ3SyLRU9s,2366 -django/contrib/flatpages/locale/he/LC_MESSAGES/django.mo,sha256=M5oju900kd_9dwqlSx9HNke8y0Jc1o3e1EC0bm4wDHc,2275 -django/contrib/flatpages/locale/he/LC_MESSAGES/django.po,sha256=BpycciP76QNqeVXjqWPmqv21MI4zX4ruJpCNX1S1BVg,2494 -django/contrib/flatpages/locale/hi/LC_MESSAGES/django.mo,sha256=w29ukoF48C7iJ6nE045YoWi7Zcrgu_oXoxT-r6gcQy8,2770 -django/contrib/flatpages/locale/hi/LC_MESSAGES/django.po,sha256=nXq5y1FqMGVhpXpQVdV3uU5JcUtBc2BIrf-n__C2q30,3055 -django/contrib/flatpages/locale/hr/LC_MESSAGES/django.mo,sha256=Mt4gpBuUXvcBl8K714ls4PimHQqee82jFxY1BEAYQOE,2188 -django/contrib/flatpages/locale/hr/LC_MESSAGES/django.po,sha256=ZbUMJY6a-os-xDmcDCJNrN4-YqRe9b_zJ4V5gt2wlGI,2421 -django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.mo,sha256=I6UXOeEqgMtWQ_A7NFAKO-EPJ-9CtPkWfVVaoi9tAYY,2230 -django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.po,sha256=d1GMjWo_zvZF12npVhHcYQpiDdjzrThsLcNrbGxRHOQ,2359 -django/contrib/flatpages/locale/hu/LC_MESSAGES/django.mo,sha256=S_cyw_dLh5sDX50qBwW7Zx4dieBsDV0JFbbGfbNzbNA,2147 -django/contrib/flatpages/locale/hu/LC_MESSAGES/django.po,sha256=dtTflYcyVqoGY4m6OwZVQwIsjH_o1ONrvl1oYvfoXGg,2364 -django/contrib/flatpages/locale/ia/LC_MESSAGES/django.mo,sha256=bochtCPlc268n0WLF0bJtUUT-XveZLPOZPQUetnOWfU,500 -django/contrib/flatpages/locale/ia/LC_MESSAGES/django.po,sha256=gOJ850e8sFcjR2G79zGn3_0-9-KSy591i7ketBRFjyw,1543 -django/contrib/flatpages/locale/id/LC_MESSAGES/django.mo,sha256=In75DDfKVuNVdDttaXMrI1CgOY6r3dcqM8cTiEhvRJU,2085 -django/contrib/flatpages/locale/id/LC_MESSAGES/django.po,sha256=_tD-pxVJDZBMytzB4G7MHCrTnkwm998u7Hl4ak3fSXw,2309 -django/contrib/flatpages/locale/io/LC_MESSAGES/django.mo,sha256=N8R9dXw_cnBSbZtwRbX6Tzw5XMr_ZdRkn0UmsQFDTi4,464 -django/contrib/flatpages/locale/io/LC_MESSAGES/django.po,sha256=_pJveonUOmMu3T6WS-tV1OFh-8egW0o7vU3i5YqgChA,1511 -django/contrib/flatpages/locale/is/LC_MESSAGES/django.mo,sha256=11iv2x1miXJ_z-eeP8PW6WSgXVe6Xa9SZc0GZCou6e0,2113 -django/contrib/flatpages/locale/is/LC_MESSAGES/django.po,sha256=6w9mwwDYZbWElNI6W25XmlmYvre7hvz-WZW1iiHeXXQ,2326 -django/contrib/flatpages/locale/it/LC_MESSAGES/django.mo,sha256=-k6ntTZ3GIGMy8Y8qO33vI8OQb637Gyf4PZjv4nQtmg,2099 -django/contrib/flatpages/locale/it/LC_MESSAGES/django.po,sha256=gB7uHMzrbBgOy3SXO2lp7Z1f1E5xEcSLQ6doVWo-Kq4,2284 -django/contrib/flatpages/locale/ja/LC_MESSAGES/django.mo,sha256=Xzvu1WllXyp-WQsDHaoagMUDgc6KCjJ_4y9dqsK05VU,2303 -django/contrib/flatpages/locale/ja/LC_MESSAGES/django.po,sha256=nC-PDQ8ec_H9bqSmY9n7YgN2BJl0fnFz_xLvRrmrOig,2529 -django/contrib/flatpages/locale/ka/LC_MESSAGES/django.mo,sha256=R4OSbZ-lGxMdeJYsaXVXpo6-KSZWeKPuErKmEsUvEQE,3022 -django/contrib/flatpages/locale/ka/LC_MESSAGES/django.po,sha256=YCVnkX9uayvAQjYy_2jS7fYb36meoMJTKSc2lfoUbeM,3301 -django/contrib/flatpages/locale/kk/LC_MESSAGES/django.mo,sha256=lF8VW--EOBeVKjUWE3KEczl03OJ4-86Ik7jyzaP6li4,2494 -django/contrib/flatpages/locale/kk/LC_MESSAGES/django.po,sha256=UIq5mqQ-Zr5GEuAFDcskzfRcIfOdgI30jV1-BRCEVIg,2697 -django/contrib/flatpages/locale/km/LC_MESSAGES/django.mo,sha256=FYRfhNSqBtavYb10sHZNfB-xwLwdZEfVEzX116nBs-k,1942 -django/contrib/flatpages/locale/km/LC_MESSAGES/django.po,sha256=d2AfbR78U0rJqbFmJQvwiBl_QvYIeSwsPKEnfYM4JZA,2471 -django/contrib/flatpages/locale/kn/LC_MESSAGES/django.mo,sha256=n5HCZEPYN_YIVCXrgA1qhxvfhZtDbhfiannJy5EkHkI,1902 -django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po,sha256=o9xnLjwDw7L49Mkyr8C6aQZ13Yq5MYx1JYXEtcIsiWU,2437 -django/contrib/flatpages/locale/ko/LC_MESSAGES/django.mo,sha256=joCZXqODbZSmwhc5j9NAzsnKYBom-rAg_PqvxLNx0BA,2183 -django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po,sha256=CI4VoUAU2FgPi9fN3igFE4R1Wm0OffrbI5gQ_Cs50pU,2497 -django/contrib/flatpages/locale/lb/LC_MESSAGES/django.mo,sha256=Wkvlh5L_7CopayfNM5Z_xahmyVje1nYOBfQJyqucI_0,502 -django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po,sha256=gGeTuniu3ZZ835t9HR-UtwCcd2s_Yr7ihIUm3jgQ7Y0,1545 -django/contrib/flatpages/locale/lt/LC_MESSAGES/django.mo,sha256=rv76BjAoYYM5OlPpXk1QUvRo9TSmLkUnynY7ySWQ1cY,2272 -django/contrib/flatpages/locale/lt/LC_MESSAGES/django.po,sha256=L3El0c8USYE6T4Wm4hZr-6hFOFeU90NJwtPY4-KQw0s,2529 -django/contrib/flatpages/locale/lv/LC_MESSAGES/django.mo,sha256=fYcpSppdN1c6qe1OGc5OObIT3ojSxJ-HiUJ6KDE98K4,2190 -django/contrib/flatpages/locale/lv/LC_MESSAGES/django.po,sha256=GEzjTZID0XbIwVuxtb_RFODLK4G5plSra8FD2If3wpw,2351 -django/contrib/flatpages/locale/mk/LC_MESSAGES/django.mo,sha256=55H8w6fB-B-RYlKKkGw3fg2m-djxUoEp_XpupK-ZL70,2699 -django/contrib/flatpages/locale/mk/LC_MESSAGES/django.po,sha256=OhHJ5OVWb0jvNaOB3wip9tSIZ1yaPPLkfQR--uUEyUI,2989 -django/contrib/flatpages/locale/ml/LC_MESSAGES/django.mo,sha256=b2-4gs63dCf0Twzj9HuYlac89PnnHc27C4ygeAZ7FZA,3228 -django/contrib/flatpages/locale/ml/LC_MESSAGES/django.po,sha256=4u8TlRINfXHYSfxQkU2w0qzFJhP-iuvDVgDbcaCcM80,3461 -django/contrib/flatpages/locale/mn/LC_MESSAGES/django.mo,sha256=Ogm4nShs2OSRqtHyfxpTa88HBHUDVAHeUZeScxk1cKw,2600 -django/contrib/flatpages/locale/mn/LC_MESSAGES/django.po,sha256=FwnRhnzmufcD50ua9K3hASBMlMXAG4uGZs5BskzbU3g,2830 -django/contrib/flatpages/locale/mr/LC_MESSAGES/django.mo,sha256=GvSfsp0Op7st6Ifd8zp8Cj4tTHoFMltQb4p64pebrqI,468 -django/contrib/flatpages/locale/mr/LC_MESSAGES/django.po,sha256=sayU0AfVaSFpBj0dT32Ri55LRafQFUHLi03K06kI7gc,1515 -django/contrib/flatpages/locale/my/LC_MESSAGES/django.mo,sha256=OcbiA7tJPkyt_WNrqyvoFjHt7WL7tMGHV06AZSxzkho,507 -django/contrib/flatpages/locale/my/LC_MESSAGES/django.po,sha256=EPWE566Vn7tax0PYUKq93vtydvmt-A4ooIau9Cwcdfc,1550 -django/contrib/flatpages/locale/nb/LC_MESSAGES/django.mo,sha256=kKYaglGpmMbp6txY0IAFusugcXp_JKhJx2k_8kgqagE,2092 -django/contrib/flatpages/locale/nb/LC_MESSAGES/django.po,sha256=mNXJFfnCRfH4FwvEQokXLntyhha9I-vZ98L5Aj5stWk,2374 -django/contrib/flatpages/locale/ne/LC_MESSAGES/django.mo,sha256=gDZKhcku1NVlSs5ZPPupc7RI8HOF7ex0R4Rs8tMmrYE,1500 -django/contrib/flatpages/locale/ne/LC_MESSAGES/django.po,sha256=GWlzsDaMsJkOvw2TidJOEf1Fvxx9WxGdGAtfZIHkHwk,2178 -django/contrib/flatpages/locale/nl/LC_MESSAGES/django.mo,sha256=u0BmOl8D3l0MLNM0zsFIA2i2XyiOXDHg5ZJdkmsfm7Q,2115 -django/contrib/flatpages/locale/nl/LC_MESSAGES/django.po,sha256=ybQ5HXn9NkjatZJvQkcUnPdBQ7KTCHJsfwPe66lIZnY,2473 -django/contrib/flatpages/locale/nn/LC_MESSAGES/django.mo,sha256=A50zQJ-0YYPjPCeeEa-gwqA2N5eON13YW8SJZvtJBZc,1693 -django/contrib/flatpages/locale/nn/LC_MESSAGES/django.po,sha256=H5hnBsH3sUdlPkMjxiqNnh8izcrTSAs6o-ywlNCTKtw,2119 -django/contrib/flatpages/locale/os/LC_MESSAGES/django.mo,sha256=cXGTA5M229UFsgc7hEiI9vI9SEBrNQ8d3A0XrtazO6w,2329 -django/contrib/flatpages/locale/os/LC_MESSAGES/django.po,sha256=m-qoTiKePeFviKGH1rJRjZRH-doJ2Fe4DcZ6W52rG8s,2546 -django/contrib/flatpages/locale/pa/LC_MESSAGES/django.mo,sha256=69_ZsZ4nWlQ0krS6Mx3oL6c4sP5W9mx-yAmOhZOnjPU,903 -django/contrib/flatpages/locale/pa/LC_MESSAGES/django.po,sha256=N6gkoRXP5MefEnjywzRiE3aeU6kHQ0TUG6IGdLV7uww,1780 -django/contrib/flatpages/locale/pl/LC_MESSAGES/django.mo,sha256=T_OGt7vhizxrtAcSWmBLL6FUrWe4kt2oJes0R2X6y0k,2302 -django/contrib/flatpages/locale/pl/LC_MESSAGES/django.po,sha256=y3NQanfR8fBGD87ukbs9GRCCzqBZgnvYuigQrzEo_Zw,2562 -django/contrib/flatpages/locale/pt/LC_MESSAGES/django.mo,sha256=xD2pWdS3XMg7gAqBrUBmCEXFsOzEs0Npe8AJnlpueRY,2115 -django/contrib/flatpages/locale/pt/LC_MESSAGES/django.po,sha256=-K2jipPUWjXpfSPq3upnC_bvtaRAeOw0OLRFv03HWFY,2326 -django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.mo,sha256=3HkwLPl8gJx5NysmUHdIY2HaqAmhYtq33HKhCN7ht0M,2130 -django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.po,sha256=nCm3nt3DT5r-Dl8QUsgqPRJULNs0H8jFk9Ba_yL6N3E,2584 -django/contrib/flatpages/locale/ro/LC_MESSAGES/django.mo,sha256=nMOBt3XPjuoBGujcURWhYAyZVT7_5X0EEnbaFUWTu3M,2197 -django/contrib/flatpages/locale/ro/LC_MESSAGES/django.po,sha256=8td78SC46GvgmjsoHP_bsB_rYkOsfCfSeTc-Ib_F-KQ,2460 -django/contrib/flatpages/locale/ru/LC_MESSAGES/django.mo,sha256=KLrfdIDEPg_YqAiMIozJna_5UORc1VtIqQdsRiBiBa4,2741 -django/contrib/flatpages/locale/ru/LC_MESSAGES/django.po,sha256=sJrfCiup7Jt-FSZgpe9ulDWjv1BBjJf9A8R3r-nO-eQ,3029 -django/contrib/flatpages/locale/sk/LC_MESSAGES/django.mo,sha256=fah0acDTuIuhH3mfTJOKgHj7cIOD1EjYKVjKNOW6UAY,2155 -django/contrib/flatpages/locale/sk/LC_MESSAGES/django.po,sha256=5G2EKb5cvzJFGtITe8XUaRHOhojdCNH4Fjg8j24qtCs,2367 -django/contrib/flatpages/locale/sl/LC_MESSAGES/django.mo,sha256=MBjwhw6wppQUl0Lb_rShXZj_Sq-JLSkdYU5Xhi0OtYY,2173 -django/contrib/flatpages/locale/sl/LC_MESSAGES/django.po,sha256=6zbOXzkLTsdWRKAhuLzBVBc53n6MQKpvOeHw4cRrAlc,2400 -django/contrib/flatpages/locale/sq/LC_MESSAGES/django.mo,sha256=XZyziioVIY30Evbjp4CEZM3wrdfkz1i7ttY2rsZ2Yt0,2181 -django/contrib/flatpages/locale/sq/LC_MESSAGES/django.po,sha256=JWg31JWs6D9N3C2ZhTFOWrKHml1qEo8lJ7_8GV_ECzM,2353 -django/contrib/flatpages/locale/sr/LC_MESSAGES/django.mo,sha256=mnUUlaDt-hkiJ7orA11ULhHyUk9AKCP_JiezKE1b6fI,2513 -django/contrib/flatpages/locale/sr/LC_MESSAGES/django.po,sha256=Mvp8LVG262rcobi4IPSi8Hh6-osv6MI3hCuAPYC_vhw,2763 -django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=9iKmAQk1hlW0W_BmRr4_hSiGd9RdwiDZFS4giqW7On8,2125 -django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.po,sha256=Mr83YokpIM_KFfcRmMhaBov9MmkR0yMrHhwWFZmChos,2378 -django/contrib/flatpages/locale/sv/LC_MESSAGES/django.mo,sha256=j827YPTO2kPrexfXi28gRnfghHuK7cvy5DT6SAvFWAQ,2132 -django/contrib/flatpages/locale/sv/LC_MESSAGES/django.po,sha256=XSfmwVTEukv3zW4_1noCiYGFc4rabIWX-Vngo-Vd06k,2372 -django/contrib/flatpages/locale/sw/LC_MESSAGES/django.mo,sha256=Lhf99AGmazKJHzWk2tkGrMInoYOq0mtdCd8SGblnVCQ,1537 -django/contrib/flatpages/locale/sw/LC_MESSAGES/django.po,sha256=cos3eahuznpTfTdl1Vj_07fCOSYE8C9CRYHCBLYZrVw,1991 -django/contrib/flatpages/locale/ta/LC_MESSAGES/django.mo,sha256=nNuoOX-FPAmTvM79o7colM4C7TtBroTFxYtETPPatcQ,1945 -django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po,sha256=XE4SndPZPLf1yXGl5xQSb0uor4OE8CKJ0EIXBRDA3qU,2474 -django/contrib/flatpages/locale/te/LC_MESSAGES/django.mo,sha256=bMxhDMTQc_WseqoeqJMCSNy71o4U5tJZYgD2G0p-jD0,1238 -django/contrib/flatpages/locale/te/LC_MESSAGES/django.po,sha256=tmUWOrAZ98B9T6Cai8AgLCfb_rLeoPVGjDTgdsMOY1Y,2000 -django/contrib/flatpages/locale/th/LC_MESSAGES/django.mo,sha256=mct17_099pUn0aGuHu8AlZG6UqdKDpYLojqGYDLRXRg,2698 -django/contrib/flatpages/locale/th/LC_MESSAGES/django.po,sha256=PEcRx5AtXrDZvlNGWFH-0arroD8nZbutdJBe8_I02ag,2941 -django/contrib/flatpages/locale/tr/LC_MESSAGES/django.mo,sha256=Mlha5uTnMJybOxODh03SXHnOc9ORncJ5fSCKrAuaZKw,2136 -django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po,sha256=Bn8ASUcnuOWD8YNEgjoZ7GU_WzhCYKuAG6WUP-WAB-A,2383 -django/contrib/flatpages/locale/tt/LC_MESSAGES/django.mo,sha256=9RfCKyn0ZNYsqLvFNmY18xVMl7wnmDq5uXscrsFfupk,2007 -django/contrib/flatpages/locale/tt/LC_MESSAGES/django.po,sha256=SUwalSl8JWI9tuDswmnGT8SjuWR3DQGND9roNxJtH1o,2402 -django/contrib/flatpages/locale/udm/LC_MESSAGES/django.mo,sha256=7KhzWgskBlHmi-v61Ax9fjc3NBwHB17WppdNMuz-rEc,490 -django/contrib/flatpages/locale/udm/LC_MESSAGES/django.po,sha256=zidjP05Hx1OpXGqWEmF2cg9SFxASM4loOV85uW7zV5U,1533 -django/contrib/flatpages/locale/uk/LC_MESSAGES/django.mo,sha256=TnZ0ya0EGbkIFAcZFW-YVBOiiwlxg9Ci9Q8Ud9_ZbgI,2624 -django/contrib/flatpages/locale/uk/LC_MESSAGES/django.po,sha256=5deZ17O4Gtj1UG6Edzj7HJoLiJfA4fV_oNZQSUtVfRY,2897 -django/contrib/flatpages/locale/ur/LC_MESSAGES/django.mo,sha256=Li4gVdFoNOskGKAKiNuse6B2sz6ePGqGvZu7aGXMNy0,1976 -django/contrib/flatpages/locale/ur/LC_MESSAGES/django.po,sha256=hDasKiKrYov9YaNIHIpoooJo0Bzba___IuN2Hl6ofSc,2371 -django/contrib/flatpages/locale/vi/LC_MESSAGES/django.mo,sha256=FsFUi96oGTWGlZwM4qSMpuL1M2TAxsW51qO70TrybSM,1035 -django/contrib/flatpages/locale/vi/LC_MESSAGES/django.po,sha256=ITX3MWd7nlWPxTCoNPl22_OMLTt0rfvajGvTVwo0QC8,1900 -django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=4PBYHqvZ8tsWOppfMjHvA4fhchWqPSJdaYm96_Xu734,1994 -django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.po,sha256=2z96jKF7PQrb2IXZO1p2Ta77e95vA-epdnB3wK3wcYo,2279 -django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=a-KLBISo2n7mn10SuNfT0K883RTjKjPYCpHCAivUz18,2053 -django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.po,sha256=GtvYArHRgiEQo5KSIYd4lsOeHCrXkWaZIiKFH4m1peM,2283 -django/contrib/flatpages/migrations/0001_initial.py,sha256=dLSlPpjfc6jMKhxYPsw6yKohxn4ejRXVOJ1VyJf12r4,1710 -django/contrib/flatpages/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/flatpages/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/flatpages/templatetags/flatpages.py,sha256=AH29WWZNLWH2B2GMt7cHoN9-Bmxn5k1w9Qi48Uhn-kc,3576 -django/contrib/gis/__init__.py,sha256=GTSQJbKqQkNiljWZylYy_ofRICJeqIkfqmnC9ZdxZ2I,57 -django/contrib/gis/apps.py,sha256=wEquhS1IKyUphVzs9QL4J-94onezMkC5tK_WkrUEa3o,396 -django/contrib/gis/feeds.py,sha256=vCYhNC7qRvPIPGLw8GnAqi-c1SCwQJlwuBtZ36n7LSY,5733 -django/contrib/gis/geometry.py,sha256=sTXZdh3D1UGGDBP-WZ2jvLUVstcJ_2Kn1_PlKJshNDo,677 -django/contrib/gis/measure.py,sha256=BLWTkDMMunvaN9lR8QDujmKOxUyhBQKy10Auo0npDaQ,11948 -django/contrib/gis/ptr.py,sha256=3YoUTosG8oZ2comaW7OczuCtAQMyioRPjDjbIqs0gLI,1276 -django/contrib/gis/shortcuts.py,sha256=fHf3HYP6MP8GeuBW6G3y6d30Mjxa6IL2xtmblDjS8k4,1027 -django/contrib/gis/views.py,sha256=GpOJ8W5gk-xbB8y3wPe2dvoVutPKZqswhcMWCETBnx0,698 -django/contrib/gis/admin/__init__.py,sha256=Hni2JCw5ihVuor2HupxDffokiBOG11tu74EcKhiO89w,486 -django/contrib/gis/admin/options.py,sha256=TBV8szg0bCDSYfYupX_wwPf55pBo-8k_KfuM5FUV8vU,5330 -django/contrib/gis/admin/widgets.py,sha256=_X3Li-k9q0m7soBvu0Vu3jwwmODZWTx9A3IswYKeXLM,4720 -django/contrib/gis/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/utils.py,sha256=y4q0N0oDplot6dZQIFnjGPqVsTiGyLTmEMt5-xj-2b4,784 -django/contrib/gis/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/base/adapter.py,sha256=gzUjdM_lU9pBK3NlrX_Fx1W96TT1cYJdWZjhV7eQZ4s,482 -django/contrib/gis/db/backends/base/features.py,sha256=F4Xhc-OSHsV-IjB2PbcU_DcVmRITXYnOe2xgXOj_iHo,3406 -django/contrib/gis/db/backends/base/models.py,sha256=vkDweNsExmKWkHNSae9G6P-fT-SMdIgHZ85i31ihXg0,3962 -django/contrib/gis/db/backends/base/operations.py,sha256=v3jyAGBz8oqtShYzvoYLa8oyWjmKcwl-HQB-usnPT8w,6321 -django/contrib/gis/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/mysql/base.py,sha256=rz8tnvXJlY4V6liWxYshuxQE-uTNuKSBogCz_GtXoaY,507 -django/contrib/gis/db/backends/mysql/features.py,sha256=zyl131i6rwEqn3prTzMMOgy7AuUfcCCNx4lKj9YmXQ4,756 -django/contrib/gis/db/backends/mysql/introspection.py,sha256=-Ff3nDRI7Rz3Cc33UlD0TgajjNH5rde9u0SKTMwuAUw,1771 -django/contrib/gis/db/backends/mysql/operations.py,sha256=RRD37VSAMHbVoBfU7TA1LI_9x4Wox8Yw_Cw0Evj3tnE,4077 -django/contrib/gis/db/backends/mysql/schema.py,sha256=I8eJcKXqiyv15ATHLs5qVsHfWDE07lf0_-iaNdGv0ew,2890 -django/contrib/gis/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/oracle/adapter.py,sha256=y9ewCXAoQZ4iXCHzf_bsRwSXpCHdK9HJyUZy_1AiA40,1872 -django/contrib/gis/db/backends/oracle/base.py,sha256=NQYlEvE4ioobvMd7u2WC7vMtDiRq_KtilGprD6qfJCo,516 -django/contrib/gis/db/backends/oracle/features.py,sha256=lHjxvF4bQqlv8VQGgXhCNrfnDgbUUm6GwjYeva4HKMc,420 -django/contrib/gis/db/backends/oracle/introspection.py,sha256=NrjdXhbXbEtYEYQfohbBlxD1pMlhmcW44S_z_ZL09Ns,1839 -django/contrib/gis/db/backends/oracle/models.py,sha256=qn2TayTuC67MD7gEZo954DKa5ddB9CNS4rTkXkdXo8E,2084 -django/contrib/gis/db/backends/oracle/operations.py,sha256=wMg1U6JAJga-n_16Ht-CCsngxi4I2xnozNao8ye25oE,8269 -django/contrib/gis/db/backends/oracle/schema.py,sha256=wnb56CJ9Er40E4Yw7RK1hOOYZAHRJJFbNGNK9E9IHRk,3916 -django/contrib/gis/db/backends/postgis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/postgis/adapter.py,sha256=Qa1z5H2p2iDegEmuQDH_yUR8sbmYvg1S51F7BArng7g,2154 -django/contrib/gis/db/backends/postgis/base.py,sha256=sFCNoMHRzd-a_MRc9hv-tyVHEODmGveyIopbP6CTPCg,937 -django/contrib/gis/db/backends/postgis/const.py,sha256=a536866Z3EPWtcjYUXewOe0QjyfFIhxRTk_tFmRu1NA,1484 -django/contrib/gis/db/backends/postgis/features.py,sha256=iBZqX6o1YBrmw5pSUYeft-ga6FGa05J-9ADFNsRtLgk,422 -django/contrib/gis/db/backends/postgis/introspection.py,sha256=EMl6H0OOQzzKLMKDOuMQXwaxo6S0JMQ4WRmynFcmxEA,5410 -django/contrib/gis/db/backends/postgis/models.py,sha256=EE3RLh8ywcJ7NAYhPAQbORChwsgntssvDqXkLxDGR2A,1962 -django/contrib/gis/db/backends/postgis/operations.py,sha256=r0RfufIz-seq2JPpzdiz_lEy5Jrw9wYrL9dMbkpnPqA,15946 -django/contrib/gis/db/backends/postgis/pgraster.py,sha256=xo7S1sR_xaaUGCZOcZlNriSLb_Rw7yTkPHgcy-9o7Xo,4586 -django/contrib/gis/db/backends/postgis/schema.py,sha256=8OLvoGWRnm8WNhVzfd_4hk58I_IErPMdvswL2D4DG2I,2647 -django/contrib/gis/db/backends/spatialite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/spatialite/adapter.py,sha256=y74p_UEgLtoYjNZEi72mwcJOh_b-MzJ7sZd68WJXBiY,317 -django/contrib/gis/db/backends/spatialite/base.py,sha256=UeWmlPtr1VUZgogPV-S-poAds4hgcGcrAhIBzery3f4,2875 -django/contrib/gis/db/backends/spatialite/client.py,sha256=NsqD2vAnfjqn_FbQnCQeAqbGyZf9oa6gl7EPsMTPf8c,138 -django/contrib/gis/db/backends/spatialite/features.py,sha256=UcNZz6Pn5ULxxafA35EqapaopfrG1A77LDfadKUuwX0,783 -django/contrib/gis/db/backends/spatialite/introspection.py,sha256=hfvLrbpXfCJaEHnajPR4UNS69bHL_WGvQi6s0vYsy0A,3169 -django/contrib/gis/db/backends/spatialite/models.py,sha256=Im-NSbDbUMjvZgZpABrOMuKqmygbcKxTZv0k1YZf1gE,1890 -django/contrib/gis/db/backends/spatialite/operations.py,sha256=nnET48MGuG6ZP2YUVJaVYvlEtdNbm-MTjvuCPIO-BGY,8309 -django/contrib/gis/db/backends/spatialite/schema.py,sha256=WLvCcCOqdTcBmsjaBNt15YwVzE05vXzQVvfGva6q1Xo,6838 -django/contrib/gis/db/models/__init__.py,sha256=BR3kQAefIv4O1NksiVCUShwlSO4OCNoUGan6dCRGIyU,817 -django/contrib/gis/db/models/aggregates.py,sha256=6pu08PWnXFhFe2yWOoaBKVk87pcIm5LSKSlIlM3hJ24,2583 -django/contrib/gis/db/models/fields.py,sha256=dXgNMhVzzoqMxrTv8lOb-7yxBVX-jr1CzxzuKk9gRFQ,13514 -django/contrib/gis/db/models/functions.py,sha256=1mpm9lPWFUmZoF1EsFYKQJlYPql6R8n5TiDG7R6giJo,16264 -django/contrib/gis/db/models/lookups.py,sha256=vmQVxVe62O0hcTIsd-03bQl2R7JdwYx6Fzz4MMKa7g8,10878 -django/contrib/gis/db/models/proxy.py,sha256=F_y7gVePcxpywNxMMEzS0A_t4LCbkhfrOllQZ0ZDPgU,3172 -django/contrib/gis/db/models/sql/__init__.py,sha256=oYJYL-5DAO-DIcpIQ7Jmeq_cuKapRB83V1KLVIs_5iU,139 -django/contrib/gis/db/models/sql/conversion.py,sha256=gG1mTUWb33YK_Uf1ZJRg5MRhkCTLtgajD3xxi7thODA,2400 -django/contrib/gis/forms/__init__.py,sha256=fREam1OSkDWr9ugUMNZMFn8Y9TufpRCn3Glj14DTMbQ,298 -django/contrib/gis/forms/fields.py,sha256=0cXtGt9PdutO4Ouk-q6qddReN2C-64lFSUPfuHqTvco,4114 -django/contrib/gis/forms/widgets.py,sha256=Lt4WZC58wtrZw8BCg-_1exsaocMujJC4m47EusatfwI,3515 -django/contrib/gis/gdal/LICENSE,sha256=VwoEWoNyts1qAOMOuv6OPo38Cn_j1O8sxfFtQZ62Ous,1526 -django/contrib/gis/gdal/__init__.py,sha256=Zs9bOGm9RStYhhlWCnqRNChJG4K_oWDPRXYylplur1Q,1760 -django/contrib/gis/gdal/base.py,sha256=yymyL0vZRMBfiFUzrehvaeaunIxMH5ucGjPRfKj-rAo,181 -django/contrib/gis/gdal/datasource.py,sha256=ItTc0jrMn0fTDBIoHVjhjskIrRjKKYEXaP5G6t21LHY,4490 -django/contrib/gis/gdal/driver.py,sha256=iBp2Vk6UV-fPJWsIxBc-pUdVmG51GHTSgOyDD-Dg9lc,3262 -django/contrib/gis/gdal/envelope.py,sha256=ZsX4QPtg60yVl5MMjc_mbolnbA0lWWV-85ZW4IHWIbU,6973 -django/contrib/gis/gdal/error.py,sha256=WNtvm0k-Msbo5pW2rO1_5fDvLRqoF8D5ka9UC6hfclM,1575 -django/contrib/gis/gdal/feature.py,sha256=41qBdM1bVmKh4W-5QO6-3mrEbyL-1lCEGgclsOIJAzg,3927 -django/contrib/gis/gdal/field.py,sha256=64_BJ1SyJXqByVPiQB2HU6_5KiPSe2IE-5Wq4heKbEo,6699 -django/contrib/gis/gdal/geometries.py,sha256=tvtVLuW-W23tlp-rGGj4Fx6aNqFNxDqr2hAlAjdjO2Y,24515 -django/contrib/gis/gdal/geomtype.py,sha256=wV9vW9lalMtMSEja161xMdZVqmaf6rR-PC2GdzeIwMs,3175 -django/contrib/gis/gdal/layer.py,sha256=NeFb78T4O8KBuAUfMdR2t-tK5UO4GCCSGd3ZY5Temyo,8537 -django/contrib/gis/gdal/libgdal.py,sha256=H0sugVJuTEPvjJZ2S3SUjZOs_9yn4Yq5FDYV4UNOEhw,3612 -django/contrib/gis/gdal/srs.py,sha256=jJDIApRPMhm6gQNVKmqCzrgufx1MFo44Eu7tk_Elu7k,11540 -django/contrib/gis/gdal/prototypes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/gdal/prototypes/ds.py,sha256=AAu7QnwigZ-3Dme-uHsOySlT1TGvAYSvqF1pZtauMto,4413 -django/contrib/gis/gdal/prototypes/errcheck.py,sha256=81MQSCm3lvq8LYMi7t901Z82X9ChgApD0MC6jh2TKT4,4151 -django/contrib/gis/gdal/prototypes/generation.py,sha256=WmFEbrwQQJpdHd5bBZYYO07bsR_3Sv8ZFQXNjGgffGA,4612 -django/contrib/gis/gdal/prototypes/geom.py,sha256=ELRO7bR8RxO3HIuxtitr06yhsG4DxYTlRsTa6NenTqI,4946 -django/contrib/gis/gdal/prototypes/raster.py,sha256=aXOXg3B_NcFt4AoX6sDSr0u_yEvhWPF2D00qhxCFnzc,5763 -django/contrib/gis/gdal/prototypes/srs.py,sha256=yzAqWOFjP626Kovwd1HOlJuWcT3kuLCFq_PCVNN7Gaw,3540 -django/contrib/gis/gdal/raster/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/gdal/raster/band.py,sha256=jGoWznyK-4MYElT3KpuUTyWjGmv_Eou_c76BqBXMMR4,8304 -django/contrib/gis/gdal/raster/base.py,sha256=VJk16KfArc2SbTjRK3iLuFmzXW1B7VUSctG0Jc6m4Vg,3014 -django/contrib/gis/gdal/raster/const.py,sha256=D976ENrWFWdoH1fS5DuyhcS8ix7zJB8UIu4_NvEJtgI,2889 -django/contrib/gis/gdal/raster/source.py,sha256=3URK_Vp9VsObLWLDB5tT59XVAUs-pBUsJrojeD6fdJE,16854 -django/contrib/gis/geoip2/__init__.py,sha256=uIUWQyMsbSrYL-oVqFsmhqQkYGrh7pHLIVvIM3W_EG4,822 -django/contrib/gis/geoip2/base.py,sha256=BuT-N9PuRqjuP8kohfKxvnft-nI7J7orPzLrOUDF2qE,9033 -django/contrib/gis/geoip2/resources.py,sha256=UFle7-6gOKg-En5z_uaO3VzlUmhGoSxWsy_hbIh-tjQ,651 -django/contrib/gis/geos/LICENSE,sha256=CL8kt1USOK4yUpUkVCWxyuua0PQvni0wPHs1NQJjIEU,1530 -django/contrib/gis/geos/__init__.py,sha256=DXFaljVp6gf-E0XAbfO1JnYjPYSDfGZQ2VLtGYBcUZQ,648 -django/contrib/gis/geos/base.py,sha256=NdlFg5l9akvDp87aqzh9dk0A3ZH2TI3cOq10mmmuHBk,181 -django/contrib/gis/geos/collections.py,sha256=OHpBZoruCk_rySBZ4gpEA2ZWLODFCHwkOyGIn1wxGJc,4162 -django/contrib/gis/geos/coordseq.py,sha256=cMGg3XPm2x3VYjkYys8rojRG7uzMez8FpOr2HD-Jy8Q,6419 -django/contrib/gis/geos/error.py,sha256=r3SNTnwDBI6HtuyL3mQ_iEEeKlOqqqdkHnhNoUkMohw,104 -django/contrib/gis/geos/factory.py,sha256=f6u2m1AtmYYHk_KrIC9fxt7VGsJokJVoSWEx-DkPWx0,961 -django/contrib/gis/geos/geometry.py,sha256=Gbz_K0_QMluq69V-wxp2AQwScueIz5K5bBgxkLXY__g,24845 -django/contrib/gis/geos/io.py,sha256=Om5DBSlttixUc3WQAGZDhzPdb5JTe82728oImIj_l3k,787 -django/contrib/gis/geos/libgeos.py,sha256=AtMP5GPGgjPPQzgzk8G-fxDFWlhd7e-LWR4idA3dXh8,5127 -django/contrib/gis/geos/linestring.py,sha256=xBs4p9osA_zUK6xCdgg_nBLBmbvZ_Qxa7aZ8T5ao0vs,5960 -django/contrib/gis/geos/mutable_list.py,sha256=_dHOe_CF9jQGv0UFbKUwSqLWcl4EQBFLJ0wtO8cf5Y4,10489 -django/contrib/gis/geos/point.py,sha256=vBBmdajc7GXisTdRDriHEJRc0irjNJsTF8qDtHr5o4U,4443 -django/contrib/gis/geos/polygon.py,sha256=qYVaXi9rxs3yUQH-z2Kqr4vw5Pjd-HneTa7iB6r-86c,6691 -django/contrib/gis/geos/prepared.py,sha256=rJf35HOTxPrrk_yA-YR9bQlL_pPDKecuhwZlcww8lxY,1575 -django/contrib/gis/geos/prototypes/__init__.py,sha256=0jfLanLmI1q-3NIpdIZr3EHnMzhPRXMhbCNIHf3glfI,1221 -django/contrib/gis/geos/prototypes/coordseq.py,sha256=jd8jmxXbhZjNmWRad9917ar8ozDIih-EnFvmamgLxm0,2989 -django/contrib/gis/geos/prototypes/errcheck.py,sha256=YTUBFoHU5pZOAamBPgogFymDswgnMr1_KL59sZfInYo,2654 -django/contrib/gis/geos/prototypes/geom.py,sha256=FoWEduMbbWb6_blM2IJOP_WkYCVISLksuXOaFAL_9c8,3565 -django/contrib/gis/geos/prototypes/io.py,sha256=q9LPSy0ZKDGag8pn8XhswRI8E42EzBy3kqmWTTxYRM4,11118 -django/contrib/gis/geos/prototypes/misc.py,sha256=7Xwk0HG__JtPt6wJD-ieMkD-7KxpnofYrHSk6NEUeJo,1161 -django/contrib/gis/geos/prototypes/predicates.py,sha256=Ya06ir7LZQBSUypB05iv9gpvZowOSLIKa4fhCnhZuYY,1587 -django/contrib/gis/geos/prototypes/prepared.py,sha256=SC7g9_vvsW_ty7LKqlMzJfF9v3EvsJX9-j3kpSeCRfY,1184 -django/contrib/gis/geos/prototypes/threadsafe.py,sha256=mMS57uRZmYrsWluD4Y8Sej5gH7IFiGCHjERfQMsE6Ak,2389 -django/contrib/gis/geos/prototypes/topology.py,sha256=AD9s3yytjEaF6YZpa7nBufZlxaC7lM8q7GfXaEWRvxY,2139 -django/contrib/gis/locale/af/LC_MESSAGES/django.mo,sha256=TN3GddZjlqXnhK8UKLlMoMIXNw2szzj7BeRjoKjsR5c,470 -django/contrib/gis/locale/af/LC_MESSAGES/django.po,sha256=XPdXaQsZ6yDPxF3jVMEI4bli_5jrEawoO-8DHMk8Q_A,1478 -django/contrib/gis/locale/ar/LC_MESSAGES/django.mo,sha256=q0DhiLoyS8WBktN150bvtusd885p2E7e23VMFAqJPj0,2428 -django/contrib/gis/locale/ar/LC_MESSAGES/django.po,sha256=rnZPCzub0GRmC3FwmfyhATesLcm4yTRNr8jDSvM9wBQ,2639 -django/contrib/gis/locale/ast/LC_MESSAGES/django.mo,sha256=8o0Us4wR14bdv1M5oBeczYC4oW5uKnycWrj1-lMIqV4,850 -django/contrib/gis/locale/ast/LC_MESSAGES/django.po,sha256=0beyFcBkBOUNvPP45iqewTNv2ExvCPvDYwpafCJY5QM,1684 -django/contrib/gis/locale/az/LC_MESSAGES/django.mo,sha256=Fa4dVabHbnYIaJNor3mac1dXOHEEiO2MN9LqGe-r5kg,1211 -django/contrib/gis/locale/az/LC_MESSAGES/django.po,sha256=Xj1cR_yGYeqHDiNU-UVoWjVevwAfT7bOTj5Cbbx49pk,1801 -django/contrib/gis/locale/be/LC_MESSAGES/django.mo,sha256=ySlqE1WXTqM5DGsE_fEF5pipbyqj4A10SZgvQlFAyKc,2488 -django/contrib/gis/locale/be/LC_MESSAGES/django.po,sha256=HzR5MKPYfc-xeRnb0oPIi9OLa-iA86_IbbM3Poj8h_k,2651 -django/contrib/gis/locale/bg/LC_MESSAGES/django.mo,sha256=1A5wo7PLz0uWsNMHv_affxjNnBsY3UQNz7zHszu56do,2452 -django/contrib/gis/locale/bg/LC_MESSAGES/django.po,sha256=5Onup09U6w85AFWvjs2QKnYXoMhnnw9u4eUlIa5QoXU,2670 -django/contrib/gis/locale/bn/LC_MESSAGES/django.mo,sha256=7oNsr_vHQfsanyP-o1FG8jZTSBK8jB3eK2fA9AqNOx4,1070 -django/contrib/gis/locale/bn/LC_MESSAGES/django.po,sha256=PTa9EFZdqfznUH7si3Rq3zp1kNkTOnn2HRTEYXQSOdM,1929 -django/contrib/gis/locale/br/LC_MESSAGES/django.mo,sha256=dKdyM_SsEERl7fEYUej6idqQpQVVm2oeBdQwzcxGU8s,466 -django/contrib/gis/locale/br/LC_MESSAGES/django.po,sha256=mcr1XLHBS7WvX4S086rope0RX_WhkpZd93t-1S9A0O0,1512 -django/contrib/gis/locale/bs/LC_MESSAGES/django.mo,sha256=9EdKtZkY0FX2NlX_q0tIxXD-Di0SNQJZk3jo7cend0A,1308 -django/contrib/gis/locale/bs/LC_MESSAGES/django.po,sha256=eu_qF8dbmlDiRKGNIz80XtIunrF8QIOcy8O28X02GvQ,1905 -django/contrib/gis/locale/ca/LC_MESSAGES/django.mo,sha256=_ghgN_u_2yqPFt8oKksLPQeJxn1dz_o23Z-OAa3xKTQ,2043 -django/contrib/gis/locale/ca/LC_MESSAGES/django.po,sha256=o5dQ-gYO9WPYQf4EFhpl3GLHzu-KU3MDYAn3Y_YVpMs,2313 -django/contrib/gis/locale/cs/LC_MESSAGES/django.mo,sha256=fxe9guXFqd6Vc8c-srZ-h-FEK9P00CfogO1PlP5AmiA,2058 -django/contrib/gis/locale/cs/LC_MESSAGES/django.po,sha256=C7CHSputPGEzUKZ3Q6dX5xOBtwkiqOsjHxHz-oUuMkg,2259 -django/contrib/gis/locale/cy/LC_MESSAGES/django.mo,sha256=vUG_wzZaMumPwIlKwuN7GFcS9gnE5rpflxoA_MPM_po,1430 -django/contrib/gis/locale/cy/LC_MESSAGES/django.po,sha256=_QjXT6cySUXrjtHaJ3046z-5PoXkCqtOhvA7MCZsXxk,1900 -django/contrib/gis/locale/da/LC_MESSAGES/django.mo,sha256=qSfQxrORzIWKkcgjsCOOsTGhr8qU7DhqbWRxbQzkGXI,1934 -django/contrib/gis/locale/da/LC_MESSAGES/django.po,sha256=5vF_PjA29rtkd3WaIcwT4w0_69hqSN-1GFhKVtoAHh0,2176 -django/contrib/gis/locale/de/LC_MESSAGES/django.mo,sha256=mI3SuiIrcN27uvquzq7O9wtKIjaVQjHAesncCgBg8_g,1999 -django/contrib/gis/locale/de/LC_MESSAGES/django.po,sha256=4m3n1PEqvjKftQWz4s_ElJzZuCVzdWGbIKEHoBrhEy4,2151 -django/contrib/gis/locale/dsb/LC_MESSAGES/django.mo,sha256=69wcPviGvpI2TxiSEux2GnUo1tu0CeZgQKBjJZrEeRk,2109 -django/contrib/gis/locale/dsb/LC_MESSAGES/django.po,sha256=koNMmuvSPrHBxNsE0EH4zPcDZeFAyBHR_qQnp3HT80o,2226 -django/contrib/gis/locale/el/LC_MESSAGES/django.mo,sha256=8QAS4MCktYLFsCgcIVflPXePYAWwr6iEZ7K8_axi_5U,2519 -django/contrib/gis/locale/el/LC_MESSAGES/django.po,sha256=6JVoYCUCUznxgQYlOCWJw1Ad6SR3Fa9jlorSCYkiwLw,2886 -django/contrib/gis/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/gis/locale/en/LC_MESSAGES/django.po,sha256=xQNCkGkE6LwUS33QmgHTaLg0TQNbO9IPElF6RkYrY9c,2223 -django/contrib/gis/locale/en_AU/LC_MESSAGES/django.mo,sha256=IPn5kRqOvv5S7jpbIUw8PEUkHlyjEL-4GuOANd1iAzI,486 -django/contrib/gis/locale/en_AU/LC_MESSAGES/django.po,sha256=x_58HmrHRia2LoYhmmN_NLb1J3f7oTDvwumgTo0LowI,1494 -django/contrib/gis/locale/en_GB/LC_MESSAGES/django.mo,sha256=WkORQDOsFuV2bI7hwVsJr_JTWnDQ8ZaK-VYugqnLv3w,1369 -django/contrib/gis/locale/en_GB/LC_MESSAGES/django.po,sha256=KWPMoX-X-gQhb47zoVsa79-16-SiCGpO0s4xkcGv9z0,1910 -django/contrib/gis/locale/eo/LC_MESSAGES/django.mo,sha256=qls9V1jybymGCdsutcjP6fT5oMaI-GXnt_oNfwq-Yhs,1960 -django/contrib/gis/locale/eo/LC_MESSAGES/django.po,sha256=WPSkCxwq3ZnR-_L-W-CnS0_Qne3ekX7ZAZVaubiWw5s,2155 -django/contrib/gis/locale/es/LC_MESSAGES/django.mo,sha256=l88snQomLTK7JQQ5MGdUWGf_6MqiyZWqnCuZPAMctoQ,2056 -django/contrib/gis/locale/es/LC_MESSAGES/django.po,sha256=e4YW5wz0R2oI8VmEZGgMsLVycbmv3ILDjetpjS8ZXl4,2423 -django/contrib/gis/locale/es_AR/LC_MESSAGES/django.mo,sha256=-SlY9HeeMlg87yZM-mtG-drnsT_jncUOeoY4PPHkjrk,2069 -django/contrib/gis/locale/es_AR/LC_MESSAGES/django.po,sha256=XfXzSvB-x2nMclRwxMDWhPqw8vQMRtWVr4SyvD1XFn8,2219 -django/contrib/gis/locale/es_CO/LC_MESSAGES/django.mo,sha256=P79E99bXjthakFYr1BMobTKqJN9S1aj3vfzMTbGRhCY,1865 -django/contrib/gis/locale/es_CO/LC_MESSAGES/django.po,sha256=tyu8_dFA9JKeQ2VCpCUy_6yX97SPJcDwVqqAuf_xgks,2347 -django/contrib/gis/locale/es_MX/LC_MESSAGES/django.mo,sha256=bC-uMgJXdbKHQ-w7ez-6vh9E_2YSgCF_LkOQlvb60BU,1441 -django/contrib/gis/locale/es_MX/LC_MESSAGES/django.po,sha256=MYO9fGclp_VvLG5tXDjXY3J_1FXI4lDv23rGElXAyjA,1928 -django/contrib/gis/locale/es_VE/LC_MESSAGES/django.mo,sha256=5YVIO9AOtmjky90DAXVyU0YltfQ4NLEpVYRTTk7SZ5o,486 -django/contrib/gis/locale/es_VE/LC_MESSAGES/django.po,sha256=R8suLsdDnSUEKNlXzow3O6WIT5NcboZoCjir9GfSTSQ,1494 -django/contrib/gis/locale/et/LC_MESSAGES/django.mo,sha256=RuQYV9MWvWzcX0lI4ot2cY2_49yJPOqeExNx05MpeFg,1961 -django/contrib/gis/locale/et/LC_MESSAGES/django.po,sha256=4yl0Zfmt0mOSJluCw97oJdiWmf3x84a3qtSQDsUZYv8,2239 -django/contrib/gis/locale/eu/LC_MESSAGES/django.mo,sha256=EChDnXv1Tgk0JvMp3RuDsk-0LkgZ2Xig8nckmikewLA,1973 -django/contrib/gis/locale/eu/LC_MESSAGES/django.po,sha256=sj_W9oCmbYENT-zGnTNtAT-ZsI3z7IOhgUxooQNFbpc,2191 -django/contrib/gis/locale/fa/LC_MESSAGES/django.mo,sha256=ecBNKfMWmDppr1J-RArykdidJZtNxbzfGpxEGhmsp3s,2275 -django/contrib/gis/locale/fa/LC_MESSAGES/django.po,sha256=lYBduv3O2QN7oZtoUzyBxx8e9f2_VGFU0CcpGNom5Ps,2583 -django/contrib/gis/locale/fi/LC_MESSAGES/django.mo,sha256=L_1vFA-I0vQddIdLpNyATweN04E5cRw-4Xr81D67Q_c,1946 -django/contrib/gis/locale/fi/LC_MESSAGES/django.po,sha256=WSrldLannVh0Vnmm18X5FwHoieLQYXz0CoF2SY52w0M,2127 -django/contrib/gis/locale/fr/LC_MESSAGES/django.mo,sha256=asAhstLR7EmVyuijAii40LOtdcsapHaChkfIvhlsdrQ,2082 -django/contrib/gis/locale/fr/LC_MESSAGES/django.po,sha256=GvRJJNZL55BRARg2TozwQjRprLUNMQxtzfB94Qs0Ye8,2290 -django/contrib/gis/locale/fy/LC_MESSAGES/django.mo,sha256=2kCnWU_giddm3bAHMgDy0QqNwOb9qOiEyCEaYo1WdqQ,476 -django/contrib/gis/locale/fy/LC_MESSAGES/django.po,sha256=7ncWhxC5OLhXslQYv5unWurhyyu_vRsi4bGflZ6T2oQ,1484 -django/contrib/gis/locale/ga/LC_MESSAGES/django.mo,sha256=m6Owcr-5pln54TXcZFAkYEYDjYiAkT8bGFyw4nowNHA,1420 -django/contrib/gis/locale/ga/LC_MESSAGES/django.po,sha256=I0kyTnYBPSdYr8RontzhGPShJhylVAdRLBGWRQr2E7g,1968 -django/contrib/gis/locale/gd/LC_MESSAGES/django.mo,sha256=GR9860LI6qrGdaqUYG8GskC_EeGHBetVojk0TSTIIO8,2142 -django/contrib/gis/locale/gd/LC_MESSAGES/django.po,sha256=l9fNaI3A5mmULDsg-D-cc-hhlGOYlP4JrxJJn4YU4hM,2260 -django/contrib/gis/locale/gl/LC_MESSAGES/django.mo,sha256=4OUuNpkYRWjKz_EoY1zDzKOK8YptrwUutQqFvSKsLUs,1421 -django/contrib/gis/locale/gl/LC_MESSAGES/django.po,sha256=s9tiYQLnv1_uzyLpi3qqV_zwJNic1AGFsUGc3FhJbMo,2006 -django/contrib/gis/locale/he/LC_MESSAGES/django.mo,sha256=Lv18lxyH_Fnq9kfqbthOhc5ZyFj4cP2BKAPmT8zF-rk,2142 -django/contrib/gis/locale/he/LC_MESSAGES/django.po,sha256=p3lU7h8Y9VDBBSDGhYCKyF3ohDmVkUCWSHWUiwmXgg8,2296 -django/contrib/gis/locale/hi/LC_MESSAGES/django.mo,sha256=3nsy5mxKTPtx0EpqBNA_TJXmLmVZ4BPUZG72ZEe8OPM,1818 -django/contrib/gis/locale/hi/LC_MESSAGES/django.po,sha256=jTFG2gqqYAQct9-to0xL2kUFQu-ebR4j7RGfxn4sBAg,2372 -django/contrib/gis/locale/hr/LC_MESSAGES/django.mo,sha256=0XrRj2oriNZxNhEwTryo2zdMf-85-4X7fy7OJhB5ub4,1549 -django/contrib/gis/locale/hr/LC_MESSAGES/django.po,sha256=iijzoBoD_EJ1n-a5ys5CKnjzZzG299zPoCN-REFkeqE,2132 -django/contrib/gis/locale/hsb/LC_MESSAGES/django.mo,sha256=W3LtmsG61dOj4oNOEDuZC4iOco8jbFkrBUhhW1rxXVE,2083 -django/contrib/gis/locale/hsb/LC_MESSAGES/django.po,sha256=WmUI-Hqp2yLFJNYKU7-ko7bJY25pcPqPblu0rkSDKVk,2203 -django/contrib/gis/locale/hu/LC_MESSAGES/django.mo,sha256=Gbu1WlCo21lsqVrfAJHD0SsrQ4RxQ5Wsqhp9sJuHmEA,1941 -django/contrib/gis/locale/hu/LC_MESSAGES/django.po,sha256=dJCoSLIugFyOoPuewWcquN_UCqJG3gYZzb1IiO_2r5Y,2173 -django/contrib/gis/locale/ia/LC_MESSAGES/django.mo,sha256=9MZnSXkQUIfbYB2f4XEtYo_FzuVi5OlsYcX9K_REz3c,1899 -django/contrib/gis/locale/ia/LC_MESSAGES/django.po,sha256=f7OuqSzGHQNldBHp62VIWjqP0BB0bvo8qEx9_wzH090,2116 -django/contrib/gis/locale/id/LC_MESSAGES/django.mo,sha256=vkdSqp0U3LhTfejwHLhnwjQ4OFFN0GVKrquxTWgLIh0,1983 -django/contrib/gis/locale/id/LC_MESSAGES/django.po,sha256=Zz3Yd6id4X3rfjqiYt_CmyPpLYnFY1fuTUKRnZnDMdA,2322 -django/contrib/gis/locale/io/LC_MESSAGES/django.mo,sha256=_yUgF2fBUxVAZAPNw2ROyWly5-Bq0niGdNEzo2qbp8k,464 -django/contrib/gis/locale/io/LC_MESSAGES/django.po,sha256=fgGJ1xzliMK0MlVoV9CQn_BuuS3Kl71Kh5YEybGFS0Y,1472 -django/contrib/gis/locale/is/LC_MESSAGES/django.mo,sha256=CBNZj4uA2niVY5uA7MKHu21Ou8d3wp_EJCWC8w3Y0JY,1317 -django/contrib/gis/locale/is/LC_MESSAGES/django.po,sha256=SUst5hGJO9veiC6SWB0oLEHzMXNqxMG8l8oLpoTQFt0,1865 -django/contrib/gis/locale/it/LC_MESSAGES/django.mo,sha256=px9x5hMusGf2LB2Vz9AijSpeppg3gUCI0dHfBb_F44A,2009 -django/contrib/gis/locale/it/LC_MESSAGES/django.po,sha256=RZRPvW8eAvd0-KnEQ0lPz0gSPmvq1um0rsEgmoIQMsU,2309 -django/contrib/gis/locale/ja/LC_MESSAGES/django.mo,sha256=knTOfVviVceaAEp9xeh4WUE-ro2lkUIUTtkA-9yk3Bs,2124 -django/contrib/gis/locale/ja/LC_MESSAGES/django.po,sha256=mqD9ZpqXvAL7adXVWyVlIyD7meIcyXI6RXqRQD5cRm8,2287 -django/contrib/gis/locale/ka/LC_MESSAGES/django.mo,sha256=iqWQ9j8yanPjDhwi9cNSktYgfLVnofIsdICnAg2Y_to,1991 -django/contrib/gis/locale/ka/LC_MESSAGES/django.po,sha256=tWoXkbWfNsZ2A28_JUvc1wtyVT6m7Hl9nJgfxXGqkgY,2566 -django/contrib/gis/locale/kk/LC_MESSAGES/django.mo,sha256=NtgQONp0UncUNvrh0W2R7u7Ja8H33R-a-tsQShWq-QI,1349 -django/contrib/gis/locale/kk/LC_MESSAGES/django.po,sha256=_wNvDk36C_UegH0Ex6ov8P--cKm-J7XtusXYsjVVZno,1974 -django/contrib/gis/locale/km/LC_MESSAGES/django.mo,sha256=T0aZIZ_gHqHpQyejnBeX40jdcfhrCOjgKjNm2hLrpNE,459 -django/contrib/gis/locale/km/LC_MESSAGES/django.po,sha256=7ARjFcuPQJG0OGLJu9pVfSiAwc2Q-1tT6xcLeKeom1c,1467 -django/contrib/gis/locale/kn/LC_MESSAGES/django.mo,sha256=EkJRlJJSHZJvNZJuOLpO4IIUEoyi_fpKwNWe0OGFcy4,461 -django/contrib/gis/locale/kn/LC_MESSAGES/django.po,sha256=NM3FRy48SSVsUIQc8xh0ZKAgTVAP8iK8elp7NQ6-IdE,1469 -django/contrib/gis/locale/ko/LC_MESSAGES/django.mo,sha256=7SSr6cP3b0vM5z224tJIqmwwWWHGoU0al4LNGbwxtQM,1975 -django/contrib/gis/locale/ko/LC_MESSAGES/django.po,sha256=aXVjYftxj1FONeotkCZkAoQxCCFs5cYb4ceGPSnUScA,2299 -django/contrib/gis/locale/lb/LC_MESSAGES/django.mo,sha256=XAyZQUi8jDr47VpSAHp_8nQb0KvSMJHo5THojsToFdk,474 -django/contrib/gis/locale/lb/LC_MESSAGES/django.po,sha256=5rfudPpH4snSq2iVm9E81EBwM0S2vbkY2WBGhpuga1Q,1482 -django/contrib/gis/locale/lt/LC_MESSAGES/django.mo,sha256=fd8XOToFWDIDe-aklIn3mgvO-uyqgfqSmWDcNURfrNM,2045 -django/contrib/gis/locale/lt/LC_MESSAGES/django.po,sha256=Dvoe-wywlJzqXJPBqia5O98CgV3iDQUWGKJE46HsMPA,2279 -django/contrib/gis/locale/lv/LC_MESSAGES/django.mo,sha256=vE7Ygn4CAsS7tQkrPb8kGVEchTioQxtZTxatJZXVL5k,2057 -django/contrib/gis/locale/lv/LC_MESSAGES/django.po,sha256=6qKFeIFtMexJFuz3TSxGL9vkKYmz_lCr9pDfLPTLzYw,2200 -django/contrib/gis/locale/mk/LC_MESSAGES/django.mo,sha256=PVw73LWWNvaNd95zQbAIA7LA7JNmpf61YIoyuOca2_s,2620 -django/contrib/gis/locale/mk/LC_MESSAGES/django.po,sha256=eusHVHXHRfdw1_JyuBW7H7WPCHFR_z1NBqr79AVqAk0,2927 -django/contrib/gis/locale/ml/LC_MESSAGES/django.mo,sha256=Kl9okrE3AzTPa5WQ-IGxYVNSRo2y_VEdgDcOyJ_Je78,2049 -django/contrib/gis/locale/ml/LC_MESSAGES/django.po,sha256=PWg8atPKfOsnVxg_uro8zYO9KCE1UVhfy_zmCWG0Bdk,2603 -django/contrib/gis/locale/mn/LC_MESSAGES/django.mo,sha256=-Nn70s2On94C-jmSZwTppW2q7_W5xgMpzPXYmxZSKXs,2433 -django/contrib/gis/locale/mn/LC_MESSAGES/django.po,sha256=I0ZHocPlRYrogJtzEGVPsWWHpoVEa7e2KYP9Ystlj60,2770 -django/contrib/gis/locale/mr/LC_MESSAGES/django.mo,sha256=sO2E__g61S0p5I6aEwnoAsA3epxv7_Jn55TyF0PZCUA,468 -django/contrib/gis/locale/mr/LC_MESSAGES/django.po,sha256=McWaLXfWmYTDeeDbIOrV80gwnv07KCtNIt0OXW_v7vw,1476 -django/contrib/gis/locale/my/LC_MESSAGES/django.mo,sha256=i6JlVxP_finJ6vMVsv_csixtZa1qGs3ezVJZDIsE7G8,461 -django/contrib/gis/locale/my/LC_MESSAGES/django.po,sha256=eqtpOzHodtyr15aVOVVMtirg6XSUm6n7BsQpSIZ6D2k,1469 -django/contrib/gis/locale/nb/LC_MESSAGES/django.mo,sha256=AmVS8gbKlqYHpr-v2UdOuYt17wO2WMhVJzfDWX6Tl78,1930 -django/contrib/gis/locale/nb/LC_MESSAGES/django.po,sha256=psdNBDn8IvOyAChU7NqUKIOIssUocfQKSsXnt-89fd8,2146 -django/contrib/gis/locale/ne/LC_MESSAGES/django.mo,sha256=nB-Ta8w57S6hIAhAdWZjDT0Dg6JYGbAt5FofIhJT7k8,982 -django/contrib/gis/locale/ne/LC_MESSAGES/django.po,sha256=eMH6uKZZZYn-P3kmHumiO4z9M4923s9tWGhHuJ0eWuI,1825 -django/contrib/gis/locale/nl/LC_MESSAGES/django.mo,sha256=CFaHe1W7ULU7jUefJeyqykCqCofePc9EZv_YEGjDd-g,1992 -django/contrib/gis/locale/nl/LC_MESSAGES/django.po,sha256=pRNsGMNCI3G1lc9q3_a-Y4pRlABO8Q73XfOJHN0QMnk,2348 -django/contrib/gis/locale/nn/LC_MESSAGES/django.mo,sha256=32x5_V6o_BQBefFmyajOg3ssClw-DMEdvzXkY90fV3Q,1202 -django/contrib/gis/locale/nn/LC_MESSAGES/django.po,sha256=NWA3nD8ZwAZxG9EkE6TW0POJgB6HTeC4J6GOlTMD7j4,1796 -django/contrib/gis/locale/os/LC_MESSAGES/django.mo,sha256=02NpGC8WPjxmPqQkfv9Kj2JbtECdQCtgecf_Tjk1CZc,1594 -django/contrib/gis/locale/os/LC_MESSAGES/django.po,sha256=JBIsv5nJg3Wof7Xy7odCI_xKRBLN_Hlbb__kNqNW4Xw,2161 -django/contrib/gis/locale/pa/LC_MESSAGES/django.mo,sha256=JR1NxG5_h_dFE_7p6trBWWIx-QqWYIgfGomnjaCsWAA,1265 -django/contrib/gis/locale/pa/LC_MESSAGES/django.po,sha256=Ejd_8dq_M0E9XFijk0qj4oC-8_oe48GWWHXhvOrFlnY,1993 -django/contrib/gis/locale/pl/LC_MESSAGES/django.mo,sha256=aLv23YOFYR22AY3BLP5xcDHKTqc_GVjm_FZdTNr0-Jk,2138 -django/contrib/gis/locale/pl/LC_MESSAGES/django.po,sha256=uEQ59IxEJATHQOsZcvNRdR8kd-Iv7PRTHw3dR68GID8,2497 -django/contrib/gis/locale/pt/LC_MESSAGES/django.mo,sha256=sE5PPOHzfT8QQXuV5w0m2pnBTRhKYs_vFhk8p_A4Jg0,2036 -django/contrib/gis/locale/pt/LC_MESSAGES/django.po,sha256=TFt6Oj1NlCM3pgs2dIgFZR3S3y_g7oR7S-XRBlM4924,2443 -django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.mo,sha256=hsj4npR8H05FKM0fiQf83kSip7a8871_AQUY5dyAqj8,2011 -django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.po,sha256=NLnhgZjJxx0EUy4s_8sqQFSWOa0or0CiEjUoPlTH4pc,2311 -django/contrib/gis/locale/ro/LC_MESSAGES/django.mo,sha256=YSbX0Y_T44pBLpKmaVN7leNXBDwHZB4EWQaU9Go3szM,2047 -django/contrib/gis/locale/ro/LC_MESSAGES/django.po,sha256=QBwAO5P2FYzCSoXF52MSEtncAAimw9YQKO8HvCPbF5U,2260 -django/contrib/gis/locale/ru/LC_MESSAGES/django.mo,sha256=5uccCKKgLtin1jcp_1j4aiv5FEzX6LxRNEL3i11m7ts,2583 -django/contrib/gis/locale/ru/LC_MESSAGES/django.po,sha256=Pvs1ADP2MtalAHAZ04cpQeQPXsKBCVeggPW8GP-nsPQ,2862 -django/contrib/gis/locale/sk/LC_MESSAGES/django.mo,sha256=_LWDbFebq9jEa1YYsSMOruTk0oRaU9sxPGml1YPuink,2010 -django/contrib/gis/locale/sk/LC_MESSAGES/django.po,sha256=Iz_iHKaDzNhLM5vJd3bbzsCXzKhoEGeqECZxEgBIiGc,2244 -django/contrib/gis/locale/sl/LC_MESSAGES/django.mo,sha256=9-efMT2MoEMa5-SApGWTRiyfvI6vmZzLeMg7qGAr7_A,2067 -django/contrib/gis/locale/sl/LC_MESSAGES/django.po,sha256=foZY7N5QkuAQS7nc3CdnJerCPk-lhSb1xZqU11pNGNo,2303 -django/contrib/gis/locale/sq/LC_MESSAGES/django.mo,sha256=LVdXsubPRVA-1-VeEJEWoGoAWR9kK072boRKaqzyb28,1918 -django/contrib/gis/locale/sq/LC_MESSAGES/django.po,sha256=PFeGnVwfzGcFRm2SCV8-iB5z9TVwyN66qz5X9NClQkQ,2148 -django/contrib/gis/locale/sr/LC_MESSAGES/django.mo,sha256=uoDnM1GV8llXNiLCcB9pKaz-nDVXler4gS1SqmpLAig,1700 -django/contrib/gis/locale/sr/LC_MESSAGES/django.po,sha256=irXO-5rFtSqy0aoN2zhc32kJ4zWlPJYSb-zgEKJtO-4,2239 -django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=i-pBCBcNZMz-3rRcQEJrXZLmPHF7YtIEJnzcsAzgma8,1470 -django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.po,sha256=MpcOTqw1HiPzr7IikrEwm63x4ypUv9BnQCOKYSjqL0A,2009 -django/contrib/gis/locale/sv/LC_MESSAGES/django.mo,sha256=6TDgv3FdLP-BvB5BszCB7JcNzk2oDLXxuAkXgg7tYRY,1733 -django/contrib/gis/locale/sv/LC_MESSAGES/django.po,sha256=oY3QRFadk2S9aBs9zPrQRN9glDbqRD80srUFlqXffy0,2113 -django/contrib/gis/locale/sw/LC_MESSAGES/django.mo,sha256=uBhpGHluGwYpODTE-xhdJD2e6PHleN07wLE-kjrXr_M,1426 -django/contrib/gis/locale/sw/LC_MESSAGES/django.po,sha256=nHXQQMYYXT1ec3lIBxQIDIAwLtXucX47M4Cozy08kko,1889 -django/contrib/gis/locale/ta/LC_MESSAGES/django.mo,sha256=Rboo36cGKwTebe_MiW4bOiMsRO2isB0EAyJJcoy_F6s,466 -django/contrib/gis/locale/ta/LC_MESSAGES/django.po,sha256=sLYW8_5BSVoSLWUr13BbKRe0hNJ_cBMEtmjCPBdTlAk,1474 -django/contrib/gis/locale/te/LC_MESSAGES/django.mo,sha256=xDkaSztnzQ33Oc-GxHoSuutSIwK9A5Bg3qXEdEvo4h4,824 -django/contrib/gis/locale/te/LC_MESSAGES/django.po,sha256=nYryhktJumcwtZDGZ43xBxWljvdd-cUeBrAYFZOryVg,1772 -django/contrib/gis/locale/th/LC_MESSAGES/django.mo,sha256=0kekAr7eXc_papwPAxEZ3TxHOBg6EPzdR3q4hmAxOjg,1835 -django/contrib/gis/locale/th/LC_MESSAGES/django.po,sha256=WJPdoZjLfvepGGMhfBB1EHCpxtxxfv80lRjPG9kGErM,2433 -django/contrib/gis/locale/tr/LC_MESSAGES/django.mo,sha256=cWFAsuse0yQPdsVGAxFbPOBDxLapMnvMsa50-4-gGYk,2024 -django/contrib/gis/locale/tr/LC_MESSAGES/django.po,sha256=Vqsqw1yPPdZqd5unj76FQAbuQrxKKnxtpQS_33nBGRQ,2259 -django/contrib/gis/locale/tt/LC_MESSAGES/django.mo,sha256=cGVPrWCe4WquVV77CacaJwgLSnJN0oEAepTzNMD-OWk,1470 -django/contrib/gis/locale/tt/LC_MESSAGES/django.po,sha256=98yeRs-JcMGTyizOpEuQenlnWJMYTR1-rG3HGhKCykk,2072 -django/contrib/gis/locale/udm/LC_MESSAGES/django.mo,sha256=I6bfLvRfMn79DO6bVIGfYSVeZY54N6c8BNO7OyyOOsw,462 -django/contrib/gis/locale/udm/LC_MESSAGES/django.po,sha256=B1PCuPYtNOrrhu4fKKJgkqxUrcEyifS2Y3kw-iTmSIk,1470 -django/contrib/gis/locale/uk/LC_MESSAGES/django.mo,sha256=5uJgGDDQi8RTRNxbQToKE7FVLOK73w5Wgmf6zCa66Uk,2455 -django/contrib/gis/locale/uk/LC_MESSAGES/django.po,sha256=fsxwSb93uD59ms8jdO84qx8C5rKy74TDcH12yaKs8mY,2873 -django/contrib/gis/locale/ur/LC_MESSAGES/django.mo,sha256=tB5tz7EscuE9IksBofNuyFjk89-h5X7sJhCKlIho5SY,1410 -django/contrib/gis/locale/ur/LC_MESSAGES/django.po,sha256=16m0t10Syv76UcI7y-EXfQHETePmrWX4QMVfyeuX1fQ,2007 -django/contrib/gis/locale/vi/LC_MESSAGES/django.mo,sha256=NT5T0FRCC2XINdtaCFCVUxb5VRv8ta62nE8wwSHGTrc,1384 -django/contrib/gis/locale/vi/LC_MESSAGES/django.po,sha256=y77GtqH5bv1wR78xN5JLHusmQzoENTH9kLf9Y3xz5xk,1957 -django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=rjeFyj0X_v3qP8NHY8L-szEEYmbfB4jO_wcV8f2_ntY,1879 -django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po,sha256=GFZzUTmlQXZ1pDhwaYgH9_Lr8OQp9s402jHfHmX9Jso,2245 -django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=SRSpoSMtx8PDTpHroMUymZ_-Eu7zzjqPDBiAm3XSV2I,2012 -django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po,sha256=b6NQK1--AC67NiUaOew_ajDIj5uSrPzW_rUpLU71yA8,2277 -django/contrib/gis/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/management/commands/inspectdb.py,sha256=Z2Do56mM2tBvnujnCk5C7JhI3z_LQWB4L0M626hmumk,750 -django/contrib/gis/management/commands/ogrinspect.py,sha256=Vv-MAfE0uNieJF6W9gQ4TO-IHCCQvL1qAU7lyEK4izk,5848 -django/contrib/gis/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/serializers/geojson.py,sha256=J7XIwlzEyhKJF7x-4H-RjnXazkNybsX-vFpxz5InNQY,2716 -django/contrib/gis/sitemaps/__init__.py,sha256=eVHUxfzw1VQn6bqH3D8bE471s8bNJSB3phuAI-zg9gA,138 -django/contrib/gis/sitemaps/kml.py,sha256=kbKyIt-_u7zZJB8uPG4Cfi7axA5ms2ltdonctm5zewA,2413 -django/contrib/gis/sitemaps/views.py,sha256=4xrd2NEQjsPx9582Pa0R2IEzx5NpP5unqCUsPjURgto,2313 -django/contrib/gis/static/gis/css/ol3.css,sha256=pJADzfx4_NL2C1onFpU-muconAA5NThN4sEqSNyY_So,657 -django/contrib/gis/static/gis/img/draw_line_off.svg,sha256=6XW83xsR5-Guh27UH3y5UFn9y9FB9T_Zc4kSPA-xSOI,918 -django/contrib/gis/static/gis/img/draw_line_on.svg,sha256=Hx-pXu4ped11esG6YjXP1GfZC5q84zrFQDPUo1C7FGA,892 -django/contrib/gis/static/gis/img/draw_point_off.svg,sha256=PICrywZPwuBkaQAKxR9nBJ0AlfTzPHtVn_up_rSiHH4,803 -django/contrib/gis/static/gis/img/draw_point_on.svg,sha256=raGk3oc8w87rJfLdtZ4nIXJyU3OChCcTd4oH-XAMmmM,803 -django/contrib/gis/static/gis/img/draw_polygon_off.svg,sha256=gnVmjeZE2jOvjfyx7mhazMDBXJ6KtSDrV9f0nSzkv3A,981 -django/contrib/gis/static/gis/img/draw_polygon_on.svg,sha256=ybJ9Ww7-bsojKQJtjErLd2cCOgrIzyqgIR9QNhH_ZfA,982 -django/contrib/gis/static/gis/js/OLMapWidget.js,sha256=-Ry6ICBpsfq3XoAU2SshQeCyMuaGd1ZlgPgHapgKFWU,8981 -django/contrib/gis/templates/gis/openlayers-osm.html,sha256=TeiUqCjt73W8Hgrp_6zAtk_ZMBxskNN6KHSmnJ1-GD4,378 -django/contrib/gis/templates/gis/openlayers.html,sha256=P_sBibtZ8ybiBG6dtYbVhRgDYJE-oKYPzl452xad5Ok,1912 -django/contrib/gis/templates/gis/admin/openlayers.html,sha256=GsjT4sNA-2iHRe7PJKsBIGDEAa29vGXwFNNACowj1lw,1867 -django/contrib/gis/templates/gis/admin/openlayers.js,sha256=KoT3VUMAez9-5QoT5U6OJXzt3MLxlTrJMMwINjQ_k7M,8975 -django/contrib/gis/templates/gis/admin/osm.html,sha256=yvYyZPmgP64r1JT3eZCDun5ENJaaN3d3wbTdCxIOvSo,111 -django/contrib/gis/templates/gis/admin/osm.js,sha256=0wFRJXKZ2plp7tb0F9fgkMzp4NrKZXcHiMkKDJeHMRw,128 -django/contrib/gis/templates/gis/kml/base.kml,sha256=VYnJaGgFVHRzDjiFjbcgI-jxlUos4B4Z1hx_JeI2ZXU,219 -django/contrib/gis/templates/gis/kml/placemarks.kml,sha256=TEC81sDL9RK2FVeH0aFJTwIzs6_YWcMeGnHkACJV1Uc,360 -django/contrib/gis/utils/__init__.py,sha256=OmngSNhywEjrNKGXysMlq_iFYvx7ycDWojpCqF6JYLo,579 -django/contrib/gis/utils/layermapping.py,sha256=rvQRfEa5lBrnXKMPjyrG5NmiV3Au_6YwJvdU7YgCePQ,27125 -django/contrib/gis/utils/ogrinfo.py,sha256=VmbxQ5Ri4zjtTxNymuxJp3t3cAntUC83YBMp9PuMMSU,1934 -django/contrib/gis/utils/ogrinspect.py,sha256=DEitGcJBpsFKWjHzFwQQukIuwBR90n2-NTKt0vYU-VY,8935 -django/contrib/gis/utils/srs.py,sha256=SIVPj3MmKhp-C9IPdM6o5KRRdj38fYIpmo-FjzrwBCM,3024 -django/contrib/humanize/__init__.py,sha256=88gkwJxqbRpmigRG0Gu3GNQkXGtTNpica4nf3go-_cI,67 -django/contrib/humanize/apps.py,sha256=ODfDrSH8m3y3xYlyIIwm7DZmrNcoYKG2K8l5mU64V7g,194 -django/contrib/humanize/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 -django/contrib/humanize/locale/af/LC_MESSAGES/django.po,sha256=_77Io7jI-3P2kHpR-ZFd8jw0B1kQxhLiUWR3B2Bud8g,4726 -django/contrib/humanize/locale/ar/LC_MESSAGES/django.mo,sha256=YSyNaNTh2nILzWMH0F61fl7jX0yb4erZhQO1EBo2HiU,7691 -django/contrib/humanize/locale/ar/LC_MESSAGES/django.po,sha256=VAN7tVSYQZfZV5RfTe-wvQOVA9Q1ylLQRrFb9ihMpqs,11035 -django/contrib/humanize/locale/ast/LC_MESSAGES/django.mo,sha256=WvBk8V6g1vgzGqZ_rR-4p7SMh43PFnDnRhIS9HSwdoQ,3468 -django/contrib/humanize/locale/ast/LC_MESSAGES/django.po,sha256=S9lcUf2y5wR8Ufa-Rlz-M73Z3bMo7zji_63cXwtDK2I,5762 -django/contrib/humanize/locale/az/LC_MESSAGES/django.mo,sha256=_6wnH7WjAaZe5rZYn79VyioxWkMeoZTjhhF-AkbkQAU,4102 -django/contrib/humanize/locale/az/LC_MESSAGES/django.po,sha256=c0ZcxuMs82_JUksowREIsrHajdHZFlyaxFkBbw_6K90,6074 -django/contrib/humanize/locale/be/LC_MESSAGES/django.mo,sha256=HEtO6H9OxRn6ybMtRjkD6deu7sMA49GY988Nc5r2nNY,6681 -django/contrib/humanize/locale/be/LC_MESSAGES/django.po,sha256=GM21lBORfcLeQMaif6tuxrPd45srvSDvzaThGCdjs7o,9256 -django/contrib/humanize/locale/bg/LC_MESSAGES/django.mo,sha256=1mRaFPsm5ITFyfdFdqdeY-_Om2OYKua5YWSEP192WR8,4645 -django/contrib/humanize/locale/bg/LC_MESSAGES/django.po,sha256=kTyRblfWlBUMxd_czXTOe-39CcX68X6e4DTmYm3V2gc,6684 -django/contrib/humanize/locale/bn/LC_MESSAGES/django.mo,sha256=jbL4ucZxxtexI10jgldtgnDie3I23XR3u-PrMMMqP6U,4026 -django/contrib/humanize/locale/bn/LC_MESSAGES/django.po,sha256=0l4yyy7q3OIWyFk_PW0y883Vw2Pmu48UcnLM9OBxB68,6545 -django/contrib/humanize/locale/br/LC_MESSAGES/django.mo,sha256=o4it7f3WLq3THeeEZw083KnkuZUqD_xWipLVyMu9ONU,4069 -django/contrib/humanize/locale/br/LC_MESSAGES/django.po,sha256=oHgr0-e4-Xu_hIWqCtKk_SBNV57MU93GNhuN4V4S1zg,5957 -django/contrib/humanize/locale/bs/LC_MESSAGES/django.mo,sha256=1-RNRHPgZR_9UyiEn9Djp4mggP3fywKZho45E1nGMjM,1416 -django/contrib/humanize/locale/bs/LC_MESSAGES/django.po,sha256=M017Iu3hyXmINZkhCmn2he-FB8rQ7rXN0KRkWgrp7LI,5498 -django/contrib/humanize/locale/ca/LC_MESSAGES/django.mo,sha256=U3wnUZ-xwFZsYCd2Brr3rPVMVlatpnuXRYMCHYtB240,4040 -django/contrib/humanize/locale/ca/LC_MESSAGES/django.po,sha256=YgPF3fjBFqj4wmZ1r0I4sS9fRv65my9so4fjyfGbH6o,6025 -django/contrib/humanize/locale/cs/LC_MESSAGES/django.mo,sha256=SsuK8dcYBRPs2_sT8Xnbq2k5swS4Sm1XUsdIQFXl0W0,4706 -django/contrib/humanize/locale/cs/LC_MESSAGES/django.po,sha256=olnH60vKAYaPcP2vYomYuA8q8iJnr2BqdpNIcErIx0k,6976 -django/contrib/humanize/locale/cy/LC_MESSAGES/django.mo,sha256=VjJiaUUhvX9tjOEe6x2Bdp7scvZirVcUsA4-iE2-ElQ,5241 -django/contrib/humanize/locale/cy/LC_MESSAGES/django.po,sha256=sylmceSq-NPvtr_FjklQXoBAfueKu7hrjEpMAsVbQC4,7813 -django/contrib/humanize/locale/da/LC_MESSAGES/django.mo,sha256=J2fWZWpFuD0XvGi5B8cm3-xrDqAHk2Qlfz-Ciwblvr8,4108 -django/contrib/humanize/locale/da/LC_MESSAGES/django.po,sha256=MwloOPiuBPv1DAC12FEqTOHZWkFkpl5jc8naP_BLvk8,6120 -django/contrib/humanize/locale/de/LC_MESSAGES/django.mo,sha256=ZDdNGQvTBkJDDoT1Bq9XxEMpxs4sFY10wuOfSvlTeoQ,4152 -django/contrib/humanize/locale/de/LC_MESSAGES/django.po,sha256=N_Tl5t0zQYGS7iWNIi68TSrA8-Nvv0oJ38nbz64p1wE,6118 -django/contrib/humanize/locale/dsb/LC_MESSAGES/django.mo,sha256=wD8ibBn17MzmF1HjqqksgFUsSwjUdS_JSOWlAQGK34g,5467 -django/contrib/humanize/locale/dsb/LC_MESSAGES/django.po,sha256=YTU1ebIY0g5RSlZowpHwSQtGpxeVOXLIFHNLUm5QvVY,8033 -django/contrib/humanize/locale/el/LC_MESSAGES/django.mo,sha256=xibi0Bv45kBRYEyFnkgNFf0InnGJyv9KQIWDlfj7LUM,5350 -django/contrib/humanize/locale/el/LC_MESSAGES/django.po,sha256=WW9fqED-lBmgvt6UfGTo-B_KGn_OQXRUSHEUZPXbn9g,7428 -django/contrib/humanize/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/humanize/locale/en/LC_MESSAGES/django.po,sha256=2ykg4liEm0g1uv0iZlDXvIZQOvrT3AxMhgnm1QfTy5Y,7085 -django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.po,sha256=dVOlMtk3-d-KrNLM5Rji-Xrk6Y_n801ofjGQvxSu67M,4742 -django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.mo,sha256=mkx192XQM3tt1xYG8EOacMfa-BvgzYCbSsJQsWZGeAo,3461 -django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.po,sha256=MArKzXxY1104jxaq3kvDZs2WzOGYxicfJxFKsLzFavw,5801 -django/contrib/humanize/locale/eo/LC_MESSAGES/django.mo,sha256=Htv0o1DV8no2MfC8M-lfl8HPGZc6HIVxMGIjVSwmyy8,4107 -django/contrib/humanize/locale/eo/LC_MESSAGES/django.po,sha256=FFtvhZULWsOgl0XSEBngqs3BRp_l7WUiRcXDzbP7K1w,6016 -django/contrib/humanize/locale/es/LC_MESSAGES/django.mo,sha256=0aram7l_JemTmkw04jdlWXh1DOlmPWQD7_O3srdOP6o,4183 -django/contrib/humanize/locale/es/LC_MESSAGES/django.po,sha256=bOM7KA6NTTwRGbR1o0o-5JrXM_mOIIPGxASwtoTl_9o,6306 -django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.mo,sha256=J_GRAcxrsRqeVJIPcA16DeDPWuh8EAzX6UW4ncv8yFI,4254 -django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.po,sha256=LgnGvLxoWS2hh7_26pTpyCKtkcmqUWGaYrvLn2pqgWU,6270 -django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.mo,sha256=2GhQNtNOjK5mTov5RvnuJFTYbdoGBkDGLxzvJ8Vsrfs,4203 -django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.po,sha256=JBf2fHO8jWi6dFdgZhstKXwyot_qT3iJBixQZc3l330,6326 -django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.mo,sha256=82DL2ztdq10X5RIceshK1nO99DW5628ZIjaN8Xzp9ok,3939 -django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.po,sha256=-O7AQluA5Kce9-bd04GN4tfQKoCxb8Sa7EZR6TZBCdM,6032 -django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.mo,sha256=cJECzKpD99RRIpVFKQW65x0Nvpzrm5Fuhfi-nxOWmkM,942 -django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.po,sha256=tDdYtvRILgeDMgZqKHSebe7Z5ZgI1bZhDdvGVtj_anM,4832 -django/contrib/humanize/locale/et/LC_MESSAGES/django.mo,sha256=WBBZ7Uk5nL-Z6qfYQ-LAtpcxyLy4LC36gKgLn1f5in8,4197 -django/contrib/humanize/locale/et/LC_MESSAGES/django.po,sha256=n_nuAVBjwJd-RZXrbINpxubHetNJijvg5NJRUmECmGc,6213 -django/contrib/humanize/locale/eu/LC_MESSAGES/django.mo,sha256=pw2s1xZV8yS4QaKCS-qq6aihFDGObWcKjPSVLcgqN-E,4041 -django/contrib/humanize/locale/eu/LC_MESSAGES/django.po,sha256=LoWxuo_7aXHEAIJRu4S9rKqdvnXr4VMOqHjMd70OnA0,6119 -django/contrib/humanize/locale/fa/LC_MESSAGES/django.mo,sha256=zQlQmEyZ0ErUlfLg62AqOf5w8EnbgTw5VpuOEBQlGXo,3754 -django/contrib/humanize/locale/fa/LC_MESSAGES/django.po,sha256=iF8fvnzRtCx_HYOZhXbXu10T9R6jc7ZmvKItAicFWEg,5538 -django/contrib/humanize/locale/fi/LC_MESSAGES/django.mo,sha256=qlx3w4Y0CNcC5rIrbig_sqCvKAwh_IS-YseoQX3zymc,4177 -django/contrib/humanize/locale/fi/LC_MESSAGES/django.po,sha256=6xTZvvC_VxAyAQpUibJUDu4V2Gdryy8vJc2OviaYNnw,6180 -django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo,sha256=PFCsv1q5W_Y5-2cHfyle9bQyLMz_IxnI3q99kJ7L038,4174 -django/contrib/humanize/locale/fr/LC_MESSAGES/django.po,sha256=TFedN6WujsxMXJpevuHLM7xhoeeMT7fIAlo91b5o8lk,6178 -django/contrib/humanize/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/humanize/locale/fy/LC_MESSAGES/django.po,sha256=pPvcGgBWiZwQ5yh30OlYs-YZUd_XsFro71T9wErVv0M,4732 -django/contrib/humanize/locale/ga/LC_MESSAGES/django.mo,sha256=vzp6R9xVQ6KRr5NMSkVCQfDea6ZvdoFiOuenzSHyZmI,4929 -django/contrib/humanize/locale/ga/LC_MESSAGES/django.po,sha256=fKw4frizXXcH-B9TKdFQXeoBhSodgraE_g37yuwXTHs,8304 -django/contrib/humanize/locale/gd/LC_MESSAGES/django.mo,sha256=ZMkrFR1irolryUIAZNb4XTpv1f0HRFK70VVNulqE2lI,5545 -django/contrib/humanize/locale/gd/LC_MESSAGES/django.po,sha256=OS7umBbdKJjPvA39Zn38MkdOAPtyLKz8MNmgN2Pwsms,8086 -django/contrib/humanize/locale/gl/LC_MESSAGES/django.mo,sha256=ChoVHsJ_bVIaHtHxhxuUK99Zu1tvRu0iY5vhtB1LDMg,3474 -django/contrib/humanize/locale/gl/LC_MESSAGES/django.po,sha256=U5D505aBKEdg80BGWddcwWuzmYdoNHx1WEPzVHQfbTE,5903 -django/contrib/humanize/locale/he/LC_MESSAGES/django.mo,sha256=9jTg6s4yQ4f4idhWe8oGDxuQ5P-agqWxAxbv06n_klU,4525 -django/contrib/humanize/locale/he/LC_MESSAGES/django.po,sha256=EWmtd-po5Le2ZC7OEz0LCNaLadS7enVop6yUlV1pxhA,6510 -django/contrib/humanize/locale/hi/LC_MESSAGES/django.mo,sha256=qrzm-6vXIUsxA7nOxa-210-6iO-3BPBj67vKfhTOPrY,4131 -django/contrib/humanize/locale/hi/LC_MESSAGES/django.po,sha256=BrypbKaQGOyY_Gl1-aHXiBVlRqrbSjGfZ2OK8omj_9M,6527 -django/contrib/humanize/locale/hr/LC_MESSAGES/django.mo,sha256=29XTvFJHex31hbu2qsOfl5kOusz-zls9eqlxtvw_H0s,1274 -django/contrib/humanize/locale/hr/LC_MESSAGES/django.po,sha256=OuEH4fJE6Fk-s0BMqoxxdlUAtndvvKK7N8Iy-9BP3qA,5424 -django/contrib/humanize/locale/hsb/LC_MESSAGES/django.mo,sha256=aQsAoaJWWQ9XMl5MS8hLXJh1jh1at0ar8RwFq9K6Usw,5530 -django/contrib/humanize/locale/hsb/LC_MESSAGES/django.po,sha256=LpEwVdqV3JsobMp_yEUGBgAY5Wxep1mZtoivYTD4mnQ,8096 -django/contrib/humanize/locale/hu/LC_MESSAGES/django.mo,sha256=-DeFtfmzqaT_H5ZkORSFshsQQIP9roBcLM2Ug7yQ4no,4086 -django/contrib/humanize/locale/hu/LC_MESSAGES/django.po,sha256=6vGKFvNDvijsgNEJcMJ2VTCEvIynq2QqT3-WU4lYUsI,6062 -django/contrib/humanize/locale/hy/LC_MESSAGES/django.mo,sha256=bIhc8KbvaJystkLcJfZt5vJdQ4uL2XfXyuVEIbZP59c,1058 -django/contrib/humanize/locale/hy/LC_MESSAGES/django.po,sha256=EpFGmcz_Wt-kFQmXtV_OVUJDrhiz3WkciHgLeDboUEs,4860 -django/contrib/humanize/locale/ia/LC_MESSAGES/django.mo,sha256=d0m-FddFnKp08fQYQSC9Wr6M4THVU7ibt3zkIpx_Y_A,4167 -django/contrib/humanize/locale/ia/LC_MESSAGES/django.po,sha256=qX6fAZyn54hmtTU62oJcHF8p4QcYnoO2ZNczVjvjOeE,6067 -django/contrib/humanize/locale/id/LC_MESSAGES/django.mo,sha256=F1JT8OXmLl8XkhOnlHdv0HTeIv1yMalwWdklh2EDdXA,3553 -django/contrib/humanize/locale/id/LC_MESSAGES/django.po,sha256=8CMXZfWpMh8y_MPfZOlW4cylctUuSeKkiDYhk-Nr6zU,5284 -django/contrib/humanize/locale/io/LC_MESSAGES/django.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 -django/contrib/humanize/locale/io/LC_MESSAGES/django.po,sha256=RUs8JkpT0toKOLwdv1oCbcBP298EOk02dkdNSJiC-_A,4720 -django/contrib/humanize/locale/is/LC_MESSAGES/django.mo,sha256=xc_nb854oMBP_bcFq-3aYUHjBgau18XsxbmS7tnSOb0,3586 -django/contrib/humanize/locale/is/LC_MESSAGES/django.po,sha256=GgWsXviADjyKEHQ99jXhQBeSaIUF45HCMOm-IVChT1k,6027 -django/contrib/humanize/locale/it/LC_MESSAGES/django.mo,sha256=NstBWl50Vp62dm8AP2GmLNABjkTu4o4vzwVHYFn-YmQ,4690 -django/contrib/humanize/locale/it/LC_MESSAGES/django.po,sha256=SMBC53O2Ze4N1RbIgxxAH9eZ5YvjyPIoz0kal6p7aus,6877 -django/contrib/humanize/locale/ja/LC_MESSAGES/django.mo,sha256=Z712qDg5UNqsCOJukUk6JQVjrjlegE4vkEfSBLWjZco,3678 -django/contrib/humanize/locale/ja/LC_MESSAGES/django.po,sha256=M64-U-_x1PWYPsVWCpNKtYyhSCLHuxB1Lqt4y4VW-K4,5323 -django/contrib/humanize/locale/ka/LC_MESSAGES/django.mo,sha256=I_5NXFxdCGnJKI29_h3OgemK9KulPiv0P60qEQjdra8,4139 -django/contrib/humanize/locale/ka/LC_MESSAGES/django.po,sha256=wUMRbhz5wpw-Rn8WepMIyADzgOUD7RLu3WxAW6t93p4,5740 -django/contrib/humanize/locale/kk/LC_MESSAGES/django.mo,sha256=uP7HkHrdX0b7z2MsxSuHyDGBFYxZPckBhSbgrn7gcok,2106 -django/contrib/humanize/locale/kk/LC_MESSAGES/django.po,sha256=BL9eeoyhV_geughzhF-Zc-_slFDsCZawngCPaeA8tUY,4878 -django/contrib/humanize/locale/km/LC_MESSAGES/django.mo,sha256=mfXs9p8VokORs6JqIfaSSnQshZEhS90rRFhOIHjW7CI,459 -django/contrib/humanize/locale/km/LC_MESSAGES/django.po,sha256=JQBEHtcy-hrV_GVWIjvUJyOf3dZ5jUzzN8DUTAbHKUg,4351 -django/contrib/humanize/locale/kn/LC_MESSAGES/django.mo,sha256=Oq3DIPjgCqkn8VZMb6ael7T8fQ7LnWobPPAZKQSFHl4,461 -django/contrib/humanize/locale/kn/LC_MESSAGES/django.po,sha256=yrXx6TInsxjnyJfhl8sXTLmYedd2jaAku9L_38CKR5A,4353 -django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo,sha256=zNjlVckSQWWpGBMdgp0LNBxosfnlaP8Z0J-20jyWNLE,3673 -django/contrib/humanize/locale/ko/LC_MESSAGES/django.po,sha256=lprgxAY85u1w0ZceHZsnEoZ3WiRxEr8ciU9K9MQyKTE,5344 -django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/humanize/locale/lb/LC_MESSAGES/django.po,sha256=_y0QFS5Kzx6uhwOnzmoHtCrbufMrhaTLsHD0LfMqtcM,4730 -django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo,sha256=5Iy5CNukpm6h8oIP9xNvXP5kLCp9nfJKyN3qYkFCWas,5036 -django/contrib/humanize/locale/lt/LC_MESSAGES/django.po,sha256=shVVrEuZNDFRQzR8RabtVOf5fOZDJitGFeLV_SawPVQ,7321 -django/contrib/humanize/locale/lv/LC_MESSAGES/django.mo,sha256=ZjMj_0KJke8TwheDUrXIZ5IPlMd22nZBVo739aK5cQU,4848 -django/contrib/humanize/locale/lv/LC_MESSAGES/django.po,sha256=htt4OY9m2zjsW5T_ckINDUSkW4ju91FN00rDePOXs3w,7234 -django/contrib/humanize/locale/mk/LC_MESSAGES/django.mo,sha256=htUgd6rcaeRPDf6UrEb18onz-Ayltw9LTvWRgEkXm08,4761 -django/contrib/humanize/locale/mk/LC_MESSAGES/django.po,sha256=Wl9Rt8j8WA_0jyxKCswIovSiCQD-ZWFYXbhFsCUKIWo,6665 -django/contrib/humanize/locale/ml/LC_MESSAGES/django.mo,sha256=QcVVfN27E0YIc_pdCJthRXo_iDizt36qkElzHuOGYsk,5077 -django/contrib/humanize/locale/ml/LC_MESSAGES/django.po,sha256=gYQAu95Pu-VPWUZFDb7eF8pkwct0i1OSMqYByxJdI0E,7420 -django/contrib/humanize/locale/mn/LC_MESSAGES/django.mo,sha256=odf7zKCb8BS_HWZWQngzYxogRDNBGw6-d65Asfuy-_4,4613 -django/contrib/humanize/locale/mn/LC_MESSAGES/django.po,sha256=PJzeZnx5jWNppTV1OcwSGpqqqnCpBMEAloPRdofkQGE,6603 -django/contrib/humanize/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/humanize/locale/mr/LC_MESSAGES/django.po,sha256=M44sYiBJ7woVZZlDO8rPDQmS_Lz6pDTCajdheyxtdaI,4724 -django/contrib/humanize/locale/my/LC_MESSAGES/django.mo,sha256=55CWHz34sy9k6TfOeVI9GYvE9GRa3pjSRE6DSPk9uQ8,3479 -django/contrib/humanize/locale/my/LC_MESSAGES/django.po,sha256=jCiDhSqARfqKcMLEHJd-Xe6zo3Uc9QpiCh3BbAAA5UE,5433 -django/contrib/humanize/locale/nb/LC_MESSAGES/django.mo,sha256=E5s-_ssH4NicLXQpzv-yVjXhZNV_w0M53trqY8CvcAc,4133 -django/contrib/humanize/locale/nb/LC_MESSAGES/django.po,sha256=vEXWpyGxQeB0kLgjBXc_uSfVay9G8kQT4ZgiPp_vW-c,6084 -django/contrib/humanize/locale/ne/LC_MESSAGES/django.mo,sha256=OR0cBS_sNftLjHBLtQkRsA_SOxlc41G83vBGCvYaG2I,2285 -django/contrib/humanize/locale/ne/LC_MESSAGES/django.po,sha256=t9ukUPhAxkNlLlAMI2ftMUATPBS29UQ7q76WN2rjBWA,5544 -django/contrib/humanize/locale/nl/LC_MESSAGES/django.mo,sha256=MrUWmjHP-PnKHOVw9sv_lY9Zc9C7gc7_Q-pvMv-v_ck,4092 -django/contrib/humanize/locale/nl/LC_MESSAGES/django.po,sha256=-wMck9RFlhmRhNNwgrNtbvq8xSsc7-9enw6R6MFXZUk,6174 -django/contrib/humanize/locale/nn/LC_MESSAGES/django.mo,sha256=_Qbyf366ApSCU09Er6CvEf5WrA8s6ZzsyZXs44BoT10,3482 -django/contrib/humanize/locale/nn/LC_MESSAGES/django.po,sha256=qkEeQKQ8XwPKtTv2Y8RscAnE4QarinOze3Y3BTIEMCk,5818 -django/contrib/humanize/locale/os/LC_MESSAGES/django.mo,sha256=BwS3Mj7z_Fg5s7Qm-bGLVhzYLZ8nPgXoB0gXLnrMGWc,3902 -django/contrib/humanize/locale/os/LC_MESSAGES/django.po,sha256=CGrxyL5l-5HexruOc7QDyRbum7piADf-nY8zjDP9wVM,6212 -django/contrib/humanize/locale/pa/LC_MESSAGES/django.mo,sha256=TH1GkAhaVVLk2jrcqAmdxZprWyikAX6qMP0eIlr2tWM,1569 -django/contrib/humanize/locale/pa/LC_MESSAGES/django.po,sha256=_7oP0Hn-IU7IPLv_Qxg_wstLEdhgWNBBTCWYwSycMb0,5200 -django/contrib/humanize/locale/pl/LC_MESSAGES/django.mo,sha256=LDdQZOQCF8mP_zYa9V-92yzwveCWTNNfDProLGv1twc,5529 -django/contrib/humanize/locale/pl/LC_MESSAGES/django.po,sha256=F4kNtZQzHDszLbqq8HnqkpPmhJz8jcEC5Bunm5PzTKU,8321 -django/contrib/humanize/locale/pt/LC_MESSAGES/django.mo,sha256=DdrToaq5E5Kap-zxhG8wf8zbAc8HZg1lu-2SD9i1i0Y,4154 -django/contrib/humanize/locale/pt/LC_MESSAGES/django.po,sha256=Jea815CpFnPMEUwW9bxGrFXhchmspQADY6_Yw3oajtY,6175 -django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.mo,sha256=YIcwaSVUZsZA7Ewy1hnx0GlsNBSAcP-OuG596Js5XYU,4209 -django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.po,sha256=Ohofjmm5KL5cVMEx6RaOGAINUK8i0TibNqxmKor2Opo,6284 -django/contrib/humanize/locale/ro/LC_MESSAGES/django.mo,sha256=DEGe-uMxn0J32A-4Oxymv_B9ijMzqu1SCL2tx887oxc,4809 -django/contrib/humanize/locale/ro/LC_MESSAGES/django.po,sha256=4QeGoZoQ48-J0BeWhTf4EPrtLMNvCBrxnOxbxEprZVU,7192 -django/contrib/humanize/locale/ru/LC_MESSAGES/django.mo,sha256=iSO02s7aCtRW9B3e8CioHFCfaBC1SsMlOhVs-cWX2XE,6887 -django/contrib/humanize/locale/ru/LC_MESSAGES/django.po,sha256=5AXIQgGoyaHVSLW81HTKrCpegh80FZL4NnIwe3iUxGw,9697 -django/contrib/humanize/locale/sk/LC_MESSAGES/django.mo,sha256=U4iWXostWL1gUvrIbalfqhYjhL0mvlig3mlD1DU8_m8,4762 -django/contrib/humanize/locale/sk/LC_MESSAGES/django.po,sha256=kJUNxtiRawS2QtJqNRq2UtlRwF58kTH_fqPu1pD7t9M,7112 -django/contrib/humanize/locale/sl/LC_MESSAGES/django.mo,sha256=f_07etc_G4OdYiUBKPkPqKm2iINqXoNsHUi3alUBgeo,5430 -django/contrib/humanize/locale/sl/LC_MESSAGES/django.po,sha256=mleF0fvn0oEfszhGLoaQkWofTwZJurKrJlIH8o-6kAI,8166 -django/contrib/humanize/locale/sq/LC_MESSAGES/django.mo,sha256=CRP5lgqDsEGndO2njVsrzz3teaHui_tcXxT2E-x-_pE,4126 -django/contrib/humanize/locale/sq/LC_MESSAGES/django.po,sha256=48tIBBQaneqtWnvldp113UVTYQ6LcDVGmGZJMW1EzvM,6083 -django/contrib/humanize/locale/sr/LC_MESSAGES/django.mo,sha256=cooZLInAmU3nmov6__XS5MOTEN77NPuwNAL1n7XyqJw,542 -django/contrib/humanize/locale/sr/LC_MESSAGES/django.po,sha256=kY7hZI2ci8VP3I1PNXBhGNchggUzIsKl_7VOI-QMeW4,5165 -django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=PaGxGtTZSzguwipvTdOhO7bvM8WlzCWb1RCEaIupRUQ,562 -django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.po,sha256=FrPnMu6xX0NypoRYRAOBhdICGSv8geuHXQKKn3Gd9ck,5185 -django/contrib/humanize/locale/sv/LC_MESSAGES/django.mo,sha256=BwB7K9qfHGNIdP65Pa70lTZRSdhkX5F4eoAZLOtaVSk,4097 -django/contrib/humanize/locale/sv/LC_MESSAGES/django.po,sha256=1l0V8_sXXtqT75eOa6ZyhOm0ltLOP5sK34yDKAjGGf4,6111 -django/contrib/humanize/locale/sw/LC_MESSAGES/django.mo,sha256=cxjSUqegq1JX08xIAUgqq9ByP-HuqaXuxWM8Y2gHdB4,4146 -django/contrib/humanize/locale/sw/LC_MESSAGES/django.po,sha256=bPYrLJ2yY_lZ3y1K-RguNi-qrxq2r-GLlsz1gZcm2A8,6031 -django/contrib/humanize/locale/ta/LC_MESSAGES/django.mo,sha256=1X2vH0iZOwM0uYX9BccJUXqK-rOuhcu5isRzMpnjh2o,466 -django/contrib/humanize/locale/ta/LC_MESSAGES/django.po,sha256=8x1lMzq2KOJveX92ADSuqNmXGIEYf7fZ1JfIJPysS04,4722 -django/contrib/humanize/locale/te/LC_MESSAGES/django.mo,sha256=iKd4dW9tan8xPxgaSoenIGp1qQpvSHHXUw45Tj2ATKQ,1327 -django/contrib/humanize/locale/te/LC_MESSAGES/django.po,sha256=FQdjWKMsiv-qehYZ4AtN9iKRf8Rifzcm5TZzMkQVfQI,5103 -django/contrib/humanize/locale/th/LC_MESSAGES/django.mo,sha256=wg--ON3KI_VvonwNy04eSkKQSGVz89IJF8Kf41WBWzo,3922 -django/contrib/humanize/locale/th/LC_MESSAGES/django.po,sha256=qrDqW3DS1yxUIdUqMKRHygg2kcUXyx3nZuNxsx11tcg,5689 -django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo,sha256=feX8ZCE3GJqnN71FLVcLesBuERKmi9Uutj3ebW27Nns,4109 -django/contrib/humanize/locale/tr/LC_MESSAGES/django.po,sha256=g0bK25v2vJgzRTS3XeohzEohWwysrLFuECj0GE4WpBA,6154 -django/contrib/humanize/locale/tt/LC_MESSAGES/django.mo,sha256=z8VgtMhlfyDo7bERDfrDmcYV5aqOeBY7LDgqa5DRxDM,3243 -django/contrib/humanize/locale/tt/LC_MESSAGES/django.po,sha256=j_tRbg1hzLBFAmPQt0HoN-_WzWFtA07PloCkqhvNkcY,5201 -django/contrib/humanize/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/humanize/locale/udm/LC_MESSAGES/django.po,sha256=AR55jQHmMrbA6RyHGOtqdvUtTFlxWnqvfMy8vZK25Bo,4354 -django/contrib/humanize/locale/uk/LC_MESSAGES/django.mo,sha256=zCT4FX9Uve9UODCIxXiJQEbn56QoYO1QQdNX_q3kq9g,5964 -django/contrib/humanize/locale/uk/LC_MESSAGES/django.po,sha256=AsBjFUJ0sZ7wa3aGVV5AduEkqOLwcGfp6muVI2nwEUU,8397 -django/contrib/humanize/locale/ur/LC_MESSAGES/django.mo,sha256=MF9uX26-4FFIz-QpDUbUHUNLQ1APaMLQmISMIaPsOBE,1347 -django/contrib/humanize/locale/ur/LC_MESSAGES/django.po,sha256=D5UhcPEcQ16fsBEdkk_zmpjIF6f0gEv0P86z_pK_1eA,5015 -django/contrib/humanize/locale/vi/LC_MESSAGES/django.mo,sha256=ZUK_Na0vnfdhjo0MgnBWnGFU34sxcMf_h0MeyuysKG8,3646 -django/contrib/humanize/locale/vi/LC_MESSAGES/django.po,sha256=DzRpXObt9yP5RK_slWruaIhnVI0-JXux2hn_uGsVZiE,5235 -django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=NvsjXwBi6Scg55ZMkZ4BbqNR-Svo-oey1x87Wv2hBgs,3573 -django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.po,sha256=gGuUfdDHyxX7nkaMMP_Ii9Q0QEkBI7cgMIOVMGRc_Ag,5336 -django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=MXoemB7iwj3zMOZfPxRi9rc_1xsYZKPpGerwZjbM2m8,3314 -django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.po,sha256=RSmQwPspRIe0U15m4zYz7x8VAiXHp6z55oLXxk9yFKE,5130 -django/contrib/humanize/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/humanize/templatetags/humanize.py,sha256=eafUdDGaq8YJEZ0OoWO_0tlxDfpQ2iJ6lRPUqoih4z0,9288 -django/contrib/messages/__init__.py,sha256=PcKzOk4zt5345uws-agcbNdhYMsIOJzV7-p7nwxJorI,175 -django/contrib/messages/api.py,sha256=sWP2DP-n8ZWOTM-BLFDGrH_l-voGwrSxC0OgEyJt1F4,3071 -django/contrib/messages/apps.py,sha256=yGXBKfV5WF_ElcPbX4wJjXq6jzp39ttnO7sp8N_IzOQ,194 -django/contrib/messages/constants.py,sha256=WZxjzvEoKI7mgChSFp_g9e-zUH8r6JLhu9sFsftTGNA,312 -django/contrib/messages/context_processors.py,sha256=0LniZjxZ7Fx2BxYdJ0tcruhG4kkBEEhsc7Urcf31NnE,354 -django/contrib/messages/middleware.py,sha256=4L-bzgSjTw-Kgh8Wg8MOqkJPyilaxyXi_jH1UpP1h-U,986 -django/contrib/messages/utils.py,sha256=wvGHYnU9zocxzwIEkFgo5deHxZ5aDlAY7q2MpyOPLFk,284 -django/contrib/messages/views.py,sha256=R5xD2DLmAO0x6EGpE8TX5bku4zioOiYkQnAtf6r-VAE,523 -django/contrib/messages/storage/__init__.py,sha256=gXDHbQ9KgQdfhYOla9Qj59_SlE9WURQiKzIA0cFH0DQ,392 -django/contrib/messages/storage/base.py,sha256=SyLyVQeRdmPvVt9SO4srCdIb0m2oBu1H_iOx40M48BM,5643 -django/contrib/messages/storage/cookie.py,sha256=CTDV2dYgm_DQsnkY8nZOO6gLYanYTCQ9Z05xm1XUyxY,6463 -django/contrib/messages/storage/fallback.py,sha256=irMgvzx5RgSaZLOPHR_pS5wCwK6HY7ABvOAzDk7Hhno,2145 -django/contrib/messages/storage/session.py,sha256=KTAqur1KMJUc-liD-I0mVDYbafMS23zxZfnFz4XPiiU,1729 -django/contrib/postgres/__init__.py,sha256=jtn9-mwOISc5D_YUoQ5z_3sN4bEPNxBOCDzbGNag_mc,67 -django/contrib/postgres/apps.py,sha256=PQiKQDH4lXf6xzNoJoi8J1xdueCnc3wefrfa1VMfRLA,1614 -django/contrib/postgres/functions.py,sha256=zHeAyKR5MhnsIGI5qbtmRdxPm8OtycEBE5OmCNyynD8,252 -django/contrib/postgres/indexes.py,sha256=y5Lb_DDiRBXKO2B6RgiS4IaHNhj5u3Ai3wnHISO6kwQ,3623 -django/contrib/postgres/lookups.py,sha256=p-1NZhB4kXC1e-lvJTDHh2Qpiz7A4W7TuG9NuvdF_4Y,1578 -django/contrib/postgres/operations.py,sha256=R8jm7u9K5dPvdbmsSvCO95x8oI7LSat01CeXtPUzL5c,2010 -django/contrib/postgres/search.py,sha256=h5Ri5X0aha29YMMfLM1OKq7rrKWeSTidHzXFhRIYV-Q,8295 -django/contrib/postgres/signals.py,sha256=MmUklgaTW1-UBMGQTxNO_1fsO7mZugGs9ScovuCIyJo,2245 -django/contrib/postgres/utils.py,sha256=46XKNKRB1aUUU7ALNiDLrZpPWbAwanxUxuTir7XDuDI,1188 -django/contrib/postgres/validators.py,sha256=h1d2Sw-gU3hfkgXNjjIf5TUDSjTeY-2xBQD1N3zj7GQ,2688 -django/contrib/postgres/aggregates/__init__.py,sha256=QCznqMKqPbpraxSi1Y8-B7_MYlL42F1kEWZ1HeLgTKs,65 -django/contrib/postgres/aggregates/general.py,sha256=nRA1EiUk9_H9IDu1M5mxLm48Nl2S4L9l_SrCfBBlBis,1481 -django/contrib/postgres/aggregates/statistics.py,sha256=NWyxMgDsfQ3f5yvqAcxJ13LayjGkRPj90wVJa4k7QdM,1691 -django/contrib/postgres/fields/__init__.py,sha256=Xo8wuWPwVNOkKY-EwV9U1zusQ2DjMXXtL7_8R_xAi5s,148 -django/contrib/postgres/fields/array.py,sha256=h3JPunEEF7VgrLi48DBDiYCRXni14LtiLOXRM5QvBMU,10220 -django/contrib/postgres/fields/citext.py,sha256=G40UZv4zop8Zrq2vMhluZ-MT7yPLEc8IEDi3hZ27gGw,439 -django/contrib/postgres/fields/hstore.py,sha256=sXoTtghueLtLl7dlVXFKSj7km3G_ZV9zVau_6Q4F-3w,3144 -django/contrib/postgres/fields/jsonb.py,sha256=8Mt9v2dGV1Pi2r8ux5ttwwbg9W-uHe7tg3B2DZcgoDw,5603 -django/contrib/postgres/fields/ranges.py,sha256=ozBEsZjvGQGWOZTN8VupDMVL19mHLXMyWZpESVgzWC0,7565 -django/contrib/postgres/fields/utils.py,sha256=TV-Aj9VpBb13I2iuziSDURttZtz355XakxXnFwvtGio,95 -django/contrib/postgres/forms/__init__.py,sha256=GSqucR50I9jrZUYZUFVmb8nV_FSlXu1BcCpFck2pVXI,118 -django/contrib/postgres/forms/array.py,sha256=7TU7UZr8hcbzbOyfh8rg79okSPctxrD-zFDsIv1Cvq0,7083 -django/contrib/postgres/forms/hstore.py,sha256=G2s-SO0VGK4oUgP8uNYopU5FM6143tfF814qpWKNTLE,1756 -django/contrib/postgres/forms/jsonb.py,sha256=JSDIyLVREKtesUGNmznxX06NqAFEBR0lCrlHMogNfic,1335 -django/contrib/postgres/forms/ranges.py,sha256=_LWXysT2AdvgSsAtNyPxHP0hgTolsQoUOCLWT7KukoA,3069 -django/contrib/postgres/jinja2/postgres/widgets/split_array.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo,sha256=AFcSJOhEOAWVIXw9q7FoyyT9G1ufw530IG2GwOYNOJw,4416 -django/contrib/postgres/locale/ar/LC_MESSAGES/django.po,sha256=ZEYrujwMpePljEsEjgJrRgHvQWn6zP9zYVkan83TyuU,5017 -django/contrib/postgres/locale/be/LC_MESSAGES/django.mo,sha256=nDK0-dYUAORaNB--uNHLQfvSnZZfe0yGdQwAe0AMFkU,4490 -django/contrib/postgres/locale/be/LC_MESSAGES/django.po,sha256=MoFwiR6pvjrN0YhFrhmAcQ4IQ6TRkFiVXf7TB8zjcQo,4964 -django/contrib/postgres/locale/bg/LC_MESSAGES/django.mo,sha256=7VaGqc8TO0NVL-eZbxVuGb8J6atQ_aC3C3Nh3G9zcJQ,3439 -django/contrib/postgres/locale/bg/LC_MESSAGES/django.po,sha256=9S2pgIZFOv3qp0QunLFUfPiNk40RZjHIiVA39Uj3zFs,4010 -django/contrib/postgres/locale/ca/LC_MESSAGES/django.mo,sha256=FpOKL9S0AWN5r2epnr7SdDX6VmwjBrHNGCSisxjw6H0,3167 -django/contrib/postgres/locale/ca/LC_MESSAGES/django.po,sha256=O3JMTA3jFpV0oV3GPpBSDsv98KBe6MDXJCO1c50VjiQ,3577 -django/contrib/postgres/locale/cs/LC_MESSAGES/django.mo,sha256=_9TFrq4kX_TSgSnIYV36rAadZZgPWoXnoh52-5E5yMs,3430 -django/contrib/postgres/locale/cs/LC_MESSAGES/django.po,sha256=2h_nqHgcMkU5YXoS4NpTmREoV7eUHQeRhmlkZEqT3G4,3863 -django/contrib/postgres/locale/da/LC_MESSAGES/django.mo,sha256=lTWGoAM4SCEn1UWK8fw1qyW8AwB4U6SW9LdWjs5Z1D8,3168 -django/contrib/postgres/locale/da/LC_MESSAGES/django.po,sha256=9syIhFzERg9Kojmz-QXYzm4F1F4UnPps79XwMx6p31M,3559 -django/contrib/postgres/locale/de/LC_MESSAGES/django.mo,sha256=1K356glWEevm4oteYtUKV1Loh1fpAjjlrFgF9yfwjcI,3275 -django/contrib/postgres/locale/de/LC_MESSAGES/django.po,sha256=MXPu492vKgQLLHngr6m2d08YUNAcwz01e3h9GxfbvIE,3723 -django/contrib/postgres/locale/dsb/LC_MESSAGES/django.mo,sha256=TPK-iwbKFpXnPtct5K13cTbdFSxHHyAUlS4U9nVysZI,3856 -django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po,sha256=FiSOY82p0UWnkXS05BeEQ5Uzhs74ZlNaxFIMMSRGpVo,4289 -django/contrib/postgres/locale/el/LC_MESSAGES/django.mo,sha256=kHjTGVK-3Y06GyjqRBi5_Ki_epzPUYt7zQKpukUOwFo,3918 -django/contrib/postgres/locale/el/LC_MESSAGES/django.po,sha256=VP82YDf9x1EmSOVmBY7zkgQcX7EfQQZFUpeRV3dtHtk,4407 -django/contrib/postgres/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/postgres/locale/en/LC_MESSAGES/django.po,sha256=IfHN0MYCktjtf0jKfyb4I1oEU9fqhCyqS4X4qZr2lDs,3131 -django/contrib/postgres/locale/eo/LC_MESSAGES/django.mo,sha256=N1T-nA1IdhKKDbZ76nV968OSMMbteXwwBdhzRi3taWs,3149 -django/contrib/postgres/locale/eo/LC_MESSAGES/django.po,sha256=KJbhFGHiJI2chKO9BytzpzRvlSsBvkNqoxP1N0okdko,3528 -django/contrib/postgres/locale/es/LC_MESSAGES/django.mo,sha256=9tNVeSpK1jUt7V2qZyKwbJbfJl3vH2Sy_3Y2GkvLnSY,3177 -django/contrib/postgres/locale/es/LC_MESSAGES/django.po,sha256=9N3ZeiyEZ7_DIgskPFIAIoEGLAGhiPMJdR-SHftisOo,3688 -django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.mo,sha256=NbkQzNZxVjBSH6NmFhvKxtU1FJzlbSjNTaq53Ml5WKQ,3173 -django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po,sha256=0jrDzJ2PbzuKxBKlpUtEXLMsjVTio-CIaHRooYbIuR8,3511 -django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.mo,sha256=wmkoFFXblYw1ufz4gcSntO79yq20mHl8hlbj4Hhmcug,2903 -django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po,sha256=Br2Lo11i-EeryGFsRmUWr_PD6_xk8kavVzdwqtR7AuU,3579 -django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.mo,sha256=4-c48HNLkDnIIPIBOaIhxoOf4muYRRelX0rR0dVrpAE,882 -django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.po,sha256=5HmM8uVQkt869MyzuQIk5C6czFe4MTRz5CBmgeN_V14,2496 -django/contrib/postgres/locale/et/LC_MESSAGES/django.mo,sha256=_BZuR25C1mzMVR2LTXE4u4QaP5ht7C7q8PjsnAEEQO8,3081 -django/contrib/postgres/locale/et/LC_MESSAGES/django.po,sha256=BF6hMf4uD6sFFXBJoudgimwKCj25jlzt7rjK3lg-BFA,3592 -django/contrib/postgres/locale/eu/LC_MESSAGES/django.mo,sha256=T7pDulEqODUPdC4sI4w-COAM5nT9C3jbAas8i24l_ms,3139 -django/contrib/postgres/locale/eu/LC_MESSAGES/django.po,sha256=OQlFVw0YFSF6s6iG6omYP1ISwevmSmAVSrH1FrqE2G8,3545 -django/contrib/postgres/locale/fa/LC_MESSAGES/django.mo,sha256=TlOdD8SW4sddFi5kAk0p0mvgDuq7SNre4LWZnOxBu9s,3134 -django/contrib/postgres/locale/fa/LC_MESSAGES/django.po,sha256=hE9GISly_L-wxF7CjHDv35GuHLcK8sLsVOpimMmtfHw,3638 -django/contrib/postgres/locale/fi/LC_MESSAGES/django.mo,sha256=eVu4C_rIzT2fQGNbJDEkrQb4pjF00lOPAixxqpYvbhs,3212 -django/contrib/postgres/locale/fi/LC_MESSAGES/django.po,sha256=zILj96C-jR-bjBRVVLScZngm7MRA-BtUM4j4IUMNJ48,3555 -django/contrib/postgres/locale/fr/LC_MESSAGES/django.mo,sha256=YomiZJPQJn88dkoaw7oXHGbq3oR3i35KopCGndxu5bY,3394 -django/contrib/postgres/locale/fr/LC_MESSAGES/django.po,sha256=t1fRjfzAQ0Y1nN9vSe5SUsBMw4NZXr_ensyHcOPrDr0,3752 -django/contrib/postgres/locale/gd/LC_MESSAGES/django.mo,sha256=-KqMRc027ysJr0R1rjgM3zJGeJpl8S3IXhmZTTmbrag,3830 -django/contrib/postgres/locale/gd/LC_MESSAGES/django.po,sha256=SflmgOSRvtcVT3ik94Cln-B0-wrkEmtraJUOXaKlGEc,4260 -django/contrib/postgres/locale/gl/LC_MESSAGES/django.mo,sha256=YlBrsev1RIUA4Zxbnl_ufkTANki4VM9O42Ge07u5QPc,722 -django/contrib/postgres/locale/gl/LC_MESSAGES/django.po,sha256=h4Z-Fdi9o1MG33vCWGMHqSj6dklYy653vGkq81lYeKA,2433 -django/contrib/postgres/locale/he/LC_MESSAGES/django.mo,sha256=KTUQ0NyBzsVOp1lEtbAmCaLiDHSf1R9EX_tV14oHm_g,3496 -django/contrib/postgres/locale/he/LC_MESSAGES/django.po,sha256=Ea3_H_jUWZLm9q22bcN_ClKkyehTjXAcCujRvgsTav8,3832 -django/contrib/postgres/locale/hr/LC_MESSAGES/django.mo,sha256=oIY9TCvkVmv-fGbGs-N2acx5VC3PNzZxWW4FRjWbTUQ,1217 -django/contrib/postgres/locale/hr/LC_MESSAGES/django.po,sha256=EnvgxKmz6qBe6cH05CAm0bO5zuXkAOYFnRF5c4LmIRo,2762 -django/contrib/postgres/locale/hsb/LC_MESSAGES/django.mo,sha256=3h5K1tt9ykZjomwtSU3J7XZfF__yAL7RpFRzi0lHFcY,3770 -django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po,sha256=TWUk3s8iDmS4msL0w1gwWpqLDXqfPDA9oq_c4U2PECE,4197 -django/contrib/postgres/locale/hu/LC_MESSAGES/django.mo,sha256=Qe5bXdGZLV0wG8bZhGK1ybGjATkKZ7OHaqEOcbZGcA4,3182 -django/contrib/postgres/locale/hu/LC_MESSAGES/django.po,sha256=puxHgfIWm0Vd3RHp1TnOKnY1mQ1hsDWNJar8NVNsyfk,3591 -django/contrib/postgres/locale/ia/LC_MESSAGES/django.mo,sha256=dnyXX0ii0CFMrI02mZhkCzY66KTFdWXBOlXjo6gP_Ps,758 -django/contrib/postgres/locale/ia/LC_MESSAGES/django.po,sha256=jNRfADlv6JldyeezHt_3LXpudpmA-cXr73GIe3aPd6E,2475 -django/contrib/postgres/locale/id/LC_MESSAGES/django.mo,sha256=2HRHOOC--1Rvm2goSDBk_sSIW1DjXwh3rNEEPKJqwOw,3039 -django/contrib/postgres/locale/id/LC_MESSAGES/django.po,sha256=6yQ_Evu0aiIabZcwIgsFmDaDxWBvbZh_3hDK8aVyUsw,3557 -django/contrib/postgres/locale/is/LC_MESSAGES/django.mo,sha256=B5rRF5HIz4ervHG45GxzSVDYL6rclTOUREuaP28sCjs,3213 -django/contrib/postgres/locale/is/LC_MESSAGES/django.po,sha256=mIm4o1WDfQ1wBQuGXMzm1AulMIDU6iZPvYEMWvZqUSw,3571 -django/contrib/postgres/locale/it/LC_MESSAGES/django.mo,sha256=kW6Oh5NNTvpiMewskoW3AmU9WcY_zO0OTcscgwbStrE,3249 -django/contrib/postgres/locale/it/LC_MESSAGES/django.po,sha256=vBOsM6PRYKQrPrOEe1PlhPGyZbGs-3YVCSnUlnfaYlM,3805 -django/contrib/postgres/locale/ja/LC_MESSAGES/django.mo,sha256=jvSBcIEgAlIsRCPz997u-5eH9Ioi5YjuktReayURCAU,3350 -django/contrib/postgres/locale/ja/LC_MESSAGES/django.po,sha256=-YHBmtzc_xG-E_vbndLBd0ax_9mexkuTDGVCyEEYhpM,3665 -django/contrib/postgres/locale/ka/LC_MESSAGES/django.mo,sha256=0ChFF9W99iPidTL-CC2R0owYonG-UKys7TS_2W97V3E,767 -django/contrib/postgres/locale/ka/LC_MESSAGES/django.po,sha256=i5KHzekJykKxdFgAYpQ_KBzFY3R3TXr9FrQcdHKVYko,2494 -django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo,sha256=TGzYaFdRPsEqIo6tsjScDSDKuQLMYOrr8grzA0l45kc,868 -django/contrib/postgres/locale/kk/LC_MESSAGES/django.po,sha256=JL7TPe92MWWX9U1ARGPmBPKQU2EZ9lJamiwn_C51aK4,2552 -django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo,sha256=0koE2OIe1bizQsdtvO2nrcY48kM72eHGRn7KOgeXm44,3194 -django/contrib/postgres/locale/ko/LC_MESSAGES/django.po,sha256=e_D3CoKvNmfnfKqV9drQdj9c2VaYQEjFU87C3a30AIM,3637 -django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo,sha256=zlgggxW5wR_ougmTMYWEaAxLC7_ZTEOQwtifN-EupOQ,3564 -django/contrib/postgres/locale/lt/LC_MESSAGES/django.po,sha256=FDEsLus6STxMRg6LRLKfTZ8es554yLP_pvHQ-g5tbSM,3954 -django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo,sha256=68lVQD3NgI3dfKKl2Gsb-O8x9AWCSzgrRJZmA9adBwY,3399 -django/contrib/postgres/locale/lv/LC_MESSAGES/django.po,sha256=SptJipFI0GvtcTvVozDCvSi_Lq1qk-vOsCh4whDOKjQ,3825 -django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo,sha256=UFofPo5u8GZFQeJUXpXv9WkzN8-L3RYB4QtpWSPZucw,3717 -django/contrib/postgres/locale/mk/LC_MESSAGES/django.po,sha256=p6bHPCPH1XuUJ_62EXW3fXnaKCtAvuDLAvS3H1JcX9s,4284 -django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo,sha256=emgB5tVUbpnT76xUh0nuMKryQyYMrySCQ4dlYQeCYco,3755 -django/contrib/postgres/locale/mn/LC_MESSAGES/django.po,sha256=6GKhHqnrt-Sg3JtYHiy-_-1l1MLBymREuQRXKQgmOCM,4229 -django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo,sha256=1TOafNdcKTEJaAolBV-RpA7fxDe46wkxYJuSXSYQ9Mw,3113 -django/contrib/postgres/locale/nb/LC_MESSAGES/django.po,sha256=VSSxNYqiKX30j6n2ju3_1iYHFx4TIqDeT2Vp9R24hOc,3482 -django/contrib/postgres/locale/ne/LC_MESSAGES/django.mo,sha256=wZ0UYJI4qUpPjLvsPCqRCuHbEKpBz9uOh6qncgXh59g,934 -django/contrib/postgres/locale/ne/LC_MESSAGES/django.po,sha256=ndvFMUw2XzBukzedzXUiPQfnnOitrOlJtz2TZgv0TX4,2590 -django/contrib/postgres/locale/nl/LC_MESSAGES/django.mo,sha256=SluBtCazF6LA_EpX5pAwJP1mOtH9vJcv7d_8ZjNyPuE,3243 -django/contrib/postgres/locale/nl/LC_MESSAGES/django.po,sha256=FgAgj21e2fPZwmQPoToqKPrxeYFrDGx01Heo9SU9sgM,3745 -django/contrib/postgres/locale/pl/LC_MESSAGES/django.mo,sha256=Tlrhv__Nj1jD5CGGChirF-ujHGO32F6r3DclQkdMB1A,3740 -django/contrib/postgres/locale/pl/LC_MESSAGES/django.po,sha256=x8RdxSRhRq2l9WmQTamN2-gRtkaWObfVP83tblcEM6M,4381 -django/contrib/postgres/locale/pt/LC_MESSAGES/django.mo,sha256=rXcN8bscv14PzPRIDxmJGHcRPNUdEbOE_cWFI-hjf1g,3136 -django/contrib/postgres/locale/pt/LC_MESSAGES/django.po,sha256=Urf8o67oVUpzTHuWGna3Cn6FxgRKPbCVI2CtXmRP220,3576 -django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.mo,sha256=jJvTRzWJVEEo1ash3rhm1rFbF7FJvt188MPHPsbpIzo,3194 -django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po,sha256=uEY62Tl09VUmV_f-CPPITyvk-I8jBePzqPZajrrekjo,3855 -django/contrib/postgres/locale/ro/LC_MESSAGES/django.mo,sha256=xQdeGHTLGLDBDDiehtzGnTdZh8oQrVG9hGRTh0FT56g,3488 -django/contrib/postgres/locale/ro/LC_MESSAGES/django.po,sha256=RIOdMn_XBWqafZrxV5vjPs-lZLkGi5-jpxsRentFcFM,3907 -django/contrib/postgres/locale/ru/LC_MESSAGES/django.mo,sha256=MU2dyAcO-xeF1y6Ea_MSEFGbc-8y_7p1GH-NRJe62Cs,5123 -django/contrib/postgres/locale/ru/LC_MESSAGES/django.po,sha256=hcl1Uuof6ENYVPQ_7ycEAzxghpoGwMKYFjK_DU-D6_A,5773 -django/contrib/postgres/locale/sk/LC_MESSAGES/django.mo,sha256=CLTqMW_0M-gEqH3Z_-uXanLMi2IxLr6y9u323Q3OJg8,3400 -django/contrib/postgres/locale/sk/LC_MESSAGES/django.po,sha256=D-HhtGgJQ0KnSnf6dHTo9LpetvruFJ7hw_XjjBq_z7g,3777 -django/contrib/postgres/locale/sl/LC_MESSAGES/django.mo,sha256=BT1LywwWuDO9iENJm-pqBksEisuETBlh0r4ILn4wgx0,3524 -django/contrib/postgres/locale/sl/LC_MESSAGES/django.po,sha256=YmFNHoKR5av9ychiCloy5OXeL_v-rDzA0vYqUy84umc,3988 -django/contrib/postgres/locale/sq/LC_MESSAGES/django.mo,sha256=0143JMFtUYLXOoSRvFydzC-xl1V6QkbL3oHQ-QBOoZk,3110 -django/contrib/postgres/locale/sq/LC_MESSAGES/django.po,sha256=GuT0Ax6Vka7xdSgXyr4-0_nuxIcihRSs8xMiTCQBGdE,3516 -django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo,sha256=i4z7Yn_Ows9G_UoCW8zIulJIrAfB1sJWib-kpG7Y_PA,2875 -django/contrib/postgres/locale/sv/LC_MESSAGES/django.po,sha256=5VjgW0c_nTPeh_4nsiUHpv_toFn0c5ytKfM06g-NrlQ,3477 -django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo,sha256=WX43GC_VDxf-36UxWrab6dCBPBvPj9O06hVoWzsS8JU,3164 -django/contrib/postgres/locale/tr/LC_MESSAGES/django.po,sha256=sfqVCqaFZtbRnDmqTVK4190-AYKJwgyMopuYjkjXmh4,3511 -django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo,sha256=3uPY2QOsonJJ67IZipxS45D6nhiS0p1-egxWqQBIyU8,4309 -django/contrib/postgres/locale/uk/LC_MESSAGES/django.po,sha256=n2qxj5e7ipENpTFganpkcSAJUMnASM2w5l0YxmTijzg,4861 -django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=t4Zea1ndeWCQMDYvdprtTDkyPXnqg3lAV7WB5TAZFNI,2854 -django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po,sha256=4ICKRVdfo78YeoAK_G7DvlWz-ixUWNDCbBkGVHnDhH8,3242 -django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=65JDiksp4dDMlCPrCbbSZ-DDEXSD3rnPKF8o-RpdptA,2864 -django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.po,sha256=MMLZpVZw1SdxWoscLSO9k2YTO5YX2GXFhSag99zNpoI,3211 -django/contrib/postgres/templates/postgres/widgets/split_array.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/contrib/redirects/__init__.py,sha256=9vdTkDvH0443yn0qXx59j4dXPn3P-Pf9lB8AWrSp_Bk,69 -django/contrib/redirects/admin.py,sha256=P9wp8yIvDjJSfIXpWYM2ftDlVhKvte_0AM9Ky_j1JIs,314 -django/contrib/redirects/apps.py,sha256=BvTvN3IXCv7yEKqhxwCDiSCZ3695YXNttEvmONHNxC4,197 -django/contrib/redirects/middleware.py,sha256=kJfTIj8G2loRgiEJkqiYEredzt4xhNAfDaTZkk9Coyo,1926 -django/contrib/redirects/models.py,sha256=x9f9oGGbUDsn1If6zLwDpkwW3M2Anl-Zj845WA121fg,985 -django/contrib/redirects/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 -django/contrib/redirects/locale/af/LC_MESSAGES/django.po,sha256=azk3eRV64rp6_41m5S1vkDRZ5YZ_OjJ6pfn4wqOlKnQ,942 -django/contrib/redirects/locale/ar/LC_MESSAGES/django.mo,sha256=BX8CzqhOiPIE2dZ1J-bomSuudCMDs8MKbZ1aCzFUrXk,1342 -django/contrib/redirects/locale/ar/LC_MESSAGES/django.po,sha256=v4WQ_5jy6a_JupP7YLLxVIOB82UjIDZJ09uuFCaJCIc,1533 -django/contrib/redirects/locale/ast/LC_MESSAGES/django.mo,sha256=a1ixBQQIdBZ7o-ADnF2r74CBtPLsuatG7txjc05_GXI,1071 -django/contrib/redirects/locale/ast/LC_MESSAGES/django.po,sha256=PguAqeIUeTMWsADOYLTxoC6AuKrCloi8HN18hbm3pZ0,1266 -django/contrib/redirects/locale/az/LC_MESSAGES/django.mo,sha256=gxyTtthfuZik5KWZbsKzhsCa27pnDA7OdBkZt2Jnxn0,1157 -django/contrib/redirects/locale/az/LC_MESSAGES/django.po,sha256=5uyUelawIxgtoK4zA5w8VkSuoJPdjSBrJRud1zm1JjU,1341 -django/contrib/redirects/locale/be/LC_MESSAGES/django.mo,sha256=JBUJpaQqNT_SW5cYMKfb3b3s-DL5MDkLapmukI3-49M,1437 -django/contrib/redirects/locale/be/LC_MESSAGES/django.po,sha256=nqxsr8UCgQUhsUnvuQCMYiX4PbCQw9q5MGKDCUi3XaI,1622 -django/contrib/redirects/locale/bg/LC_MESSAGES/django.mo,sha256=fEXrzyixSGCWaWu5XxVsjRKMlPwYkORpFtAiwNNShvM,1268 -django/contrib/redirects/locale/bg/LC_MESSAGES/django.po,sha256=_Xha-uOePDqOqOVmYgcR8auVgNT3CS-Z_V_vwyTlwfk,1493 -django/contrib/redirects/locale/bn/LC_MESSAGES/django.mo,sha256=SbQh_pgxNCogvUFud7xW9T6NTAvpaQb2jngXCtpjICM,1319 -django/contrib/redirects/locale/bn/LC_MESSAGES/django.po,sha256=LgUuiPryDLSXxo_4KMCdjM5XC3BiRfINuEk0s5PUQYQ,1511 -django/contrib/redirects/locale/br/LC_MESSAGES/django.mo,sha256=KZmOd_vXlUypXn4XPYl1JBQkxbyOp6y9FAKdvrx8YSs,623 -django/contrib/redirects/locale/br/LC_MESSAGES/django.po,sha256=wdH-Wb6xCL3bY7rfW0ZCRNHeDH3yTG7ZDxzcdWXtSkU,1025 -django/contrib/redirects/locale/bs/LC_MESSAGES/django.mo,sha256=0Yak4rXHjRRXLu3oYYzvS8qxvk2v4IFvUiDPA68a5YI,1115 -django/contrib/redirects/locale/bs/LC_MESSAGES/django.po,sha256=s9Nhx3H4074hlSqo1zgQRJbozakdJTwA1aTuMSqEJWw,1316 -django/contrib/redirects/locale/ca/LC_MESSAGES/django.mo,sha256=sqFznyD9vEvzgzVCTHrzsDmv6ZJy5UCzV15pLacScjc,1137 -django/contrib/redirects/locale/ca/LC_MESSAGES/django.po,sha256=GQhL6KJW4kwv-xta5DcPUlPOMXf5hgs8emZgSUGjbmk,1366 -django/contrib/redirects/locale/cs/LC_MESSAGES/django.mo,sha256=s7dsB2LPmW6QjaBORdOClb7-HbJdjt927l8PL0ej-9k,1156 -django/contrib/redirects/locale/cs/LC_MESSAGES/django.po,sha256=Q94mVP6Q8sBz7NyEzkiXX43hSqHA8CrIv0_u2EHdgS8,1377 -django/contrib/redirects/locale/cy/LC_MESSAGES/django.mo,sha256=NSGoK12A7gbtuAuzQEVFPNSZMqqmhHyRvTEn9PUm9So,1132 -django/contrib/redirects/locale/cy/LC_MESSAGES/django.po,sha256=jDmC64z5exPnO9zwRkBmpa9v3DBlaeHRhqZYPoWqiIY,1360 -django/contrib/redirects/locale/da/LC_MESSAGES/django.mo,sha256=fMxR__ME05FmYKVrcs77ggfqe03Nuvx_Iz2X0Fz89JM,1114 -django/contrib/redirects/locale/da/LC_MESSAGES/django.po,sha256=dpFo8F_pITvs9VafhSfJkS57__5I7Y9HAKjBa1kPrQo,1294 -django/contrib/redirects/locale/de/LC_MESSAGES/django.mo,sha256=iPnuOSbyoQESXyU3arhhm0ESlXrP3OxOkKL9ZpHy_6Q,1136 -django/contrib/redirects/locale/de/LC_MESSAGES/django.po,sha256=kAY-193685fKksD0PcEyC1-lZlXSL8oxVCnoOf6BdVc,1310 -django/contrib/redirects/locale/dsb/LC_MESSAGES/django.mo,sha256=wAFETbVpnUkTChU3d58C2qUdh0_klrwZ5X0yqSavBeY,1242 -django/contrib/redirects/locale/dsb/LC_MESSAGES/django.po,sha256=b1CcYJx9s6swmeXvcI6VE2b_FU_i2_xsHyB4IyAYMoQ,1386 -django/contrib/redirects/locale/el/LC_MESSAGES/django.mo,sha256=kzCurtbtzdZsJOzqLbTtn3kjltOnBq6Nd8p8EFTllF0,1384 -django/contrib/redirects/locale/el/LC_MESSAGES/django.po,sha256=-lFhtPYSaYaS81Zh1CX9vxx0lvQDpAUsTBRNT48ne94,1611 -django/contrib/redirects/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/redirects/locale/en/LC_MESSAGES/django.po,sha256=dKYdOJRafKUDXGsaRIoLCLt2PhwziQgp9SHMEhhfrD8,1098 -django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.po,sha256=CcP5GVZaImhRgohA5zy5K3rCscOlBtn81DB-V26-Wxg,958 -django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.mo,sha256=VscL30uJnV-eiQZITpBCy0xk_FfKdnMh4O9Hk4HGxww,1053 -django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.po,sha256=loe8xIVjZ7eyteQNLPoa-QceBZdgky22dR6deK5ubmA,1246 -django/contrib/redirects/locale/eo/LC_MESSAGES/django.mo,sha256=pZo0DSbfGGTHi-jgaTGp29kJK-iplaai-WXJoOPluMA,1138 -django/contrib/redirects/locale/eo/LC_MESSAGES/django.po,sha256=3AxFPHffYw3svHe-MR3zuVGLMtkJPL_SX_vB_ztx98c,1414 -django/contrib/redirects/locale/es/LC_MESSAGES/django.mo,sha256=RfNvdDrQeIfIw9I0dpnRjs10QzAFx-h-NRqYIfHx5gQ,1143 -django/contrib/redirects/locale/es/LC_MESSAGES/django.po,sha256=FePzvVGRJi6SmLm988JAbM3PADj1Bjn_XjGa7SFykkU,1392 -django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.mo,sha256=-e7vnpqOe9kFR63URFVovUR6-7HCLK7etTOBGVfPCSE,1127 -django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.po,sha256=IaqYpNmhkP2xb9kcCGy6k4S12pVHKbOQSEFVgWFMIZU,1296 -django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.mo,sha256=wcAMOiqsgz2KEpRwirRH9FNoto6vmo_hxthrQJi0IHU,1147 -django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.po,sha256=n8DM14vHekZRayH0B6Pm3L5XnSo4lto4ZAdu4OhcOmc,1291 -django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.mo,sha256=aU__Eh-OzuEO7sRI45r-7Jnpz9QQpEKtqAZuWpfwQyQ,1136 -django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.po,sha256=KyfWRFCA5kcBpi1uVK_rosEfYFs5mzpBvTsK5rdK4j0,1331 -django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 -django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.po,sha256=f4XZW8OHjRJoztMJtSDCxd2_Mfy-XK44hLtigjGSsZY,958 -django/contrib/redirects/locale/et/LC_MESSAGES/django.mo,sha256=1KWgSYZUyo6JbwlQHdCg9IRwI4-llys7MfkFRCN10C8,1122 -django/contrib/redirects/locale/et/LC_MESSAGES/django.po,sha256=j0-f8wRSbi6oM8fwRmG1LptZrgUYCyoHzNE3sGuDmoU,1346 -django/contrib/redirects/locale/eu/LC_MESSAGES/django.mo,sha256=c0en4U_IaOUGF0Tt8lMwCm2Fmv3bAiT-D8BO9pNVFIM,1119 -django/contrib/redirects/locale/eu/LC_MESSAGES/django.po,sha256=W-tZOxWXSOzUgZSKRG_CoOf7XjxYuQEMZp0D59EZK9A,1304 -django/contrib/redirects/locale/fa/LC_MESSAGES/django.mo,sha256=WEtbdwPLTpiEZqTb6hJZMeLjL1snmGDWbzoYwa3BQnI,1241 -django/contrib/redirects/locale/fa/LC_MESSAGES/django.po,sha256=-XfgGc8mlwIWIk0NvtWZlwBrcDG3Mrj9k7FLDJMKQl4,1463 -django/contrib/redirects/locale/fi/LC_MESSAGES/django.mo,sha256=mCSVYBr0r3ieZPuORu4t1bsxHVnXg5_4cV8C59RC-vk,1158 -django/contrib/redirects/locale/fi/LC_MESSAGES/django.po,sha256=5hNG5JNitRLU1YrFwSOnyiMRTlRw4rXgyTjRImXEy-g,1368 -django/contrib/redirects/locale/fr/LC_MESSAGES/django.mo,sha256=8lXEASsnoQMclcQ8itMj93Zkitfu1IFUwWuPaZJRa8o,1141 -django/contrib/redirects/locale/fr/LC_MESSAGES/django.po,sha256=uJ9ql71ntuAmpmbs2-Rq2jXcblGuPWfXUu0twdjflIg,1326 -django/contrib/redirects/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/redirects/locale/fy/LC_MESSAGES/django.po,sha256=D7xverCbf3kTCcFM8h7EKWM5DcxZRqeOSKDB1irbKeE,948 -django/contrib/redirects/locale/ga/LC_MESSAGES/django.mo,sha256=gISo2m96gx4SsY_EaEXDSQyMD7YfEN64-u4CbD83xbY,1073 -django/contrib/redirects/locale/ga/LC_MESSAGES/django.po,sha256=oi_ywO2DyKXhN40BE0TRLzFKvS9TK2JEsUvR6_EbW3E,1279 -django/contrib/redirects/locale/gd/LC_MESSAGES/django.mo,sha256=fcIwOFja3uSj8spusyE3ECkiugkvGk9pa5DLsGSkSMQ,1252 -django/contrib/redirects/locale/gd/LC_MESSAGES/django.po,sha256=CkNt_Ra3yA9uKDy4BeK6in2lc63VSqqlK2JPQ6s4S-Q,1371 -django/contrib/redirects/locale/gl/LC_MESSAGES/django.mo,sha256=09ZB4Eobqeq9xrV2DL4-nwtsOvrfBH6BA7Gk8MxAtbc,1079 -django/contrib/redirects/locale/gl/LC_MESSAGES/django.po,sha256=9j_NYHGLTppHe2y0m4vjkKt1p1g9d59QpN8uAzq4eL4,1295 -django/contrib/redirects/locale/he/LC_MESSAGES/django.mo,sha256=cVPF03bdLcUiZt52toHoPXMqE5rEYPU0vEb5uIZwH_4,1128 -django/contrib/redirects/locale/he/LC_MESSAGES/django.po,sha256=Ycu8QAgIhJm-zN3_dlJelXKK87YQZV8Ahc5i7AUtkVk,1302 -django/contrib/redirects/locale/hi/LC_MESSAGES/django.mo,sha256=onR8L7Kvkx6HgFLK7jT-wA_zjarBN8pyltG6BbKFIWU,1409 -django/contrib/redirects/locale/hi/LC_MESSAGES/django.po,sha256=fNv9_qwR9iS-pjWNXnrUFIqvc10lwg3bfj5lgdQOy1U,1649 -django/contrib/redirects/locale/hr/LC_MESSAGES/django.mo,sha256=7wHi6Uu0czZhI6v0ndJJ1wSkalTRfn7D5ovyw8tr4U4,1207 -django/contrib/redirects/locale/hr/LC_MESSAGES/django.po,sha256=HtxZwZ-ymmf-XID0z5s7nGYg-4gJL8i6FDGWt9i4Wns,1406 -django/contrib/redirects/locale/hsb/LC_MESSAGES/django.mo,sha256=l_NcBALI4Tsc0cM_PtEXzWWM5AQsf-OEcULlf4TZv8E,1236 -django/contrib/redirects/locale/hsb/LC_MESSAGES/django.po,sha256=xoWJStp4xkPdJHjk39BhlSC0Nh0qSSLe4dXiYa3IEBU,1380 -django/contrib/redirects/locale/hu/LC_MESSAGES/django.mo,sha256=4rxfQPYRySmOlKWO7LIGzNuYyNlP-EsuK7IRpgIkdQY,1152 -django/contrib/redirects/locale/hu/LC_MESSAGES/django.po,sha256=8OaJ7UgFJXbpxEtnLu9UuOwOjAoE9MFVEU5cXT0ThUU,1329 -django/contrib/redirects/locale/ia/LC_MESSAGES/django.mo,sha256=PDB5ZQP6iH31xN6N2YmPZYjt6zzc88TRmh9_gAWH2U0,1152 -django/contrib/redirects/locale/ia/LC_MESSAGES/django.po,sha256=GXjbzY-cQz2QLx_iuqgijT7VUMcoNKL7prbP6yIbj8E,1297 -django/contrib/redirects/locale/id/LC_MESSAGES/django.mo,sha256=ef2SKKOPZ3wDl-z-kZ3q6UVAjvgIGuioHi9U3PR_knE,1098 -django/contrib/redirects/locale/id/LC_MESSAGES/django.po,sha256=5axvDDh3Yg5NzMC4Ayr0noUOr7tOgU-BJ9S8j_sv-yY,1319 -django/contrib/redirects/locale/io/LC_MESSAGES/django.mo,sha256=vz7TWRML-DFDFapbEXTByb9-pRQwoeJ0ApSdh6nOzXY,1019 -django/contrib/redirects/locale/io/LC_MESSAGES/django.po,sha256=obStuMYYSQ7x2utkGS3gekdPfnsNAwp3DcNwlwdg1sI,1228 -django/contrib/redirects/locale/is/LC_MESSAGES/django.mo,sha256=OnT5N5YqvG6Vto1GM4vK9hu_gn19_Icfj-d55Exds_E,1065 -django/contrib/redirects/locale/is/LC_MESSAGES/django.po,sha256=qsstQGFLj6Tkzfzak2UjIRh5sZQLSeD9YN6kYBLKJnc,1278 -django/contrib/redirects/locale/it/LC_MESSAGES/django.mo,sha256=nFyQf8zpMFSgbDT85GHnOxQQbuss2Dp_DlwhgLvPVAQ,1105 -django/contrib/redirects/locale/it/LC_MESSAGES/django.po,sha256=_mI90dLhi--cxkJWjtTT9_JLesqyMOPKYrfGhzwVDQs,1307 -django/contrib/redirects/locale/ja/LC_MESSAGES/django.mo,sha256=98oXXZ0raebFOFB23-p5VaAhbW46kwC9jxM8I2FAV_U,1148 -django/contrib/redirects/locale/ja/LC_MESSAGES/django.po,sha256=XJQiqtbTrwDIBQCWfYJcHuXYDh7gr0HvCTiuGXcZtIQ,1324 -django/contrib/redirects/locale/ka/LC_MESSAGES/django.mo,sha256=0aOLKrhUX6YAIMNyt6KES9q2iFk2GupEr76WeGlJMkk,1511 -django/contrib/redirects/locale/ka/LC_MESSAGES/django.po,sha256=bK3ULAIG00Nszoz74r-W3W8CihaoijYkWlc6sUqJXrg,1720 -django/contrib/redirects/locale/kab/LC_MESSAGES/django.mo,sha256=Ogx9NXK1Nfw4ctZfp-slIL81ziDX3f4DZ01OkVNY5Tw,699 -django/contrib/redirects/locale/kab/LC_MESSAGES/django.po,sha256=gI6aUPkXH-XzKrStDsMCMNfQKDEc-D1ffqE-Z-ItQuI,1001 -django/contrib/redirects/locale/kk/LC_MESSAGES/django.mo,sha256=KVLc6PKL1MP_Px0LmpoW2lIvgLiSzlvoJ9062F-s3Zw,1261 -django/contrib/redirects/locale/kk/LC_MESSAGES/django.po,sha256=k3TtiYJ7x50M19DCu2eLcsCroKusJ3paiC2RvZ-920A,1473 -django/contrib/redirects/locale/km/LC_MESSAGES/django.mo,sha256=tcW1s7jvTG0cagtdRNT0jSNkhX-B903LKl7bK31ZvJU,1248 -django/contrib/redirects/locale/km/LC_MESSAGES/django.po,sha256=KJ4h1umpfFLdsWZtsfXoeOl6cUPUD97U4ISWt80UZ2U,1437 -django/contrib/redirects/locale/kn/LC_MESSAGES/django.mo,sha256=-gqNBZVFvxqOiPWUb9jH4myXufHHfdyr_yROTfpk2jU,1396 -django/contrib/redirects/locale/kn/LC_MESSAGES/django.po,sha256=qFM2v3ys7E5u-WJE7CR-2IMrDTqFjNq96OQ1syMDWoI,1588 -django/contrib/redirects/locale/ko/LC_MESSAGES/django.mo,sha256=gXKWhQ8zEU7D1DwkUmXXaeqgXjiVuGSFVm8S7P4dNVs,1112 -django/contrib/redirects/locale/ko/LC_MESSAGES/django.po,sha256=q8A446VIdu6xIbjzmZxw4X0z3SfJL5Jffi_1C_IfKWM,1343 -django/contrib/redirects/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/redirects/locale/lb/LC_MESSAGES/django.po,sha256=Hv1CF9CC78YuVVNpklDtPJDU5-iIUeuXcljewmc9akg,946 -django/contrib/redirects/locale/lt/LC_MESSAGES/django.mo,sha256=reiFMXJnvE4XUosbKjyvUFzl4IKjlJoFK1gVJE9Tbnc,1191 -django/contrib/redirects/locale/lt/LC_MESSAGES/django.po,sha256=3D3sSO1D9XyRpiT57l-0emy7V11uKCWJYqpEzmmpUzE,1377 -django/contrib/redirects/locale/lv/LC_MESSAGES/django.mo,sha256=gH-QSWtlMTIuvz0HkCQwCUKPsaGH6ffjS8DIlJK-D38,1179 -django/contrib/redirects/locale/lv/LC_MESSAGES/django.po,sha256=EHJnRXo3G9mhYYySGHC-6pF1CRB2RHJaLGzcscYh9fY,1355 -django/contrib/redirects/locale/mk/LC_MESSAGES/django.mo,sha256=3XGgf2K60LclScPKcgw07TId6x535AW5jtGVJ9lC01A,1353 -django/contrib/redirects/locale/mk/LC_MESSAGES/django.po,sha256=Smsdpid5VByoxvnfzju_XOlp6aTPl8qshFptot3cRYM,1596 -django/contrib/redirects/locale/ml/LC_MESSAGES/django.mo,sha256=WuMPevyQxt3VojPPf9rJPK7oWAL9V-S3j8EkEwz1Mx0,1331 -django/contrib/redirects/locale/ml/LC_MESSAGES/django.po,sha256=4fRYoLwqxL1W6SPbAfoU5lP6lTY9uuZzByNws_s4lf0,1520 -django/contrib/redirects/locale/mn/LC_MESSAGES/django.mo,sha256=14fdHC_hZrRaA0EAFzBJy8BHj4jMMX6l2e6rLLBtJ8E,1274 -django/contrib/redirects/locale/mn/LC_MESSAGES/django.po,sha256=7_QzUWf5l0P-7gM35p9UW7bOj33NabQq_zSrekUeZsY,1502 -django/contrib/redirects/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/redirects/locale/mr/LC_MESSAGES/django.po,sha256=0aGKTlriCJoP-Tirl-qCl7tjjpjURhgCjRGmurHVO3c,940 -django/contrib/redirects/locale/my/LC_MESSAGES/django.mo,sha256=H5-y9A3_1yIXJzC4sSuHqhURxhOlnYEL8Nvc0IF4zUE,549 -django/contrib/redirects/locale/my/LC_MESSAGES/django.po,sha256=MZGNt0jMQA6aHA6OmjvaC_ajvRWfUfDiKkV0j3_E480,1052 -django/contrib/redirects/locale/nb/LC_MESSAGES/django.mo,sha256=flh3A8h-hu_Ed0dGUAPH7ZxF1WC9sYB2NqCPkNPfMLQ,1147 -django/contrib/redirects/locale/nb/LC_MESSAGES/django.po,sha256=9v20yzVkeilgDRfoXetQNytBShYEsgOLVctsZpzOfBI,1405 -django/contrib/redirects/locale/ne/LC_MESSAGES/django.mo,sha256=TxTnBGIi5k0PKAjADeCuOAJQV5dtzLrsFRXBXtfszWI,1420 -django/contrib/redirects/locale/ne/LC_MESSAGES/django.po,sha256=5b5R-6AlSIQrDyTtcmquoW5xrQRGZwlxZpBpZfVo5t4,1607 -django/contrib/redirects/locale/nl/LC_MESSAGES/django.mo,sha256=mDRSlzw-0KGJ-8Z3A7LDGV_yH4U3yJ0qcqDoAUPr8cQ,1114 -django/contrib/redirects/locale/nl/LC_MESSAGES/django.po,sha256=-QPs1pytBa5UQrosBERvmcNwb03q_sfrIiztr9OeL5M,1356 -django/contrib/redirects/locale/nn/LC_MESSAGES/django.mo,sha256=oiw7wSgqGUrHIdec6sIa7OlHXGME5iWA9h1UUlhl6Mw,1072 -django/contrib/redirects/locale/nn/LC_MESSAGES/django.po,sha256=pfu1XKvB-9DS_5dAbvjGzZCKAYxBEtnStJlBJxRSEXk,1267 -django/contrib/redirects/locale/os/LC_MESSAGES/django.mo,sha256=joQ-ibV9_6ctGMNPLZQLCx5fUamRQngs6_LDd_s9sMQ,1150 -django/contrib/redirects/locale/os/LC_MESSAGES/django.po,sha256=ZwFWiuGS9comy7r2kMnKuqaPOvVehVdAAuFvXM5ldxM,1358 -django/contrib/redirects/locale/pa/LC_MESSAGES/django.mo,sha256=MY-OIDNXlZth-ZRoOJ52nlUPg_51_F5k0NBIpc7GZEw,748 -django/contrib/redirects/locale/pa/LC_MESSAGES/django.po,sha256=TPDTK2ZvDyvO1ob8Qfr64QDbHVWAREfEeBO5w9jf63E,1199 -django/contrib/redirects/locale/pl/LC_MESSAGES/django.mo,sha256=DrsiZaeqMKkydQS2QyGCePj39Jh7aWR6DCMxBhZdaOU,1279 -django/contrib/redirects/locale/pl/LC_MESSAGES/django.po,sha256=0Dp53dQhxQyt_NDNuRYs2vcsQzPkbyo5RzewEY35CEc,1512 -django/contrib/redirects/locale/pt/LC_MESSAGES/django.mo,sha256=WocPaVk3fQEz_MLmGVtFBGwsThD-gNU7GDocqEbeaBA,1129 -django/contrib/redirects/locale/pt/LC_MESSAGES/django.po,sha256=ptCzoE41c9uFAbgSjb6VHSFYPEUv_51YyBdoThXN3XA,1350 -django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.mo,sha256=VN3i7dnTRkGwPmOfTXnQW3GNDpBpbc9gvBed2Mz0gQw,1162 -django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po,sha256=DXFcxZ75Jz0l5uQV2skTW3y6WJVpjor7lr6vg2eADfA,1408 -django/contrib/redirects/locale/ro/LC_MESSAGES/django.mo,sha256=HSQTOHGdyzkHlm6Ti1FBLU7Oj896At-xJJnwQF4Orgw,1222 -django/contrib/redirects/locale/ro/LC_MESSAGES/django.po,sha256=OYNV39_gWPt8ZgHDs6Bkv5_o4rveTnnlhcZLXhbwPXw,1453 -django/contrib/redirects/locale/ru/LC_MESSAGES/django.mo,sha256=pV_IGa3dFWwIymZyWyVdmQHdJO2dpMTm0ut3W1qBz0I,1456 -django/contrib/redirects/locale/ru/LC_MESSAGES/django.po,sha256=Mz9QdfJfRwOGxvZ4VmvXgBDImvp0uHZMCg4Z6-Yvf3I,1669 -django/contrib/redirects/locale/sk/LC_MESSAGES/django.mo,sha256=4U3JX_UnnYmBNtKseSUobgTslILeZWfn37Dg7q52svY,1160 -django/contrib/redirects/locale/sk/LC_MESSAGES/django.po,sha256=8tDwfdkGAXo4eAR66nfkIdegbyjc3-qBfrMZgrf_cF4,1376 -django/contrib/redirects/locale/sl/LC_MESSAGES/django.mo,sha256=GAZtOFSUxsOHdXs3AzT40D-3JFWIlNDZU_Z-cMvdaHo,1173 -django/contrib/redirects/locale/sl/LC_MESSAGES/django.po,sha256=gkZTyxNh8L2gNxyLVzm-M1HTiK8KDvughTa2MK9NzWo,1351 -django/contrib/redirects/locale/sq/LC_MESSAGES/django.mo,sha256=Js-5m2a1qd32OUxH-iPrgdUGfmMMaAjAXEZHpmQxr-0,1125 -django/contrib/redirects/locale/sq/LC_MESSAGES/django.po,sha256=WpenX8X1zZ6vAM7xi0kAmEXtPX-hz-m1QS4V7UzBeBQ,1307 -django/contrib/redirects/locale/sr/LC_MESSAGES/django.mo,sha256=j3-tpIjJ0vePNMQz4tmZkH3SBfnhA50MFSIHPOHbwHA,1254 -django/contrib/redirects/locale/sr/LC_MESSAGES/django.po,sha256=7GYy8bPElrcLH1CSZ2jXxfxH0-fCkDt7K-jgrWKBM1M,1455 -django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=zVEFUwMO0OobVJnpMEsN0cPG-H1o01idHsRFbM5D7i0,1132 -django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.po,sha256=50ukHV96cGLGb2LBLAhAwmD4nf6Rv0x8unJrzq30ZXA,1333 -django/contrib/redirects/locale/sv/LC_MESSAGES/django.mo,sha256=y1KpTjzF2FWY_x373UyaEFTTNYPT6hroB6zvA1ev010,1147 -django/contrib/redirects/locale/sv/LC_MESSAGES/django.po,sha256=7Us64PRHRyIZ8D7lY6HCef9xXnoSfwWI3YYtlNEaFSo,1362 -django/contrib/redirects/locale/sw/LC_MESSAGES/django.mo,sha256=oJnTp9CTgNsg5TSOV_aPZIUXdr6-l65hAZbaARZCO2w,1078 -django/contrib/redirects/locale/sw/LC_MESSAGES/django.po,sha256=CTVwA3O7GUQb7l1WpbmT8kOfqr7DpqnIyQt3HWJ6YTQ,1245 -django/contrib/redirects/locale/ta/LC_MESSAGES/django.mo,sha256=AE6Py2_CV2gQKjKQAa_UgkLT9i61x3i1hegQpRGuZZM,1502 -django/contrib/redirects/locale/ta/LC_MESSAGES/django.po,sha256=ojdq8p4HnwtK0n6By2I6_xuucOpJIobJEGRMGc_TrS8,1700 -django/contrib/redirects/locale/te/LC_MESSAGES/django.mo,sha256=Gtcs4cbgrD7-bSkPKiPbM5DcjONS2fSdHhvWdbs_E1M,467 -django/contrib/redirects/locale/te/LC_MESSAGES/django.po,sha256=RT-t3TjcOLyNQQWljVrIcPWErKssh_HQMyGujloy-EI,939 -django/contrib/redirects/locale/th/LC_MESSAGES/django.mo,sha256=cnPvlsVYioWu6g3wRN7j0TGfUvi2mSHjygsLe5XQ_RA,1210 -django/contrib/redirects/locale/th/LC_MESSAGES/django.po,sha256=ACxr7blSSbcHljHKwvU5JBJ24pgNv9aKg1RdP4H5kGY,1393 -django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo,sha256=RiZJ_Acsxwz0d4q1JTZWPnbCpW8uiedE_X8PRJdZB0E,1124 -django/contrib/redirects/locale/tr/LC_MESSAGES/django.po,sha256=Gr6fwZ2nLkbosrikKpSgODsRf40GKXBc3RL9pOffCGM,1348 -django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo,sha256=Hf1JXcCGNwedxy1nVRM_pQ0yUebC-tvOXr7P0h86JyI,1178 -django/contrib/redirects/locale/tt/LC_MESSAGES/django.po,sha256=2WCyBQtqZk-8GXgtu-x94JYSNrryy2QoMnirhiBrgV0,1376 -django/contrib/redirects/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/redirects/locale/udm/LC_MESSAGES/django.po,sha256=xsxlm4itpyLlLdPQRIHLuvTYRvruhM3Ezc9jtp3XSm4,934 -django/contrib/redirects/locale/uk/LC_MESSAGES/django.mo,sha256=nCpHZGF8aYaw3UDrSXugypDHEIkWYHXncmyC_YHzxw0,1414 -django/contrib/redirects/locale/uk/LC_MESSAGES/django.po,sha256=-UDqtKOxcTA4C4O0QW7GnjtnXtEmwDfvfLmNQFMI1No,1700 -django/contrib/redirects/locale/ur/LC_MESSAGES/django.mo,sha256=CQkt-yxyAaTd_Aj1ZZC8s5-4fI2TRyTEZ-SYJZgpRrQ,1138 -django/contrib/redirects/locale/ur/LC_MESSAGES/django.po,sha256=CkhmN49PvYTccvlSRu8qGpcbx2C-1aY7K3Lq1VC2fuM,1330 -django/contrib/redirects/locale/vi/LC_MESSAGES/django.mo,sha256=BquXycJKh-7-D9p-rGUNnjqzs1d6S1YhEJjFW8_ARFA,1106 -django/contrib/redirects/locale/vi/LC_MESSAGES/django.po,sha256=xsCASrGZNbQk4d1mhsTZBcCpPJ0KO6Jr4Zz1wfnL67s,1301 -django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=q_V-681leIEKkVUTw0QmkxkW94pNP_O2IWu6K8mWJrk,1089 -django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po,sha256=zT9NRup3gaT5-i9Tz_l1Fz_vjctz2bwq5mgAb9T1vtc,1315 -django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=35HyQ7p6_pB1xNNbNzjNX8JhMa5HOzAmkF5YUgC70N0,1096 -django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po,sha256=bbDd7Y0E1xAv7EmqAQI3am7VhDo3NxBgjRP8WvolS1s,1313 -django/contrib/redirects/migrations/0001_initial.py,sha256=jl-W40P9AY3VHUP69TmXS3lKVFlwGVIHJ04lEFBkgEY,1491 -django/contrib/redirects/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/__init__.py,sha256=W7kKt-gCROzrUA6UpIRAit3SHa-coN4_A4fphGikCEk,67 -django/contrib/sessions/apps.py,sha256=q_fkp7a7_1GT14XHkHgNIET0sItgfBeFT7B137_KeZM,194 -django/contrib/sessions/base_session.py,sha256=5FofwClB_ukwCsXPfJbzUvKoYaMQ78B_lWXU0fqSg1k,1490 -django/contrib/sessions/exceptions.py,sha256=epvfG9haHc8p34Ic6IqUSC-Yj06Ruh2TSm9G6HQMdno,256 -django/contrib/sessions/middleware.py,sha256=sbpLTYtkGNo5TfYaHPestSVrhMEbcGL9LXRDk4OD5LQ,3423 -django/contrib/sessions/models.py,sha256=vmROoszsXHnPHoSbFca8k-U9Z8Wg6EAHYeEK87VHHk8,1257 -django/contrib/sessions/serializers.py,sha256=FUUY-XXwipIA085gJSNNcTxVQqo12YE9EFainIxNPdU,394 -django/contrib/sessions/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/backends/base.py,sha256=aFxoGhXQaZb6nj6Q_KbpyFWjrYUuDOOLh3uY3objGFc,11967 -django/contrib/sessions/backends/cache.py,sha256=-qeSz07gUidiY_xq7imMJ3SP17J_rLsIO50KxOhq_8E,2713 -django/contrib/sessions/backends/cached_db.py,sha256=S1EMi_8GiSbImzdndIvzX8iMnJwHI-G1km40fbZeLXg,2686 -django/contrib/sessions/backends/db.py,sha256=JVPC09-K9a7yIhvFDWPfpu6QP7A0jeUkome5dbLXELY,3703 -django/contrib/sessions/backends/file.py,sha256=iI2Q3qdHDEAbYpGBdvkTeWDU3Rrx_DsR--OjIAXX_bI,7906 -django/contrib/sessions/backends/signed_cookies.py,sha256=jcBrD3gUHrdETWf6JvwDVCFe4eAiRbH8i2oMJjwpXPs,2696 -django/contrib/sessions/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 -django/contrib/sessions/locale/af/LC_MESSAGES/django.po,sha256=fdRPUBMVUrpvAi9zsvwSnts55Wdnj4r2kLxKeroIsSM,745 -django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo,sha256=yoepqaR68PTGLx--cAOzP94Sqyl5xIYpeQ0IFWgY380,846 -django/contrib/sessions/locale/ar/LC_MESSAGES/django.po,sha256=ZgwtBYIdtnqp_8nKHXF1NVJFzQU81-3yv9b7STrQHMc,995 -django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo,sha256=hz2m-PkrHby2CKfIOARj6kCzisT-Vs0syfDSTx_iVVw,702 -django/contrib/sessions/locale/ast/LC_MESSAGES/django.po,sha256=M90j1Nx6oDJ16hguUkfKYlyb5OymUeZ5xzPixWxSC7I,846 -django/contrib/sessions/locale/az/LC_MESSAGES/django.mo,sha256=XJskCf7jcxBH-i_gqfJIHVO3Loh3w6_kIyod5nxLu7Y,700 -django/contrib/sessions/locale/az/LC_MESSAGES/django.po,sha256=74663H2-Uz-RMRfDN8E4-Z5LxZ6deAlgdEdvpa-_YK0,846 -django/contrib/sessions/locale/be/LC_MESSAGES/django.mo,sha256=8b7MeFDTL6VStOnVHtkb_o4Iiy0gTHoCwTUbT1vRr9Q,895 -django/contrib/sessions/locale/be/LC_MESSAGES/django.po,sha256=tHsYVn3XNTcukB0SrHUWP1iV763rrQHCimOyJHRPiek,1023 -django/contrib/sessions/locale/bg/LC_MESSAGES/django.mo,sha256=DGp3j3E0-5bBjFCKx9c6Jcz9ZaXysd2DgVPuxROWDmU,783 -django/contrib/sessions/locale/bg/LC_MESSAGES/django.po,sha256=AEgnW2F8S85JZOh4JVJ6nLynsmHRZOBBoOluVxHosVo,942 -django/contrib/sessions/locale/bn/LC_MESSAGES/django.mo,sha256=0BdFN7ou9tmoVG00fCA-frb1Tri3iKz43W7SWal398s,762 -django/contrib/sessions/locale/bn/LC_MESSAGES/django.po,sha256=LycmTel6LXV2HGGN6qzlAfID-cVEQCNnW1Nv_hbWXJk,909 -django/contrib/sessions/locale/br/LC_MESSAGES/django.mo,sha256=-tOybnibUnlB-jOPm9-oi40D1fhoszQ7fvq6vMhiwOg,536 -django/contrib/sessions/locale/br/LC_MESSAGES/django.po,sha256=lQiZ3aJ1B4o1-LHuXMyYWlUetaAAvMleqr0pFT1acww,787 -django/contrib/sessions/locale/bs/LC_MESSAGES/django.mo,sha256=M7TvlJMrSUAFhp7oUSpUKejnbTuIK-19yiGBBECl9Sc,759 -django/contrib/sessions/locale/bs/LC_MESSAGES/django.po,sha256=Ur0AeRjXUsLgDJhcGiw75hRk4Qe98DzPBOocD7GFDRQ,909 -django/contrib/sessions/locale/ca/LC_MESSAGES/django.mo,sha256=tbaZ48PaihGGD9-2oTKiMFY3kbXjU59nNciCRINOBNk,738 -django/contrib/sessions/locale/ca/LC_MESSAGES/django.po,sha256=tJuJdehKuD9aXOauWOkE5idQhsVsLbeg1Usmc6N_SP0,906 -django/contrib/sessions/locale/cs/LC_MESSAGES/django.mo,sha256=4ZL8ECaHYx2PdPoQlpQ1YiNVVyQRH1TR5NblBRmmxB8,747 -django/contrib/sessions/locale/cs/LC_MESSAGES/django.po,sha256=-Y7fL3Ge6Cfiet1UZtA6xejOnpD0FPj37ruqImKxKn4,906 -django/contrib/sessions/locale/cy/LC_MESSAGES/django.mo,sha256=GeWVeV2PvgLQV8ecVUA2g3-VvdzMsedgIDUSpn8DByk,774 -django/contrib/sessions/locale/cy/LC_MESSAGES/django.po,sha256=zo18MXtkEdO1L0Q6ewFurx3lsEWTCdh0JpQJTmvw5bY,952 -django/contrib/sessions/locale/da/LC_MESSAGES/django.mo,sha256=cR9YutBJxPiisDQ-C14H2J7TiNOVmna3094Vuq0txqs,722 -django/contrib/sessions/locale/da/LC_MESSAGES/django.po,sha256=qX_Oo7niVo57bazlIYFA6bnVmPBclUUTWvZFYNLaG04,880 -django/contrib/sessions/locale/de/LC_MESSAGES/django.mo,sha256=N3kTal0YK9z7Te3zYGLbJmoSB6oWaviWDLGdPlsPa9g,721 -django/contrib/sessions/locale/de/LC_MESSAGES/django.po,sha256=0qnfDeCUQN2buKn6R0MvwhQP05XWxSu-xgvfxvnJe3k,844 -django/contrib/sessions/locale/dsb/LC_MESSAGES/django.mo,sha256=RABl3WZmY6gLh4IqmTUhoBEXygDzjp_5lLF1MU9U5fA,810 -django/contrib/sessions/locale/dsb/LC_MESSAGES/django.po,sha256=cItKs5tASYHzDxfTg0A_dgBQounpzoGyOEFn18E_W_g,934 -django/contrib/sessions/locale/el/LC_MESSAGES/django.mo,sha256=QbTbmcfgc8_4r5hFrIghDhk2XQ4f8_emKmqupMG2ah0,809 -django/contrib/sessions/locale/el/LC_MESSAGES/django.po,sha256=HeaEbpVmFhhrZt2NsZteYaYoeo8FYKZF0IoNJwtzZkc,971 -django/contrib/sessions/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/sessions/locale/en/LC_MESSAGES/django.po,sha256=afaM-IIUZtcRZduojUTS8tT0w7C4Ya9lXgReOvq_iF0,804 -django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.po,sha256=gvnvUpim1l7oImnzPXqBww-Uz0TgGjzCLaaszpdkQ10,761 -django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.mo,sha256=T5NQCTYkpERfP9yKbUvixT0VdBt1zGmGB8ITlkVc420,707 -django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.po,sha256=1ks_VE1qpEfPcyKg0HybkTG0-DTttTHTfUPhQCR53sw,849 -django/contrib/sessions/locale/eo/LC_MESSAGES/django.mo,sha256=eBvYQbZS_WxVV3QCSZAOyHNIljC2ZXxVc4mktUuXVjI,727 -django/contrib/sessions/locale/eo/LC_MESSAGES/django.po,sha256=Ru9xicyTgHWVHh26hO2nQNFRQmwBnYKEagsS8TZRv3E,917 -django/contrib/sessions/locale/es/LC_MESSAGES/django.mo,sha256=jbHSvHjO2OCLlBD66LefocKOEbefWbPhj-l3NugiWuc,734 -django/contrib/sessions/locale/es/LC_MESSAGES/django.po,sha256=fY5WXeONEXHeuBlH0LkvzdZ2CSgbvLZ8BJc429aIbhI,909 -django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.mo,sha256=ACc53N0nFsdhIhvuinICI6XhGhHwxMeZjA--46TAXso,735 -django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.po,sha256=AnmvjeOA7EBTJ6wMOkCl8JRLVYRU8KS0egPijcKutns,879 -django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.mo,sha256=UP7ia0gV9W-l0Qq5AS4ZPadJtml8iuzzlS5C9guMgh8,754 -django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.po,sha256=_XeiiRWvDaGjofamsRHr5up_EQvcw0w-GLLeWK27Af8,878 -django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.mo,sha256=MDM0K3xMvyf8ymvAurHYuacpxfG_YfJFyNnp1uuc6yY,756 -django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.po,sha256=Y7VNa16F_yyK7_XJvF36rR2XNW8aBJK4UDweufyXpxE,892 -django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 -django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.po,sha256=zWjgB0AmsmhX2tjk1PgldttqY56Czz8epOVCaYWXTLU,761 -django/contrib/sessions/locale/et/LC_MESSAGES/django.mo,sha256=aL1jZWourEC7jtjsuBZHD-Gw9lpL6L1SoqjTtzguxD0,737 -django/contrib/sessions/locale/et/LC_MESSAGES/django.po,sha256=VNBYohAOs59jYWkjVMY-v2zwVy5AKrtBbFRJZLwdCFg,899 -django/contrib/sessions/locale/eu/LC_MESSAGES/django.mo,sha256=M9piOB_t-ZnfN6pX-jeY0yWh2S_5cCuo1oGiy7X65A4,728 -django/contrib/sessions/locale/eu/LC_MESSAGES/django.po,sha256=bHdSoknoH0_dy26e93tWVdO4TT7rnCPXlSLPsYAhwyw,893 -django/contrib/sessions/locale/fa/LC_MESSAGES/django.mo,sha256=6DdJcqaYuBnhpFFHR42w-RqML0eQPFMAUEEDY0Redy8,755 -django/contrib/sessions/locale/fa/LC_MESSAGES/django.po,sha256=NgJlLPsS9FXjRzKqGgUTkNG9puYrBRf0KQK-QqXMIxQ,916 -django/contrib/sessions/locale/fi/LC_MESSAGES/django.mo,sha256=oAugvlTEvJmG8KsZw09WcfnifYY5oHnGo4lxcxqKeaY,721 -django/contrib/sessions/locale/fi/LC_MESSAGES/django.po,sha256=BVVrjbZZtLGAuZ9HK63p769CbjZFZMlS4BewSMfNMKU,889 -django/contrib/sessions/locale/fr/LC_MESSAGES/django.mo,sha256=HQ3DEjxHQeHRYmu7SYVSDl1ZQHhamnw-mJ5vci5io1g,733 -django/contrib/sessions/locale/fr/LC_MESSAGES/django.po,sha256=hARxGdtBOzEZ_iVyzkNvcKlgyM8fOkdXTH3upj2XFYM,893 -django/contrib/sessions/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/sessions/locale/fy/LC_MESSAGES/django.po,sha256=U-VEY4WbmIkmrnPK4Mv-B-pbdtDzusBCVmE8iHyvzFU,751 -django/contrib/sessions/locale/ga/LC_MESSAGES/django.mo,sha256=pYchS6m-SPtKOFLAw0IJwW6DKXu6VnwPeKl6X80e8hI,747 -django/contrib/sessions/locale/ga/LC_MESSAGES/django.po,sha256=ArrEYC58VzWDKq2RAYXi5VsxzD6RUon1pyA7NUj9pEE,894 -django/contrib/sessions/locale/gd/LC_MESSAGES/django.mo,sha256=Yi8blY_fUD5YTlnUD6YXZvv1qjm4QDriO6CJIUe1wIk,791 -django/contrib/sessions/locale/gd/LC_MESSAGES/django.po,sha256=fEa40AUqA5vh743Zqv0FO2WxSFXGYk4IzUR4BoaP-C4,890 -django/contrib/sessions/locale/gl/LC_MESSAGES/django.mo,sha256=uQ2ZmtUNoVCB2mSlMGSy-j4a_hu9PBfJDo796d8beFA,701 -django/contrib/sessions/locale/gl/LC_MESSAGES/django.po,sha256=FovTLHdVK15N9FI9lFFAOP4zt7GsvO0kKdocgeVDkNk,902 -django/contrib/sessions/locale/he/LC_MESSAGES/django.mo,sha256=qhgjSWfGAOgl-i7iwzSrJttx88xcj1pB0iLkEK64mJU,809 -django/contrib/sessions/locale/he/LC_MESSAGES/django.po,sha256=gtBgkC2bpVyWm8B5pjV3-9tBo0xqUsJuJz2neN79isg,969 -django/contrib/sessions/locale/hi/LC_MESSAGES/django.mo,sha256=naqxOjfAnNKy3qqnUG-4LGf9arLRJpjyWWmSj5tEfao,759 -django/contrib/sessions/locale/hi/LC_MESSAGES/django.po,sha256=WnTGvOz9YINMcUJg2BYCaHceZLKaTfsba_0AZtRNP38,951 -django/contrib/sessions/locale/hr/LC_MESSAGES/django.mo,sha256=axyJAmXmadpFxIhu8rroVD8NsGGadQemh9-_ZDo7L1U,819 -django/contrib/sessions/locale/hr/LC_MESSAGES/django.po,sha256=3G-qOYXBO-eMWWsa5LwTCW9M1oF0hlWgEz7hAK8hJqI,998 -django/contrib/sessions/locale/hsb/LC_MESSAGES/django.mo,sha256=_OXpOlCt4KU0i65Iw4LMjSsyn__E9wH20l9vDNBSEzw,805 -django/contrib/sessions/locale/hsb/LC_MESSAGES/django.po,sha256=yv3vX_UCDrdl07GQ79Mnytwgz2oTvySYOG9enzMpFJA,929 -django/contrib/sessions/locale/hu/LC_MESSAGES/django.mo,sha256=ik40LnsWkKYEUioJB9e11EX9XZ-qWMa-S7haxGhM-iI,727 -django/contrib/sessions/locale/hu/LC_MESSAGES/django.po,sha256=1-UWEEsFxRwmshP2x4pJbitWIGZ1YMeDDxnAX-XGNxc,884 -django/contrib/sessions/locale/ia/LC_MESSAGES/django.mo,sha256=-o4aQPNJeqSDRSLqcKuYvJuKNBbFqDJDe3IzHgSgZeQ,744 -django/contrib/sessions/locale/ia/LC_MESSAGES/django.po,sha256=PULLDd3QOIU03kgradgQzT6IicoPhLPlUvFgRl-tGbA,869 -django/contrib/sessions/locale/id/LC_MESSAGES/django.mo,sha256=mOaIF0NGOO0-dt-nhHL-i3cfvt9-JKTbyUkFWPqDS9Y,705 -django/contrib/sessions/locale/id/LC_MESSAGES/django.po,sha256=EA6AJno3CaFOO-dEU9VQ_GEI-RAXS0v0uFqn1RJGjEs,914 -django/contrib/sessions/locale/io/LC_MESSAGES/django.mo,sha256=_rqAY6reegqmxmWc-pW8_kDaG9zflZuD-PGOVFsjRHo,683 -django/contrib/sessions/locale/io/LC_MESSAGES/django.po,sha256=tbKMxGuB6mh_m0ex9rO9KkTy6qyuRW2ERrQsGwmPiaw,840 -django/contrib/sessions/locale/is/LC_MESSAGES/django.mo,sha256=3QeMl-MCnBie9Sc_aQ1I7BrBhkbuArpoSJP95UEs4lg,706 -django/contrib/sessions/locale/is/LC_MESSAGES/django.po,sha256=LADIFJv8L5vgDJxiQUmKPSN64zzzrIKImh8wpLBEVWQ,853 -django/contrib/sessions/locale/it/LC_MESSAGES/django.mo,sha256=qTY3O-0FbbpZ5-BR5xOJWP0rlnIkBZf-oSawW_YJWlk,726 -django/contrib/sessions/locale/it/LC_MESSAGES/django.po,sha256=hEv0iTGLuUvEBk-lF-w7a9P3ifC0-eiodNtuSc7cXhg,869 -django/contrib/sessions/locale/ja/LC_MESSAGES/django.mo,sha256=hbv9FzWzXRIGRh_Kf_FLQB34xfmPU_9RQKn9u1kJqGU,757 -django/contrib/sessions/locale/ja/LC_MESSAGES/django.po,sha256=ppGx5ekOWGgDF3vzyrWsqnFUZ-sVZZhiOhvAzl_8v54,920 -django/contrib/sessions/locale/ka/LC_MESSAGES/django.mo,sha256=VZ-ysrDbea_-tMV-1xtlTeW62IAy2RWR94V3Y1iSh4U,803 -django/contrib/sessions/locale/ka/LC_MESSAGES/django.po,sha256=MDOG7BAO8Ez75CfgERCq1zA3syJbvQKpc4wBVlryfqQ,950 -django/contrib/sessions/locale/kab/LC_MESSAGES/django.mo,sha256=W_yE0NDPJrVznA2Qb89VuprJNwyxSg59ovvjkQe6mAs,743 -django/contrib/sessions/locale/kab/LC_MESSAGES/django.po,sha256=FJeEuv4P3NT_PpWHEUsQVSWXu65nYkJ6Z2AlbSKb0ZA,821 -django/contrib/sessions/locale/kk/LC_MESSAGES/django.mo,sha256=FROGz_MuIhsIU5_-EYV38cHnRZrc3-OxxkBeK0ax9Rk,810 -django/contrib/sessions/locale/kk/LC_MESSAGES/django.po,sha256=l5gu1XfvRMNhCHBl-NTGoUHWa0nRSxqSDt0zljpr7Kg,1024 -django/contrib/sessions/locale/km/LC_MESSAGES/django.mo,sha256=VOuKsIG2DEeCA5JdheuMIeJlpmAhKrI6lD4KWYqIIPk,929 -django/contrib/sessions/locale/km/LC_MESSAGES/django.po,sha256=09i6Nd_rUK7UqFpJ70LMXTR6xS0NuGETRLe0CopMVBk,1073 -django/contrib/sessions/locale/kn/LC_MESSAGES/django.mo,sha256=X5svX5_r3xZUy4OjUuo2gItc5PIOSjZOvE5IZwnM6Io,814 -django/contrib/sessions/locale/kn/LC_MESSAGES/django.po,sha256=Rq-I2veQe5l7Q7HG9pRY_mKeNcxhSRDgqphKbuNpoNc,961 -django/contrib/sessions/locale/ko/LC_MESSAGES/django.mo,sha256=EUyVQYGtiFJg01mP30a0iOqBYHvpzHAcGTZM28Ubs5Q,700 -django/contrib/sessions/locale/ko/LC_MESSAGES/django.po,sha256=PjntvSzRz_Aekj9VFhGsP5yO6rAsxTMzwFj58JqToIU,855 -django/contrib/sessions/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/sessions/locale/lb/LC_MESSAGES/django.po,sha256=3igeAnQjDg6D7ItBkQQhyBoFJOZlBxT7NoZiExwD-Fo,749 -django/contrib/sessions/locale/lt/LC_MESSAGES/django.mo,sha256=L9w8-qxlDlCqR_2P0PZegfhok_I61n0mJ1koJxzufy4,786 -django/contrib/sessions/locale/lt/LC_MESSAGES/django.po,sha256=7e5BmXuaHHgGX5W1eC6wIH2QyMTNOg4JZjkZM0i-jTc,952 -django/contrib/sessions/locale/lv/LC_MESSAGES/django.mo,sha256=exEzDUNwNS0GLsUkKPu_SfqBxU7T6VRA_T2schIQZ88,753 -django/contrib/sessions/locale/lv/LC_MESSAGES/django.po,sha256=fBgQEbsGg1ECVm1PFDrS2sfKs2eqmsqrSYzx9ELotNQ,909 -django/contrib/sessions/locale/mk/LC_MESSAGES/django.mo,sha256=4oTWp8-qzUQBiqG32hNieABgT3O17q2C4iEhcFtAxLA,816 -django/contrib/sessions/locale/mk/LC_MESSAGES/django.po,sha256=afApb5YRhPXUWR8yF_TTym73u0ov7lWiwRda1-uNiLY,988 -django/contrib/sessions/locale/ml/LC_MESSAGES/django.mo,sha256=P1z831CbjKP38Sd_-d6_1P7V8fFXOGS6pyznw_x7dhg,780 -django/contrib/sessions/locale/ml/LC_MESSAGES/django.po,sha256=eTDbMq3x_kk7YkSzVLYk9szi1D3EwDwqeSnmuOXVxyY,927 -django/contrib/sessions/locale/mn/LC_MESSAGES/django.mo,sha256=NgVteIZT90EJ3TJCQFzMHfxeZ5m9IGcGnMYd5SaMnT4,769 -django/contrib/sessions/locale/mn/LC_MESSAGES/django.po,sha256=PmEcp36DnnvGScoVjc6GtRK9XIxnXHnHaD6ZflOIXP8,972 -django/contrib/sessions/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/sessions/locale/mr/LC_MESSAGES/django.po,sha256=FQRdZ-qIDuvTCrwbnWfxoxNi8rywLSebcNbxGvr-hb0,743 -django/contrib/sessions/locale/my/LC_MESSAGES/django.mo,sha256=8zzzyfJYok969YuAwDUaa6YhxaSi3wcXy3HRNXDb_70,872 -django/contrib/sessions/locale/my/LC_MESSAGES/django.po,sha256=mfs0zRBI0tugyyEfXBZzZ_FMIohydq6EYPZGra678pw,997 -django/contrib/sessions/locale/nb/LC_MESSAGES/django.mo,sha256=hfJ1NCFgcAAtUvNEpaZ9b31PyidHxDGicifUWANIbM8,717 -django/contrib/sessions/locale/nb/LC_MESSAGES/django.po,sha256=yXr6oYuiu01oELdQKuztQFWz8x5C2zS5OzEfU9MHJsU,908 -django/contrib/sessions/locale/ne/LC_MESSAGES/django.mo,sha256=slFgMrqGVtLRHdGorLGPpB09SM92_WnbnRR0rlpNlPQ,802 -django/contrib/sessions/locale/ne/LC_MESSAGES/django.po,sha256=1vyoiGnnaB8f9SFz8PGfzpw6V_NoL78DQwjjnB6fS98,978 -django/contrib/sessions/locale/nl/LC_MESSAGES/django.mo,sha256=X-ZuB8Zn9c5saUvUf8gj9R8gyrQuKUyUDVfs_0IvCY0,733 -django/contrib/sessions/locale/nl/LC_MESSAGES/django.po,sha256=smRr-QPGm6h6hdXxghggWES8b2NnL7yDQ07coUypa8g,909 -django/contrib/sessions/locale/nn/LC_MESSAGES/django.mo,sha256=042gOyJuXb51nG7gxI_rYst9QWuB3thtAeevKpDLFVQ,695 -django/contrib/sessions/locale/nn/LC_MESSAGES/django.po,sha256=j2kDL1vDsHoBX_ky6_S0tWxaqFst6v7OLqqlt6N2ECI,842 -django/contrib/sessions/locale/os/LC_MESSAGES/django.mo,sha256=xVux1Ag45Jo9HQBbkrRzcWrNjqP09nMQl16jIh0YVlo,732 -django/contrib/sessions/locale/os/LC_MESSAGES/django.po,sha256=1hG5Vsz2a2yW05_Z9cTNrBKtK9VRPZuQdx4KJ_0n98o,892 -django/contrib/sessions/locale/pa/LC_MESSAGES/django.mo,sha256=qEx4r_ONwXK1-qYD5uxxXEQPqK5I6rf38QZoUSm7UVA,771 -django/contrib/sessions/locale/pa/LC_MESSAGES/django.po,sha256=M7fmVGP8DtZGEuTV3iJhuWWqILVUTDZvUey_mrP4_fM,918 -django/contrib/sessions/locale/pl/LC_MESSAGES/django.mo,sha256=55aWzhu56-g9b84xx-zfBDIDd_pH82iLu7Nx87HcCRU,869 -django/contrib/sessions/locale/pl/LC_MESSAGES/django.po,sha256=C_MJBB-vwTZbx-t4-mzun-RxHhdOVv04b6xrWdnTv8E,1084 -django/contrib/sessions/locale/pt/LC_MESSAGES/django.mo,sha256=dlJF7hF4GjLmQPdAJhtf-FCKX26XsOmZlChOcxxIqPk,738 -django/contrib/sessions/locale/pt/LC_MESSAGES/django.po,sha256=cOycrw3HCHjSYBadpalyrg5LdRTlqZCTyMh93GOQ8O0,896 -django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.mo,sha256=XHNF5D8oXIia3e3LYwxd46a2JOgDc_ykvc8yuo21fT0,757 -django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.po,sha256=K_zxKaUKngWPFpvHgXOcymJEsiONSw-OrVrroRXmUUk,924 -django/contrib/sessions/locale/ro/LC_MESSAGES/django.mo,sha256=WR9I9Gum_pq7Qg2Gzhf-zAv43OwR_uDtsbhtx4Ta5gE,776 -django/contrib/sessions/locale/ro/LC_MESSAGES/django.po,sha256=fEgVxL_0Llnjspu9EsXBf8AVL0DGdfF7NgV88G7WN1E,987 -django/contrib/sessions/locale/ru/LC_MESSAGES/django.mo,sha256=n-8vXR5spEbdfyeWOYWC_6kBbAppNoRrWYgqKFY6gJA,913 -django/contrib/sessions/locale/ru/LC_MESSAGES/django.po,sha256=sNqNGdoof6eXzFlh4YIp1O54MdDOAFDjD3GvAFsNP8k,1101 -django/contrib/sessions/locale/sk/LC_MESSAGES/django.mo,sha256=Yntm624Wt410RwuNPU1c-WwQoyrRrBs69VlKMlNUHeQ,766 -django/contrib/sessions/locale/sk/LC_MESSAGES/django.po,sha256=JIvzoKw_r4jZXWEaHvIYAZDAzrEkfpr0WM9dNfUlzBE,924 -django/contrib/sessions/locale/sl/LC_MESSAGES/django.mo,sha256=EE6mB8BiYRyAxK6qzurRWcaYVs96FO_4rERYQdtIt3k,770 -django/contrib/sessions/locale/sl/LC_MESSAGES/django.po,sha256=KTjBWyvaNCHbpV9K6vbnavwxxXqf2DlIqVPv7MVFcO8,928 -django/contrib/sessions/locale/sq/LC_MESSAGES/django.mo,sha256=3mGqKLgno-t7B3jyQpSaIJfDVAxbfOSDr5G9OUE7fqc,724 -django/contrib/sessions/locale/sq/LC_MESSAGES/django.po,sha256=9pzp7834LQKafe5fJzC4OKsAd6XfgtEQl6K6hVLaBQM,844 -django/contrib/sessions/locale/sr/LC_MESSAGES/django.mo,sha256=PcSKdLH8nNGRHXNEjFJ7VQ1eu9eEsVWdkJU-TiDxjZE,812 -django/contrib/sessions/locale/sr/LC_MESSAGES/django.po,sha256=Kp5NsKVESKMcb4LHVa3DmKaktexzuE3Bsv5TmELbiEI,962 -django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=dWZsW7FyUMuFszdDvWNALmijsEwI5s8BrNrDz36KmJ4,787 -django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.po,sha256=HZQeob-g8_DNCmn7jzDPzM4MP4e3oncK2nF3Kdace84,937 -django/contrib/sessions/locale/sv/LC_MESSAGES/django.mo,sha256=SGbr0K_5iAMA22MfseAldMDgLSEBrI56pCtyV8tMAPc,707 -django/contrib/sessions/locale/sv/LC_MESSAGES/django.po,sha256=vraY3915wBYGeYu9Ro0-TlBeLWqGZP1fbckLv8y47Ys,853 -django/contrib/sessions/locale/sw/LC_MESSAGES/django.mo,sha256=Edhqp8yuBnrGtJqPO7jxobeXN4uU5wKSLrOsFO1F23k,743 -django/contrib/sessions/locale/sw/LC_MESSAGES/django.po,sha256=iY4rN4T-AA2FBQA7DiWWFvrclqKiDYQefqwwVw61-f8,858 -django/contrib/sessions/locale/ta/LC_MESSAGES/django.mo,sha256=qLIThhFQbJKc1_UVr7wVIm1rJfK2rO5m84BCB_oKq7s,801 -django/contrib/sessions/locale/ta/LC_MESSAGES/django.po,sha256=bYqtYf9XgP9IKKFJXh0u64JhRhDvPPUliI1J-NeRpKE,945 -django/contrib/sessions/locale/te/LC_MESSAGES/django.mo,sha256=kteZeivEckt4AmAeKgmgouMQo1qqSQrI8M42B16gMnQ,786 -django/contrib/sessions/locale/te/LC_MESSAGES/django.po,sha256=dQgiNS52RHrL6bV9CEO7Jk9lk3YUQrUBDCg_bP2OSZc,980 -django/contrib/sessions/locale/th/LC_MESSAGES/django.mo,sha256=xJE3u78wMj916Y4aJoeqduxa1L1QqiWzgNTtz1FXWJQ,757 -django/contrib/sessions/locale/th/LC_MESSAGES/django.po,sha256=Ks4o9M9Oo7E_A3bFnthS4RkI7Ht0ijPFkMCalItdj3w,901 -django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo,sha256=H-DMP3N3AHZj1Q9aYeBOMA10nN1CIuJkUEY7QAy1b3g,726 -django/contrib/sessions/locale/tr/LC_MESSAGES/django.po,sha256=XYKo0_P5xitYehvjMzEw2MTp_Nza-cIXEECV3dA6BmY,863 -django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo,sha256=Q-FGu_ljTsxXO_EWu7zCzGwoqFXkeoTzWSlvx85VLGc,806 -django/contrib/sessions/locale/tt/LC_MESSAGES/django.po,sha256=UC85dFs_1836noZTuZEzPqAjQMFfSvj7oGmEWOGcfCA,962 -django/contrib/sessions/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/sessions/locale/udm/LC_MESSAGES/django.po,sha256=CPml2Fn9Ax_qO5brCFDLPBoTiNdvsvJb1btQ0COwUfY,737 -django/contrib/sessions/locale/uk/LC_MESSAGES/django.mo,sha256=jzNrLuFghQMCHNRQ0ihnKMCicgear0yWiTOLnvdPszw,841 -django/contrib/sessions/locale/uk/LC_MESSAGES/django.po,sha256=GM9kNL1VoFSRfbHB5KiivIbp-nJl1aZ69wL2xszNqlM,1017 -django/contrib/sessions/locale/ur/LC_MESSAGES/django.mo,sha256=FkGIiHegr8HR8zjVyJ9TTW1T9WYtAL5Mg77nRKnKqWk,729 -django/contrib/sessions/locale/ur/LC_MESSAGES/django.po,sha256=qR4QEBTP6CH09XFCzsPSPg2Dv0LqzbRV_I67HO2OUwk,879 -django/contrib/sessions/locale/vi/LC_MESSAGES/django.mo,sha256=KriTpT-Hgr10DMnY5Bmbd4isxmSFLmav8vg2tuL2Bb8,679 -django/contrib/sessions/locale/vi/LC_MESSAGES/django.po,sha256=M7S46Q0Q961ykz_5FCAN8SXQ54w8tp4rZeZpy6bPtXs,909 -django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=zsbhIMocgB8Yn1XEBxbIIbBh8tLifvvYNlhe5U61ch8,722 -django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po,sha256=tPshgXjEv6pME4N082ztamJhd5whHB2_IV_egdP-LlQ,889 -django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=WZzfpFKZ41Pu8Q9SuhGu3hXwp4eiq8Dt8vdiQfxvF9M,733 -django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po,sha256=6IRDQu6-PAYh6SyEIcKdhuR172lX0buY8qqsU0QXlYU,898 -django/contrib/sessions/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/management/commands/clearsessions.py,sha256=yDcSmK65l5H1-2hiHhDlN0zivQrxm_ihNKLKt6MmRiQ,650 -django/contrib/sessions/migrations/0001_initial.py,sha256=F7fzk2d9hDPjUwx2w-lXdZcFG1h4HyHnkfcJ6aK7C-0,955 -django/contrib/sessions/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sitemaps/__init__.py,sha256=4pL-xZ3nNPbczruFZqnL8xTH5KrGL_C1AgdfBMfWfwY,5632 -django/contrib/sitemaps/apps.py,sha256=ktY9PcWsmv5TOlvEdG6IL8ZBbGMtZRpO24j5g7DGilU,195 -django/contrib/sitemaps/views.py,sha256=KP-cCkD4VGFbd4ZavWK79gAkZa83APeRgTx-eouny4M,3516 -django/contrib/sitemaps/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sitemaps/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sitemaps/management/commands/ping_google.py,sha256=IzUg9OZa2e3AjwX4bCFEldXzaLsT4O4WnbUgeUKe6qg,412 -django/contrib/sitemaps/templates/sitemap.xml,sha256=KTiksPVpo22dkRjjavoJtckzo-Rin7aZ_QgbC42Y8O0,479 -django/contrib/sitemaps/templates/sitemap_index.xml,sha256=VqDmRlWMx9kC6taiBoi1h9JVspV54ou3nFjE8Nfofl8,209 -django/contrib/sites/__init__.py,sha256=qIj6PsbyT_DVkvjrASve-9F8GeoCKv6sO0-jlEhRJv4,61 -django/contrib/sites/admin.py,sha256=ClzCRn4fUPWO1dNlEWEPjSDInnK87XbNRmadvjYs1go,214 -django/contrib/sites/apps.py,sha256=xRYkn8bbxOK7rSsDiLHPkxUqAN4iscVMvwKIjiwdj94,365 -django/contrib/sites/management.py,sha256=K6cgSOdN4ins_TiWjUIkGFwuibJmshTlFonqYT2QKrw,1597 -django/contrib/sites/managers.py,sha256=OJfKicEOuqcD0B7NuH4scszrknQZ-X1Nf1PL0XgWqLM,1929 -django/contrib/sites/middleware.py,sha256=qYcVHsHOg0VxQNS4saoLHkdF503nJR-D7Z01vE0SvUM,309 -django/contrib/sites/models.py,sha256=gj4u6mr8lvOlBJNaF3pSqAT6tk4YnktmaKlpBuDNE0A,3729 -django/contrib/sites/requests.py,sha256=74RhONzbRqEGoNXLu4T7ZjAFKYvCLmY_XQWnGRz6jdw,640 -django/contrib/sites/shortcuts.py,sha256=RZr1iT8zY_z8o52PIWEBFCQL03pE28pp6708LveS240,581 -django/contrib/sites/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 -django/contrib/sites/locale/af/LC_MESSAGES/django.po,sha256=WNd-q5lgjiRfXAGb7iv5iUkCnS_RcI098GNjn4MezDc,775 -django/contrib/sites/locale/ar/LC_MESSAGES/django.mo,sha256=kLoytp2jvhWn6p1c8kNVua2sYAMnrpS4xnbluHD22Vs,947 -django/contrib/sites/locale/ar/LC_MESSAGES/django.po,sha256=HYA3pA29GktzXBP-soUEn9VP2vkZuhVIXVA8TNPCHCs,1135 -django/contrib/sites/locale/ast/LC_MESSAGES/django.mo,sha256=eEvaeiGnZFBPGzKLlRz4M9AHemgJVAb-yNpbpxRqtd0,774 -django/contrib/sites/locale/ast/LC_MESSAGES/django.po,sha256=huBohKzLpdaJRFMFXXSDhDCUOqVqyWXfxb8_lLOkUd0,915 -django/contrib/sites/locale/az/LC_MESSAGES/django.mo,sha256=TOdJMsIhxYvxT1-ZFiPD5JDhA9fBBpu84tpiYhv7tgE,608 -django/contrib/sites/locale/az/LC_MESSAGES/django.po,sha256=M5mYWSyOohsNTtC_BWlDbw4PTsQWdEnbirf_4S0zInw,835 -django/contrib/sites/locale/be/LC_MESSAGES/django.mo,sha256=b-0febeZF-EX53E--W-G3lkpiozt7En6yfDIJYnNrQw,1024 -django/contrib/sites/locale/be/LC_MESSAGES/django.po,sha256=W5FhVJKcmd3WHl2Lpd5NJUsc7_sE_1Pipk3CVPoGPa4,1152 -django/contrib/sites/locale/bg/LC_MESSAGES/django.mo,sha256=a2R52umIQIhnzFaFYSRhQ6nBlywE8RGMj2FUOFmyb0A,904 -django/contrib/sites/locale/bg/LC_MESSAGES/django.po,sha256=awB8RMS-qByhNB6eH2f0Oyxb3SH8waLhrZ--rokGfaI,1118 -django/contrib/sites/locale/bn/LC_MESSAGES/django.mo,sha256=cI3a9_L-OC7gtdyRNaGX7A5w0Za0M4ERnYB7rSNkuRU,925 -django/contrib/sites/locale/bn/LC_MESSAGES/django.po,sha256=8ZxYF16bgtTZSZRZFok6IJxUV02vIztoVx2qXqwO8NM,1090 -django/contrib/sites/locale/br/LC_MESSAGES/django.mo,sha256=YMRHUamxztFILZxGTecQvUitRUcMnvLdqCoARq-NISM,628 -django/contrib/sites/locale/br/LC_MESSAGES/django.po,sha256=S0kQZf-Z5XrqJEPc03kHB1XrmQcjYboEq7KeEegaoCc,848 -django/contrib/sites/locale/bs/LC_MESSAGES/django.mo,sha256=bDeqQNme586LnQRQdvOWaLGZssjOoECef3vMq_OCXno,692 -django/contrib/sites/locale/bs/LC_MESSAGES/django.po,sha256=xRTWInDNiLxikjwsjgW_pYjhy24zOro90-909ns9fig,923 -django/contrib/sites/locale/ca/LC_MESSAGES/django.mo,sha256=lEUuQEpgDY3bVWzRONrPzYlojRoNduT16_oYDkkbdfk,791 -django/contrib/sites/locale/ca/LC_MESSAGES/django.po,sha256=aORAoVn69iG1ynmEfnkBzBO-UZOzzbkPVOU-ZvfMtZg,996 -django/contrib/sites/locale/cs/LC_MESSAGES/django.mo,sha256=1T_5VDHXNjFLGDhvUFYEx6LNM-7jENMvSjUzcA8njeQ,815 -django/contrib/sites/locale/cs/LC_MESSAGES/django.po,sha256=UCoVCD6JhUxB2IgegTnFQqd3_yPBkZ-5HJhif4v5Awg,979 -django/contrib/sites/locale/cy/LC_MESSAGES/django.mo,sha256=70pOie0K__hkmM9oBUaQfVwHjK8Cl48E26kRQL2mtew,835 -django/contrib/sites/locale/cy/LC_MESSAGES/django.po,sha256=FAZrVc72x-4R1A-1qYOBwADoXngC_F6FO8nRjr5-Z6g,1013 -django/contrib/sites/locale/da/LC_MESSAGES/django.mo,sha256=_vLc8KTeuNCWqBAAajbYl9KSnn5tbrBC8unB0gwdsCw,794 -django/contrib/sites/locale/da/LC_MESSAGES/django.po,sha256=Po1Z6u52CFCyz9hLfK009pMbZzZgHrBse0ViX8wCYm8,957 -django/contrib/sites/locale/de/LC_MESSAGES/django.mo,sha256=5Q6X0_bDQ1ZRpkTy7UpPNzrhmQsB9Q0P1agB7koRyzs,792 -django/contrib/sites/locale/de/LC_MESSAGES/django.po,sha256=aD0wBinqtDUPvBbwtHrLEhFdoVRx1nOh17cJFuWhN3U,980 -django/contrib/sites/locale/dsb/LC_MESSAGES/django.mo,sha256=pPpWYsYp81MTrqCsGF0QnGktZNIll70bdBwSkuVE8go,868 -django/contrib/sites/locale/dsb/LC_MESSAGES/django.po,sha256=IA3G8AKJls20gzfxnrfPzivMNpL8A0zBQBg7OyzrP6g,992 -django/contrib/sites/locale/el/LC_MESSAGES/django.mo,sha256=G9o1zLGysUePGzZRicQ2aIIrc2UXMLTQmdpbrUMfWBU,878 -django/contrib/sites/locale/el/LC_MESSAGES/django.po,sha256=RBi_D-_znYuV6LXfTlSOf1Mvuyl96fIyEoiZ-lgeyWs,1133 -django/contrib/sites/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/sites/locale/en/LC_MESSAGES/django.po,sha256=tSjfrNZ_FqLHsXjm5NuTyo5-JpdlPLsPZjFqF2APhy8,817 -django/contrib/sites/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/sites/locale/en_AU/LC_MESSAGES/django.po,sha256=7V9dBdbfHa9aGAfs9nw6ivSxX30CqaYc1ptfplTAPJc,791 -django/contrib/sites/locale/en_GB/LC_MESSAGES/django.mo,sha256=FbSh7msJdrHsXr0EtDMuODFzSANG_HJ3iBlW8ePpqFs,639 -django/contrib/sites/locale/en_GB/LC_MESSAGES/django.po,sha256=Ib-DIuTWlrN3kg99kLCuqWJVtt1NWaFD4UbDFK6d4KY,862 -django/contrib/sites/locale/eo/LC_MESSAGES/django.mo,sha256=N4KkH12OHxic3pp1okeBhpfDx8XxxpULk3UC219vjWU,792 -django/contrib/sites/locale/eo/LC_MESSAGES/django.po,sha256=ymXSJaFJWGBO903ObqR-ows-p4T3KyUplc_p_3r1uk8,1043 -django/contrib/sites/locale/es/LC_MESSAGES/django.mo,sha256=qLN1uoCdslxdYWgdjgSBi7szllP-mQZtHbuZnNOthsQ,804 -django/contrib/sites/locale/es/LC_MESSAGES/django.po,sha256=QClia2zY39269VSQzkQsLwwukthN6u2JBsjbLNxA1VQ,1066 -django/contrib/sites/locale/es_AR/LC_MESSAGES/django.mo,sha256=sMZ_BBcxMK440lFG-dT6ekbGMIfLDvNHGL-sV6bUycU,817 -django/contrib/sites/locale/es_AR/LC_MESSAGES/django.po,sha256=RwyNylXbyxdSXn6qRDXd99-GaEPlmr6TicHTUW0boaQ,969 -django/contrib/sites/locale/es_CO/LC_MESSAGES/django.mo,sha256=a4Xje2M26wyIx6Wlg6puHo_OXjiDEy7b0FquT9gbThA,825 -django/contrib/sites/locale/es_CO/LC_MESSAGES/django.po,sha256=9bnRhVD099JzkheO80l65dufjuawsj9aSFgFu5A-lnM,949 -django/contrib/sites/locale/es_MX/LC_MESSAGES/django.mo,sha256=AtGta5jBL9XNBvfSpsCcnDtDhvcb89ALl4hNjSPxibM,809 -django/contrib/sites/locale/es_MX/LC_MESSAGES/django.po,sha256=TnkpQp-7swH-x9cytUJe-QJRd2n_pYMVo0ltDw9Pu8o,991 -django/contrib/sites/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 -django/contrib/sites/locale/es_VE/LC_MESSAGES/django.po,sha256=8PWXy2L1l67wDIi98Q45j7OpVITr0Lt4zwitAnB-d_o,791 -django/contrib/sites/locale/et/LC_MESSAGES/django.mo,sha256=I2E-49UQsG-F26OeAfnKlfUdA3YCkUSV8ffA-GMSkE0,788 -django/contrib/sites/locale/et/LC_MESSAGES/django.po,sha256=mEfD6EyQ15PPivb5FTlkabt3Lo_XGtomI9XzHrrh34Y,992 -django/contrib/sites/locale/eu/LC_MESSAGES/django.mo,sha256=1HTAFI3DvTAflLJsN7NVtSd4XOTlfoeLGFyYCOX69Ec,807 -django/contrib/sites/locale/eu/LC_MESSAGES/django.po,sha256=NWxdE5-mF6Ak4nPRpCFEgAMIsVDe9YBEZl81v9kEuX8,1023 -django/contrib/sites/locale/fa/LC_MESSAGES/django.mo,sha256=odtsOpZ6noNqwDb18HDc2e6nz3NMsa-wrTN-9dk7d9w,872 -django/contrib/sites/locale/fa/LC_MESSAGES/django.po,sha256=uL2I9XjqIxqTUKf6buewtm9rwflM23pxspFMs7w4SPM,1088 -django/contrib/sites/locale/fi/LC_MESSAGES/django.mo,sha256=I5DUeLk1ChUC32q5uzriABCLLJpJKNbEK4BfqylPQzg,786 -django/contrib/sites/locale/fi/LC_MESSAGES/django.po,sha256=LH2sFIKM3YHPoz9zIu10z1DFv1svXphBdOhXNy4a17s,929 -django/contrib/sites/locale/fr/LC_MESSAGES/django.mo,sha256=lQe7mHXWDoQGSEZyK0TsPOwvnR-rjAzt8-FeLTCeXyU,797 -django/contrib/sites/locale/fr/LC_MESSAGES/django.po,sha256=u24rHDJ47AoBgcmBwI1tIescAgbjFxov6y906H_uhK0,999 -django/contrib/sites/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/sites/locale/fy/LC_MESSAGES/django.po,sha256=Yh6Lw0QI2Me0zCtlyXraFLjERKqklB6-IJLDTjH_jTs,781 -django/contrib/sites/locale/ga/LC_MESSAGES/django.mo,sha256=D-SyqmEcQP_7oIwiRG7PCdoWqFsy55cnmXcf2hx53vU,668 -django/contrib/sites/locale/ga/LC_MESSAGES/django.po,sha256=foWIcJ5jB0QCWmRbYiAju_05v4-jAq0yHC7wjdzhKD0,896 -django/contrib/sites/locale/gd/LC_MESSAGES/django.mo,sha256=df4XIGGD6FIyMUXsb-SoSqNfBFAsRXf4qYtolh_C964,858 -django/contrib/sites/locale/gd/LC_MESSAGES/django.po,sha256=NPKp7A5-y-MR7r8r4WqtcVQJEHCIOP5mLTd0cIfUsug,957 -django/contrib/sites/locale/gl/LC_MESSAGES/django.mo,sha256=QUJdJV71VT-4iVQ5mUAeyszTVhD2LlmmPQv0WpPWttU,742 -django/contrib/sites/locale/gl/LC_MESSAGES/django.po,sha256=cLcejsFyoFk0fRX9fAcl9owHoxiD593QZZeZTfObBVw,940 -django/contrib/sites/locale/he/LC_MESSAGES/django.mo,sha256=L3bganfG4gHqp2WXGh4rfWmmbaIxHaGc7-ypAqjSL_E,820 -django/contrib/sites/locale/he/LC_MESSAGES/django.po,sha256=nT0Gu0iWpFV7ZJ6SAdcogZccCz3CV-R5rgqwEl5NA6c,985 -django/contrib/sites/locale/hi/LC_MESSAGES/django.mo,sha256=J4oIS1vJnCvdCCUD4tlTUVyTe4Xn0gKcWedfhH4C0t0,665 -django/contrib/sites/locale/hi/LC_MESSAGES/django.po,sha256=INBrm37jL3okBHuzX8MSN1vMptj77a-4kwQkAyt8w_8,890 -django/contrib/sites/locale/hr/LC_MESSAGES/django.mo,sha256=KjDUhEaOuYSMexcURu2UgfkatN2rrUcAbCUbcpVSInk,876 -django/contrib/sites/locale/hr/LC_MESSAGES/django.po,sha256=-nFMFkVuDoKYDFV_zdNULOqQlnqtiCG57aakN5hqlmg,1055 -django/contrib/sites/locale/hsb/LC_MESSAGES/django.mo,sha256=RyHVb7u9aRn5BXmWzR1gApbZlOioPDJ59ufR1Oo3e8Y,863 -django/contrib/sites/locale/hsb/LC_MESSAGES/django.po,sha256=Aq54y5Gb14bIt28oDDrFltnSOk31Z2YalwaJMDMXfWc,987 -django/contrib/sites/locale/hu/LC_MESSAGES/django.mo,sha256=P--LN84U2BeZAvRVR-OiWl4R02cTTBi2o8XR2yHIwIU,796 -django/contrib/sites/locale/hu/LC_MESSAGES/django.po,sha256=b0VhyFdNaZZR5MH1vFsLL69FmICN8Dz-sTRk0PdK49E,953 -django/contrib/sites/locale/hy/LC_MESSAGES/django.mo,sha256=Hs9XwRHRkHicLWt_NvWvr7nMocmY-Kc8XphhVSAMQRc,906 -django/contrib/sites/locale/hy/LC_MESSAGES/django.po,sha256=MU4hXXGfjXKfYcjxDYzFfsEUIelz5ZzyQLkeSrUQKa0,1049 -django/contrib/sites/locale/ia/LC_MESSAGES/django.mo,sha256=gRMs-W5EiY26gqzwnDXEMbeb1vs0bYZ2DC2a9VCciew,809 -django/contrib/sites/locale/ia/LC_MESSAGES/django.po,sha256=HXZzn9ACIqfR2YoyvpK2FjZ7QuEq_RVZ1kSC4nxMgeg,934 -django/contrib/sites/locale/id/LC_MESSAGES/django.mo,sha256=__2E_2TmVUcbf1ygxtS1lHvkhv8L0mdTAtJpBsdH24Y,791 -django/contrib/sites/locale/id/LC_MESSAGES/django.po,sha256=e5teAHiMjLR8RDlg8q99qtW-K81ltcIiBIdb1MZw2sE,1000 -django/contrib/sites/locale/io/LC_MESSAGES/django.mo,sha256=W-NP0b-zR1oWUZnHZ6fPu5AC2Q6o7nUNoxssgeguUBo,760 -django/contrib/sites/locale/io/LC_MESSAGES/django.po,sha256=G4GUUz3rxoBjWTs-j5RFCvv52AEHiwrCBwom5hYeBSE,914 -django/contrib/sites/locale/is/LC_MESSAGES/django.mo,sha256=lkJgTzDjh5PNfIJpOS2DxKmwVUs9Sl5XwFHv4YdCB30,812 -django/contrib/sites/locale/is/LC_MESSAGES/django.po,sha256=1DVgAcHSZVyDd5xn483oqICIG4ooyZY8ko7A3aDogKM,976 -django/contrib/sites/locale/it/LC_MESSAGES/django.mo,sha256=6NQjjtDMudnAgnDCkemOXinzX0J-eAE5gSq1F8kjusY,795 -django/contrib/sites/locale/it/LC_MESSAGES/django.po,sha256=zxavlLMmp1t1rCDsgrw12kVgxiK5EyR_mOalSu8-ws8,984 -django/contrib/sites/locale/ja/LC_MESSAGES/django.mo,sha256=RNuCS6wv8uK5TmXkSH_7SjsbUFkf24spZfTsvfoTKro,814 -django/contrib/sites/locale/ja/LC_MESSAGES/django.po,sha256=e-cj92VOVc5ycIY6NwyFh5bO7Q9q5vp5CG4dOzd_eWQ,982 -django/contrib/sites/locale/ka/LC_MESSAGES/django.mo,sha256=m8GTqr9j0ijn0YJhvnsYwlk5oYcASKbHg_5hLqZ91TI,993 -django/contrib/sites/locale/ka/LC_MESSAGES/django.po,sha256=BCsMvNq-3Pi9-VnUvpUQaGx6pbCgI8rCcIHUA8VL4as,1155 -django/contrib/sites/locale/kab/LC_MESSAGES/django.mo,sha256=Utdj5gH5YPeaYMjeMzF-vjqYvYTCipre2qCBkEJSc-Y,808 -django/contrib/sites/locale/kab/LC_MESSAGES/django.po,sha256=d78Z-YanYZkyP5tpasj8oAa5RimVEmce6dlq5vDSscA,886 -django/contrib/sites/locale/kk/LC_MESSAGES/django.mo,sha256=T2dTZ83vBRfQb2dRaKOrhvO00BHQu_2bu0O0k7RsvGA,895 -django/contrib/sites/locale/kk/LC_MESSAGES/django.po,sha256=9ixNnoE3BxfBj4Xza0FM5qInd0uiNnAlXgDb_KaICn4,1057 -django/contrib/sites/locale/km/LC_MESSAGES/django.mo,sha256=Q7pn5E4qN957j20-iCHgrfI-p8sm3Tc8O2DWeuH0By8,701 -django/contrib/sites/locale/km/LC_MESSAGES/django.po,sha256=TOs76vlCMYOZrdHgXPWZhQH1kTBQTpzsDJ8N4kbJQ7E,926 -django/contrib/sites/locale/kn/LC_MESSAGES/django.mo,sha256=fikclDn-FKU_t9lZeBtQciisS3Kqv4tJHtu923OXLJI,676 -django/contrib/sites/locale/kn/LC_MESSAGES/django.po,sha256=p_P7L0KAUoKNLH8vuHV4_2mTWK1m1tjep5XgRqbWd2k,904 -django/contrib/sites/locale/ko/LC_MESSAGES/django.mo,sha256=wlfoWG-vmMSCipUJVVC0Y_W7QbGNNE-oEnVwl_6-AmY,807 -django/contrib/sites/locale/ko/LC_MESSAGES/django.po,sha256=TENAk9obGUxFwMnJQj_V9sZxEKJj4DyWMuGpx3Ft_pM,1049 -django/contrib/sites/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/sites/locale/lb/LC_MESSAGES/django.po,sha256=1yRdK9Zyh7kcWG7wUexuF9-zxEaKLS2gG3ggVOHbRJ8,779 -django/contrib/sites/locale/lt/LC_MESSAGES/django.mo,sha256=bK6PJtd7DaOgDukkzuqos5ktgdjSF_ffL9IJTQY839s,869 -django/contrib/sites/locale/lt/LC_MESSAGES/django.po,sha256=9q7QfFf_IR2A1Cr_9aLVIWf-McR0LivtRC284w2_bo0,1124 -django/contrib/sites/locale/lv/LC_MESSAGES/django.mo,sha256=t9bQiVqpAmXrq8QijN4Lh0n6EGUGQjnuH7hDcu21z4c,823 -django/contrib/sites/locale/lv/LC_MESSAGES/django.po,sha256=vMaEtXGosD3AcTomiuctbOpjLes8TRBnumLe8DC4yq4,1023 -django/contrib/sites/locale/mk/LC_MESSAGES/django.mo,sha256=_YXasRJRWjYmmiEWCrAoqnrKuHHPBG_v_EYTUe16Nfo,885 -django/contrib/sites/locale/mk/LC_MESSAGES/django.po,sha256=AgdIjiSpN0P5o5rr5Ie4sFhnmS5d4doB1ffk91lmOvY,1062 -django/contrib/sites/locale/ml/LC_MESSAGES/django.mo,sha256=A-_05uveKw1FGXzhxRh5VJ8j2lXXD6fwBFWXCDZ50Fs,708 -django/contrib/sites/locale/ml/LC_MESSAGES/django.po,sha256=_kDMypYyCURw-LiLp1Pfqc2kS6_5slPDXHRPGmdxbzM,936 -django/contrib/sites/locale/mn/LC_MESSAGES/django.mo,sha256=w2sqJRAe0wyz_IuCZ_Ocubs_VHL6wV1BcutWPz0dseQ,867 -django/contrib/sites/locale/mn/LC_MESSAGES/django.po,sha256=Zh_Eao0kLZsrQ8wkL1f-pRrsAtNJOspu45uStq5t8Mo,1127 -django/contrib/sites/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/sites/locale/mr/LC_MESSAGES/django.po,sha256=pqnjF5oxvpMyjijy6JfI8qJbbbowZzE5tZF0DMYiCBs,773 -django/contrib/sites/locale/my/LC_MESSAGES/django.mo,sha256=jN59e9wRheZYx1A4t_BKc7Hx11J5LJg2wQRd21aQv08,961 -django/contrib/sites/locale/my/LC_MESSAGES/django.po,sha256=EhqYIW5-rX33YjsDsBwfiFb3BK6fZKVc3CRYeJpZX1E,1086 -django/contrib/sites/locale/nb/LC_MESSAGES/django.mo,sha256=AaiHGcmcciy5IMBPVAShcc1OQOETJvBCv7GYHMcIQMA,793 -django/contrib/sites/locale/nb/LC_MESSAGES/django.po,sha256=936zoN1sPSiiq7GuH01umrw8W6BtymYEU3bCfOQyfWE,1000 -django/contrib/sites/locale/ne/LC_MESSAGES/django.mo,sha256=wM13WrA4uMhfpU1GKFMcbVBh5LRB4v-v-t7t4AHqaU4,899 -django/contrib/sites/locale/ne/LC_MESSAGES/django.po,sha256=9_78nN66h6ioTnd0OO6YM8MHbqw8uoiaSAyn69aT8Ag,1021 -django/contrib/sites/locale/nl/LC_MESSAGES/django.mo,sha256=FDIRQORWGlTLABZ7384C48vf1U80aWbMNK82eBSlonc,788 -django/contrib/sites/locale/nl/LC_MESSAGES/django.po,sha256=s2qsDEhcEVxBsVjxQduYhej6dMosoPhdPeR3Drl2aXA,1005 -django/contrib/sites/locale/nn/LC_MESSAGES/django.mo,sha256=m1SUw5bhDUemD8yMGDxcWdhbUMtzZ9WXWXtV2AHIzBs,633 -django/contrib/sites/locale/nn/LC_MESSAGES/django.po,sha256=i8BQyewiU2ymkAkj12M2MJBVbCJPp8PB8_NcQiScaD4,861 -django/contrib/sites/locale/os/LC_MESSAGES/django.mo,sha256=Su06FkWMOPzBxoung3bEju_EnyAEAXROoe33imO65uQ,806 -django/contrib/sites/locale/os/LC_MESSAGES/django.po,sha256=4i4rX6aXDUKjq64T02iStqV2V2erUsSVnTivh2XtQeY,963 -django/contrib/sites/locale/pa/LC_MESSAGES/django.mo,sha256=tOHiisOtZrTyIFoo4Ipn_XFH9hhu-ubJLMdOML5ZUgk,684 -django/contrib/sites/locale/pa/LC_MESSAGES/django.po,sha256=ztGyuqvzxRfNjqDG0rMLCu_oQ8V3Dxdsx0WZoYUyNv8,912 -django/contrib/sites/locale/pl/LC_MESSAGES/django.mo,sha256=TbH30lyyQ2QpAxc5XJKWCBNV3WUl7wOL4a-BKkeyUdM,944 -django/contrib/sites/locale/pl/LC_MESSAGES/django.po,sha256=-kQ49UvXITMy1vjJoN_emuazV_EjNDQnZDERXWNoKvw,1181 -django/contrib/sites/locale/pt/LC_MESSAGES/django.mo,sha256=PrcFQ04lFJ7mIYThXbW6acmDigEFIoLAC0PYk5hfaJs,797 -django/contrib/sites/locale/pt/LC_MESSAGES/django.po,sha256=Aj8hYI9W5nk5uxKHj1oE-b9bxmmuoeXLKaJDPfI2x2o,993 -django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.mo,sha256=BsFfarOR6Qk67fB-tTWgGhuOReJSgjwJBkIzZsv28vo,824 -django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.po,sha256=jfvgelpWn2VQqYe2_CE39SLTsscCckvjuZo6dWII28c,1023 -django/contrib/sites/locale/ro/LC_MESSAGES/django.mo,sha256=oGsZw4_uYpaH6adMxnAuifJgHeZ_ytRZ4rFhiNfRQkQ,857 -django/contrib/sites/locale/ro/LC_MESSAGES/django.po,sha256=tWbWVbjFFELNzSXX4_5ltmzEeEJsY3pKwgEOjgV_W_8,1112 -django/contrib/sites/locale/ru/LC_MESSAGES/django.mo,sha256=bIZJWMpm2O5S6RC_2cfkrp5NXaTU2GWSsMr0wHVEmcw,1016 -django/contrib/sites/locale/ru/LC_MESSAGES/django.po,sha256=jHy5GR05ZSjLmAwaVNq3m0WdhO9GYxge3rDBziqesA8,1300 -django/contrib/sites/locale/sk/LC_MESSAGES/django.mo,sha256=-EYdm14ZjoR8bd7Rv2b5G7UJVSKmZa1ItLsdATR3-Cg,822 -django/contrib/sites/locale/sk/LC_MESSAGES/django.po,sha256=L2YRNq26DdT3OUFhw25ncZBgs232v6kSsAUTc0beIC8,1019 -django/contrib/sites/locale/sl/LC_MESSAGES/django.mo,sha256=JmkpTKJGWgnBM3CqOUriGvrDnvg2YWabIU2kbYAOM4s,845 -django/contrib/sites/locale/sl/LC_MESSAGES/django.po,sha256=qWrWrSz5r3UOVraX08ILt3TTmfyTDGKbJKbTlN9YImU,1059 -django/contrib/sites/locale/sq/LC_MESSAGES/django.mo,sha256=gVY4vWlvDvWI9mSlFfIWqHP4a_NNFt-0CFzStPRXuoQ,810 -django/contrib/sites/locale/sq/LC_MESSAGES/django.po,sha256=zg3ALcMNZErAS_xFxmtv6TmXZ0vxobX5AzCwOSRSwc8,930 -django/contrib/sites/locale/sr/LC_MESSAGES/django.mo,sha256=jFpsqetfcXxdEnY3fX-Jhxa2f0iSALLqptW6jzk0flc,724 -django/contrib/sites/locale/sr/LC_MESSAGES/django.po,sha256=ZJ5yq6aiVQhms2KE2SQlNjxyzTYZuN0MxNbFylzlfTQ,955 -django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=pK37c--H6ehAyUtViy5viEbJwVtnhF5Z2O6tG28kWgo,714 -django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.po,sha256=FC_JIIl1hwnjzth_e1M3icJgnS1BibXZEtpK10Aef0w,945 -django/contrib/sites/locale/sv/LC_MESSAGES/django.mo,sha256=qmhdn3N2C_DR_FYrUaFSacVjghgfb0CuWKanVRJSTq8,792 -django/contrib/sites/locale/sv/LC_MESSAGES/django.po,sha256=dDVuuuHGpZIoT6dU48aT2j4nEuGrd6zZ3FiZEs3TCeE,987 -django/contrib/sites/locale/sw/LC_MESSAGES/django.mo,sha256=cWjjDdFXBGmpUm03UDtgdDrREa2r75oMsXiEPT_Bx3g,781 -django/contrib/sites/locale/sw/LC_MESSAGES/django.po,sha256=oOKNdztQQU0sd6XmLI-n3ONmTL7jx3Q0z1YD8673Wi8,901 -django/contrib/sites/locale/ta/LC_MESSAGES/django.mo,sha256=CLO41KsSKqBrgtrHi6fmXaBk-_Y2l4KBLDJctZuZyWY,714 -django/contrib/sites/locale/ta/LC_MESSAGES/django.po,sha256=YsTITHg7ikkNcsP29tDgkZrUdtO0s9PrV1XPu4mgqCw,939 -django/contrib/sites/locale/te/LC_MESSAGES/django.mo,sha256=GmIWuVyIOcoQoAmr2HxCwBDE9JUYEktzYig93H_4v50,687 -django/contrib/sites/locale/te/LC_MESSAGES/django.po,sha256=jbncxU9H3EjXxWPsEoCKJhKi392XXTGvWyuenqLDxps,912 -django/contrib/sites/locale/th/LC_MESSAGES/django.mo,sha256=4BQRjNbPJEQog4oe8CUHxHXszfZpw09Qa3XIku41eac,850 -django/contrib/sites/locale/th/LC_MESSAGES/django.po,sha256=OpTsWP-Whkf-j4qdjdOh-Gw72qJtiLyMllKefENTAcA,1047 -django/contrib/sites/locale/tr/LC_MESSAGES/django.mo,sha256=NxEKAJFmns0tWftlgyKXHJcBKBxo6ImR4SjIw8-zbgk,799 -django/contrib/sites/locale/tr/LC_MESSAGES/django.po,sha256=L9tsnwxw1BEJD-Nm3m1RAS7ekgdmyC0ETs_mr7tQw1E,1043 -django/contrib/sites/locale/tt/LC_MESSAGES/django.mo,sha256=gmmjXeEQUlBpfDmouhxE-qpEtv-iWdQSobYL5MWprZc,706 -django/contrib/sites/locale/tt/LC_MESSAGES/django.po,sha256=yj49TjwcZ4YrGqnJrKh3neKydlTgwYduto9KsmxI_eI,930 -django/contrib/sites/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/sites/locale/udm/LC_MESSAGES/django.po,sha256=vrLZ0XJF63CO3IucbQpd12lxuoM9S8tTUv6cpu3g81c,767 -django/contrib/sites/locale/uk/LC_MESSAGES/django.mo,sha256=H4806mPqOoHJFm549F7drzsfkvAXWKmn1w_WVwQx9rk,960 -django/contrib/sites/locale/uk/LC_MESSAGES/django.po,sha256=jmJKTuGLhfP4rg8M_d86XR4X8qYB-JAtEf6jRKuzi3w,1187 -django/contrib/sites/locale/ur/LC_MESSAGES/django.mo,sha256=s6QL8AB_Mp9haXS4n1r9b0YhEUECPxUyPrHTMI3agts,654 -django/contrib/sites/locale/ur/LC_MESSAGES/django.po,sha256=R9tv3qtett8CUGackoHrc5XADeygVKAE0Fz8YzK2PZ4,885 -django/contrib/sites/locale/vi/LC_MESSAGES/django.mo,sha256=YOaKcdrN1238Zdm81jUkc2cpxjInAbdnhsSqHP_jQsI,762 -django/contrib/sites/locale/vi/LC_MESSAGES/django.po,sha256=AHcqR2p0fdscLvzbJO_a-CzMzaeRL4LOw4HB9K3noVQ,989 -django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=7D9_pDY5lBRpo1kfzIQL-PNvIg-ofCm7cBHE1-JWlMk,779 -django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.po,sha256=xI_N00xhV8dWDp4fg5Mmj9ivOBBdHP79T3-JYXPyc5M,946 -django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=0F6Qmh1smIXlOUNDaDwDajyyGecc1azfwh8BhXrpETo,790 -django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.po,sha256=ixbXNBNKNfrpI_B0O_zktTfo63sRFMOk1B1uIh4DGGg,1046 -django/contrib/sites/migrations/0001_initial.py,sha256=CkzQ6PgORwSokrpq6Dj6u-WCEtcuSf4Pau6UyiBpSlA,1069 -django/contrib/sites/migrations/0002_alter_domain_unique.py,sha256=HECWqP0R0hp77p_ubI5bI9DqEXIiGOTTszAr4EpgtVE,517 -django/contrib/sites/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/staticfiles/__init__.py,sha256=eGxMURIKxiv-dE7rP1hwNgUhfzUN36-Bc58jCpHgmCE,73 -django/contrib/staticfiles/apps.py,sha256=q0Tfga23RfN9gCRPhopgChqOFqbtGfkc3-VeH1CRClg,413 -django/contrib/staticfiles/checks.py,sha256=rH9A8NIYtEkA_PRYXQJxndm243O6Mz6GwyqWSUe3f24,391 -django/contrib/staticfiles/finders.py,sha256=a46SgWyQxKlZY_UdfBnOLVvIs8HHQ7Nc8xy2EquuiD4,10158 -django/contrib/staticfiles/handlers.py,sha256=WLg6lshuKMSfFPfPLeDDer3_1TrEIg-OpCEdcp4uqEg,2329 -django/contrib/staticfiles/storage.py,sha256=mIhWdkv-HCRivTWdozB7vnRP7OjnWjZFarUlfjNj-uM,19152 -django/contrib/staticfiles/testing.py,sha256=4X-EtOfXnwkJAyFT8qe4H4sbVTKgM65klLUtY81KHiE,463 -django/contrib/staticfiles/urls.py,sha256=owDM_hdyPeRmxYxZisSMoplwnzWrptI_W8-3K2f7ITA,498 -django/contrib/staticfiles/utils.py,sha256=vrtb1g0Zt1idSZmBAAJ2qLOxGcyb7uWAxqlxZ7C7B40,1954 -django/contrib/staticfiles/views.py,sha256=CaWZq4AHEbOGW7mg_0mbkGUP8KJTlVNnofDBNIhRUo4,1264 -django/contrib/staticfiles/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/staticfiles/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/staticfiles/management/commands/collectstatic.py,sha256=sFhpb9H0M6v0HElRwdURTtkyXKqZfqfwd0C0J9EXP1w,15136 -django/contrib/staticfiles/management/commands/findstatic.py,sha256=R5CN75jGnvsV16MQ23eWake_EBE7NG94ExKL-54NqYQ,1539 -django/contrib/staticfiles/management/commands/runserver.py,sha256=uv-h6a8AOs0c92ILT_3Mu0UTBoCiQzThpUEmR-blj70,1318 -django/contrib/staticfiles/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/staticfiles/templatetags/staticfiles.py,sha256=P3ixCkaCvU8wTQYePYgZh0mWzyeE0y4SDXltF8TWB6M,537 -django/contrib/syndication/__init__.py,sha256=b5C6iIdbIOHf5wvcm1QJYsspErH3TyWJnCDYS9NjFY4,73 -django/contrib/syndication/apps.py,sha256=hXquFH_3BL6NNR2cxLU-vHlBJZ3OCjbcl8jkzCNvE64,203 -django/contrib/syndication/views.py,sha256=kXBT4kGjWBqmYVU0BFrMxMyqkdPeUjgIr-TGp5HvCS0,8617 -django/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/exceptions.py,sha256=V61tsXhjxUnLxfNVAQBUUhvSgvdDhLL3ajIS5TCGlyI,5275 -django/core/paginator.py,sha256=tUAUQ5XA_aSw1Ws-3qJfxXKzeVoKGiThoie9mbAj_6s,5884 -django/core/signals.py,sha256=uGRybHCJZ74by2HV-9JEWvfmnw_scuhcxaRP3UmZDjE,247 -django/core/signing.py,sha256=fRflzQnv2LA99q7vBCu3FXrtA_6mNefufR-6OlSQAtI,6660 -django/core/validators.py,sha256=M5V3aRs0qjsI1mM4-jKw1FHR4IPf-ntPGN3es2rVwZ0,18596 -django/core/wsgi.py,sha256=2sYMSe3IBrENeQT7rys-04CRmf8hW2Q2CjlkBUIyjHk,388 -django/core/cache/__init__.py,sha256=gfjHtXklQU4M8vluEtpJf-mG3q7UHATaGrluiYAzO_0,3711 -django/core/cache/utils.py,sha256=EakHn48OQtJP7OCLwkfACYZjVqjBtcdp86xGJbgPXVc,432 -django/core/cache/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/cache/backends/base.py,sha256=hn98WTdIDebq0oy5SAVq08-pkmGAbt75rLOCqAvuji4,9799 -django/core/cache/backends/db.py,sha256=qVcCIEztElRPXAbAG0a9vz27qgv1ZFjwunyDtSo_kEo,8939 -django/core/cache/backends/dummy.py,sha256=DtugeHHs1doIp2dV3CX5dkoJ5dj6bJ7rtKmHNBogBYg,1218 -django/core/cache/backends/filebased.py,sha256=osnUkOsfqK3dxctG8p3UtT4j_8TIs2Cq8Ppj4Bq9qSU,4884 -django/core/cache/backends/locmem.py,sha256=ibbZBYB3SVcbwgvEz-R5k33F4G_ycuxBoTfz06wWbDc,4198 -django/core/cache/backends/memcached.py,sha256=KigcrxWadhCmb8A1suMMJt0xxfTbsqfi0InDHXxP5YY,7956 -django/core/checks/__init__.py,sha256=_HP2dErvPYginc0R1Bwblq1R-gykN2sxcYCCyMaalHg,879 -django/core/checks/caches.py,sha256=jhyfX_m6TepTYRBa-j3qh1owD1W-3jmceu8b8dIFqVk,415 -django/core/checks/database.py,sha256=IpXyIS-TDTH4p037aG2l0qWnAVFtp8ozJEsXMvaoIu8,261 -django/core/checks/messages.py,sha256=ZbasGH7L_MeIGIwb_nYiO9Z_MXF0-aXO1ru2xFACj6Y,2161 -django/core/checks/model_checks.py,sha256=Gif4kfndBdBe4sc2NfLThe__qKcJBY5eqD-2Oh6takA,6183 -django/core/checks/registry.py,sha256=qk77K8-s8jfZR0ej7Rx-iemsXEkKF47d0VB4pmEnqa8,3108 -django/core/checks/templates.py,sha256=GnnM1ZW3CIk22KmyK094qzgGIrxmIULFGfPPuvnArFI,1185 -django/core/checks/urls.py,sha256=lA8wbw2WDC-e4ZAr-9ooEWtGvrNyMh1G-MZbojGq9W8,3246 -django/core/checks/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/checks/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/checks/security/base.py,sha256=JsF8UvJLlWXF2ysswWaT08Mqd6KDt4weOUr1-spCZt8,6743 -django/core/checks/security/csrf.py,sha256=CH09reOHXQEdCMqhlejyh0IsGwDQkFeHRYO25glZTYE,1259 -django/core/checks/security/sessions.py,sha256=vvsxKEwb3qHgnCG0R5KUkfUpMHuZMfxjo9-X-2BTp-4,2558 -django/core/files/__init__.py,sha256=OjalFLvs-vPaTE3vP0eYZWyNwMj9pLJZNgG4AcGn2_Y,60 -django/core/files/base.py,sha256=E2Tanv7zjeBZYrGgph4FShEMtv1MPN0fs1mS_L-JOiY,4984 -django/core/files/images.py,sha256=_lnhvkwnXJ_Dih6nNIAm9UvTwxOd7CSPi4MjPVxMybY,2377 -django/core/files/locks.py,sha256=nn0KJG_yXoIT_pHqzeZhBkQsA1tghaVzN-p4DA5VER4,3512 -django/core/files/move.py,sha256=1R3xTJKI9Plo0xRknz-Uv2_QQRw_vmr-rUEcrTJloMA,2956 -django/core/files/storage.py,sha256=tEzJUiMS6W_dk0IceFRtqAwi1vMC7H-wFjocBe7zN94,14633 -django/core/files/temp.py,sha256=jR1S5j-UtRMbQEYpHAY-yffp6QCKxngbzqi6MA1tOwI,2501 -django/core/files/uploadedfile.py,sha256=hHaPethGK2DEBIZzf7UeSRVznea4qHgsv_zHWjQe5ho,3928 -django/core/files/uploadhandler.py,sha256=n4edWZI6txsO-UTW6L3X5aX2krSr7rxu6h5LQwdR_48,6539 -django/core/files/utils.py,sha256=5Ady6JuzCYb_VAtSwc9Dr-iTmpuMIVuJ3RKck1-sYzk,1752 -django/core/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/handlers/base.py,sha256=nF21s4mXxClfbkT4pQ1MSLlcJVXi1RqfVshDcUSw0ow,6867 -django/core/handlers/exception.py,sha256=SoirxgN-UU96fJMJ_LtBbPE4A4WXgYUc-sKo64LsmnQ,4691 -django/core/handlers/wsgi.py,sha256=8mRSLDdUkPebrtjdcJpdl5OQufxzZemjDg_f2KDCdAc,8029 -django/core/mail/__init__.py,sha256=LBC94qDGLULxasR97XAb0xGssr29-EbNUTDpbtnQ6iE,4484 -django/core/mail/message.py,sha256=vyEe2o3YC0rvabe3PXh4DHXtnjR0lrQ4ySdgXsfRcy8,17159 -django/core/mail/utils.py,sha256=nUQWqzPAZfqWY2J7SsYfVlihYMYz6i_A8H5D0pSkBvo,452 -django/core/mail/backends/__init__.py,sha256=VJ_9dBWKA48MXBZXVUaTy9NhgfRonapA6UAjVFEPKD8,37 -django/core/mail/backends/base.py,sha256=f9Oeaw1RAiPHmsTdQakeYzEabfOtULz0UvldP4Cydpk,1660 -django/core/mail/backends/console.py,sha256=l1XFESBbk1Ney5bUgjCYVPoSDzjobzIK3GMQyxQX1Qk,1402 -django/core/mail/backends/dummy.py,sha256=sI7tAa3MfG43UHARduttBvEAYYfiLasgF39jzaZPu9E,234 -django/core/mail/backends/filebased.py,sha256=OPRc5lDsB9Gble251fwXp0oq1qKeZM9T2JTcZwL_5js,2715 -django/core/mail/backends/locmem.py,sha256=OgTK_4QGhsBdqtDKY6bwYNKw2MXudc0PSF5GNVqS7gk,884 -django/core/mail/backends/smtp.py,sha256=TE2v-96rSgN7nZ_3CfrNc7-0Utk4ALB3obRw-TXfz90,5302 -django/core/management/__init__.py,sha256=WHEr3W3YgriQXmQ0osrNqh0eV6KMjZA0oW6YIl880tc,15323 -django/core/management/base.py,sha256=O9HYlEe3B5wNdIv3Hbpay-nunhnFP1Xm_wHeuIeDEuY,20363 -django/core/management/color.py,sha256=jAThS-IMFpjAFQ15P6Ncv7ze33dR1gFz_fXfzHBrcnI,1821 -django/core/management/sql.py,sha256=bnxEUUIJScj6A67s0txpq4RT8sh0n-RS5ZxcNqySaAU,1921 -django/core/management/templates.py,sha256=x7PeOu2FCAFOMc3v0Y95s_LJQVmCBFv-g5RqUXNoH5c,13714 -django/core/management/utils.py,sha256=kZFPEyKenZUWEaz1Ko8c5XScI7MhmHjloPfWyiaHMCA,3490 -django/core/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/management/commands/check.py,sha256=nwmRA9rdeavDPmIpZGmUG79fftjradKtrogNIN4CakA,2312 -django/core/management/commands/compilemessages.py,sha256=F4zYpo3xuK30ri5Ja5RquPsP-esQJ3DHhkz6SNmsqNo,5073 -django/core/management/commands/createcachetable.py,sha256=zgcn_QHH_fTh181L1pcRBmRVrNCUgQPyGyKxahQ8kvI,4376 -django/core/management/commands/dbshell.py,sha256=OeexBQJXEUArOKWGKpBSsaA043X1UokzNWc_EDbJi5M,1240 -django/core/management/commands/diffsettings.py,sha256=3as-r5_kfS8lw93SO7xUNs12p_IGVOzG43UTLdcMXx8,3369 -django/core/management/commands/dumpdata.py,sha256=uJ1znSWHk06pugtNdgly_gfWaNpQwOtqI59CgvJHI-Y,8607 -django/core/management/commands/flush.py,sha256=9lJy_cGMajdVmrLwdFpYqDCN89G69xYcjwBNfOpkRVc,3590 -django/core/management/commands/inspectdb.py,sha256=gqP7PCdnmdAPI1YHOeuheG-7qEl9Ch-697rFaFJ5J40,12852 -django/core/management/commands/loaddata.py,sha256=rXZ31_IItpXlzAKf2S9X1TOCFGKQcG3OVrGbJJ5p_1Y,14267 -django/core/management/commands/makemessages.py,sha256=0fzXP5GmPGfWJkoQ_reY8G0Furt5tT1rWXPfa2FBL80,27468 -django/core/management/commands/makemigrations.py,sha256=OMeTnpJfYla4xQicyJLCmUmHwH39_jSebzREdLyVyfI,14261 -django/core/management/commands/migrate.py,sha256=Pk4ZVi3YlnCm-ZN0lB0fp_XzKAHHBROA1pW9c8o3Oio,14044 -django/core/management/commands/runserver.py,sha256=X1wCUWzjCeL8_nLnCwrVaJD2Od0zdNezguiq0maNYgI,6347 -django/core/management/commands/sendtestemail.py,sha256=quvNqm0lfl3vvDfL0S0pBtW1te7LGcYNUrrac4lMAAg,1488 -django/core/management/commands/shell.py,sha256=BROjrvPNCp1kC6jArrOEgzdyj0f6MNh4p760w2NdCyE,4055 -django/core/management/commands/showmigrations.py,sha256=OQ2ovRjgy4A_LRUtFe6u2siUn0xqUBD-Qj3o7Ke5Rqs,5333 -django/core/management/commands/sqlflush.py,sha256=mNxqSBp-fF36h3JMtEsDvYzCysxDA5R0IjhyiYyDMiI,795 -django/core/management/commands/sqlmigrate.py,sha256=bKBsq3ldex8SR8GhMnrA7FS8kpXGjjy8lax_EL6Bc3E,2742 -django/core/management/commands/sqlsequencereset.py,sha256=hCyc6og7K4cDbVflf85lusgoQz0fWiOylo6Jtlold8U,872 -django/core/management/commands/squashmigrations.py,sha256=m__NLsjU9-4YHJKOfcMmNdkklbLTEVLJ4epxpLjQVCM,9351 -django/core/management/commands/startapp.py,sha256=rvXApmLdP3gBinKaOMJtT1g3YrgVTlHteqNqFioNu8Y,503 -django/core/management/commands/startproject.py,sha256=ygP95ZEldotgEVmxDYBPUyAedNQTTwJulKLinGUxZtg,688 -django/core/management/commands/test.py,sha256=SexB7-Cdz4P3E9BcH8eGPOHuTKE5d0tCzyWfKNBQ0S8,2231 -django/core/management/commands/testserver.py,sha256=Veo-U69NUEyFuM_O9tG7GjRZ3aR2vWzcaVWahAIdS_M,2117 -django/core/serializers/__init__.py,sha256=74Jfha4K1Jxuciz0JCUPqXVUbGAqM0WhkzROJ1-Vfyk,8201 -django/core/serializers/base.py,sha256=AdJDQc0c2XXwsBrZs7VM8rZr6pUsP4JCJIYBXDc0EGc,7732 -django/core/serializers/json.py,sha256=sKfzArRjK2zNaRUxYRBbUWmoQfDUKzyKdIKu1gBeKnc,3352 -django/core/serializers/python.py,sha256=BIJQvWkHt0AAAL3oM_TVM2foFwqNRmx4XDIHcrrazxc,7320 -django/core/serializers/pyyaml.py,sha256=SXwXHjs0_29tycOtXXs-lWGS--SBBVeHlNb-rjheCak,2674 -django/core/serializers/xml_serializer.py,sha256=5TnYdZtx4uWbgCOf-xrknNtJNM7KvObtaCjpxg0CHxY,15138 -django/core/servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/servers/basehttp.py,sha256=e60X0mo7GHl6SAR7w-s4NT4YI9n9eeHpWLZvt4ZhqT8,6065 -django/db/__init__.py,sha256=1mrVglcKwooIWzGxQPgRevVkgd1iBAa7ESWPUAZNcS8,2128 -django/db/transaction.py,sha256=tHQFzfrcupqrrv_Ux8wvRKYOsEi8WiwYdMHX7wTpjqY,11229 -django/db/utils.py,sha256=jDaaur7BVLCU87RRPCS9gBW_I_QOdraOk4f1vWn3cXY,9790 -django/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/ddl_references.py,sha256=dBg6xSNpyH3YdHInd5afAo6oU_USpv828lnrg78tmug,5792 -django/db/backends/signals.py,sha256=rAFB5bUdnk5jckIT4PwVwEuE6aj4dbtasRHcRnIyH6Y,95 -django/db/backends/utils.py,sha256=14Jf5WWbG4qQ49iXQmguidWt4WuxEDyWghoiG6oacyE,8688 -django/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/base/base.py,sha256=qLA8aM_ZOJleEXDKsYssvbJOyGcGweUI71BkwiW1wBs,24431 -django/db/backends/base/client.py,sha256=r6dcRhY5tPx9lzDZhbcDC1z9LDdXxRe_vtkgYQSmuEI,513 -django/db/backends/base/creation.py,sha256=jMCa7C65YTELVTteIbGPoLtilqnNNB-ay9TcM2iL-tY,11972 -django/db/backends/base/features.py,sha256=yDtSTHZS-IW5MVG6AzEWTa-XzfsEuv1aI8UKorAKe9k,10909 -django/db/backends/base/introspection.py,sha256=G0ejTl_mFSCse_4kbAcqssS_3x20wSyPQDgvzXNmJkQ,8035 -django/db/backends/base/operations.py,sha256=vJWV22M8sfN4czjzroZQ903rU9Py-KwP8DImqROUGgA,24665 -django/db/backends/base/schema.py,sha256=dvBBGiZ6VmRes-nbMbPcCUIlyQJ8ruzTFjgQjUmdA3c,49505 -django/db/backends/base/validation.py,sha256=4zIAVsePyETiRtK7CAw78y4ZiCPISs0Pv17mFWy2Tr4,1040 -django/db/backends/dummy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/dummy/base.py,sha256=ZsB_hKOW9tuaNbZt64fGY6tk0_FqMiF72rp8TE3NrDA,2244 -django/db/backends/dummy/features.py,sha256=m_ZHTydiox34PXZGj9AbbpjZni9UW44eKvz_VNbM7Ug,153 -django/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/mysql/base.py,sha256=FZoDgaLnLLxhEN8i-nIIRaz-B2dM__jFMS_gIEstjWM,14072 -django/db/backends/mysql/client.py,sha256=vvt1-wevYeQR4JmklrmZ_nrUrXdMaAXQOV7j42XZx4M,1834 -django/db/backends/mysql/compiler.py,sha256=J30bWgLviaWfUktegN7YnXmp6CaEZ6u8VeuiN4DUk4E,704 -django/db/backends/mysql/creation.py,sha256=vFhQ2zYbGrC_TrIc7wBcbh_i7apGD-t0ZG0h3vD_IJQ,3265 -django/db/backends/mysql/features.py,sha256=t6RO73Hp-Ji397xqN4wnhdRvxVLyu9OgHyXUHuh6uIY,3538 -django/db/backends/mysql/introspection.py,sha256=J803HLgJTly4WwD8_uWGUjmUjDJwAW-FyKFWZIF1i5I,10201 -django/db/backends/mysql/operations.py,sha256=fBXLCjk1t2rCTwuNNZFJm5je4RAUKYsiJyE62Do0PJs,11358 -django/db/backends/mysql/schema.py,sha256=jXTAKbeFSFu5g1WVmHtX7B4UJFWoF0DJN66birCgOQs,4479 -django/db/backends/mysql/validation.py,sha256=C0MLttf0KGEU9i0N1jrXwprRgSV0uT7qL4Eu9yllpRQ,2565 -django/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/oracle/base.py,sha256=Bjx8wY7N9oGDSjvKP96-9j2IbqCSrNrNl_3Sd1mSb58,22638 -django/db/backends/oracle/client.py,sha256=efoAYVH76x_AMMqq1h8JNaCpq_UtlktyuYuXLZfze4E,331 -django/db/backends/oracle/compiler.py,sha256=I4vNNZ3qYrZ8mV4yL4YCyDOyExUaFbrYOcA-gywqWgg,2437 -django/db/backends/oracle/creation.py,sha256=-oOjmWy8kXznf3VH7TQt2Miq3B0Xvn7hy0cvuTPa6BM,18640 -django/db/backends/oracle/features.py,sha256=Zb68pUqzB79OEHDWtTkBYdxlDfoDk6hZiCyDAP2pqqc,2088 -django/db/backends/oracle/functions.py,sha256=PHMO9cApG1EhZPD4E0Vd6dzPmE_Dzouf9GIWbF1X7kc,768 -django/db/backends/oracle/introspection.py,sha256=MKc51u-u3kD3lPJIEUkWHSfByHOu2-CQpo0Q9KD2NLs,11946 -django/db/backends/oracle/operations.py,sha256=KMN3WeC_Tt3VGuYXMevqq9pq2Yopwauo54GXOJdqnlo,23939 -django/db/backends/oracle/schema.py,sha256=GFR1jojMnqcPiZmf00iWYK2aD-ao5caTH09iUyaY0pc,7358 -django/db/backends/oracle/utils.py,sha256=nQVsE_cwQZeyvLwFhZ_UTvGs3SdoGCzeCJ82UD3Rhj0,1457 -django/db/backends/oracle/validation.py,sha256=O1Vx5ljfyEVo9W-o4OVsu_OTfZ5V5P9HX3kNMtdE75o,860 -django/db/backends/postgresql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/postgresql/base.py,sha256=lY3G4HLKY4gCR08T_rC4khafOcLrDtqBLfcuMXqaBAo,10558 -django/db/backends/postgresql/client.py,sha256=EbqEen1Nkp5sb4RVn1tawrbEioXQjbGI6M72FfTg79w,2382 -django/db/backends/postgresql/creation.py,sha256=rGjKMO8KH-vKrrHXrSInMvthrtkTMyDIgIQB5p6GmnQ,2928 -django/db/backends/postgresql/features.py,sha256=v_5YfdP7eSpGAXyPIlBe8aiSYuWb8eiNJD6l0NxyOp4,2429 -django/db/backends/postgresql/introspection.py,sha256=B9SNIsDMP_TX-YmrvGq2gPeTuClp41x3RrxQEY4eafs,11775 -django/db/backends/postgresql/operations.py,sha256=0eDv7U7RMBeeh8rVHBSiPNLpZb_uHtaLja0alxUbkuc,11123 -django/db/backends/postgresql/schema.py,sha256=10GrHRQlQ5j1pGh6vjdxgWP7yChyBmpi7605asUA8ic,6402 -django/db/backends/postgresql/utils.py,sha256=3GXuTEoyPNqfUcXOCVnC-gw7xdAV17ZvZYb4Qu6f7Mc,176 -django/db/backends/postgresql_psycopg2/__init__.py,sha256=5v4iwk9d_ENPQMdjDfQxvPKTlOXxfaWsnaR-qgCPMcM,261 -django/db/backends/postgresql_psycopg2/base.py,sha256=g2aAztfMtAL93F8tGmO1W2YQbmr-w5sm_Obopi4JHX4,40 -django/db/backends/postgresql_psycopg2/client.py,sha256=IRCmGthBTRhO2RVGdyuxWLJowAc5H1_-1azwzrvJ-Ag,42 -django/db/backends/postgresql_psycopg2/creation.py,sha256=K2mX3uKrYKPu6snParWOUpdPE7njMl7d5F_9rWTEMy4,44 -django/db/backends/postgresql_psycopg2/features.py,sha256=5wEMe_Zj-SGxQ5AF06SH7ghMuamD_y7ddvJ9LBqZxhA,44 -django/db/backends/postgresql_psycopg2/introspection.py,sha256=uhjKJBighkTzV0JeFYJsYedni4w5I_N9LpIwDaPmOsE,49 -django/db/backends/postgresql_psycopg2/operations.py,sha256=xkIOUX-rLI6YjTKtEHYEK89whe2J1T-FKNVRBW2Jbh4,46 -django/db/backends/postgresql_psycopg2/schema.py,sha256=R-3T1eOq2-yD66L2--ICntPF2ZsLZ-Ok4TV4FGxyG5c,42 -django/db/backends/postgresql_psycopg2/utils.py,sha256=eneNs5az6_Q07x0q991G7ZABYgE-YgMg9-Xk35LT7PM,41 -django/db/backends/sqlite3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/sqlite3/base.py,sha256=79X7iB3L9yeqh2ASIat0g5TZZGoI3aBELsS2Vph4Obc,18674 -django/db/backends/sqlite3/client.py,sha256=wiSj2r4sCG-n3SwFKJV2mVEw9GFXiyFbHgD_Ic_DjxA,311 -django/db/backends/sqlite3/creation.py,sha256=eQToSSfszeS-SyQzihO4FAcEFREKrNlJbQReTaFRUXk,4866 -django/db/backends/sqlite3/features.py,sha256=tBceqqJ_bGtQDLVHrWzFS3acvTNAVechQMIY9utgRL4,2347 -django/db/backends/sqlite3/introspection.py,sha256=YJYVQfFZOUDYKuxAAH-ZnGRZuh_yjaumboYvi8FxdQ0,13221 -django/db/backends/sqlite3/operations.py,sha256=7oRNkRsIHdZyBSFpHBfmSJO1S1GbzR9Z1QwGqzB-hPg,11862 -django/db/backends/sqlite3/schema.py,sha256=Qsw58FtoeInfasOFncAFD4T39zXkqSU8ISZO3iRiy5g,17548 -django/db/migrations/__init__.py,sha256=Oa4RvfEa6hITCqdcqwXYC66YknFKyluuy7vtNbSc-L4,97 -django/db/migrations/autodetector.py,sha256=laJi1HxlaEB4HsBbn4pdVytV-_zUClv7BgLClIm8bu0,59878 -django/db/migrations/exceptions.py,sha256=LCj-jTC1MhrKCyarNxhWWhQFIU2DGkUV4AtLwIEZ1MQ,1205 -django/db/migrations/executor.py,sha256=3goKbSuwv_VMZJd2bnYp9B9KU1Hn6Sy3wJpZ2L5CMHA,17479 -django/db/migrations/graph.py,sha256=7dVuynqL0AtIAug6wvaHT8YWB68pbnLrHFoPwFMjX-Q,15508 -django/db/migrations/loader.py,sha256=VZtwhgnKJ3jIv58o6aMGoNY_qS5PhIPY8k5EZdn6k9I,14786 -django/db/migrations/migration.py,sha256=XsGy8wvCWZBX-s3oGzovrwfYd_ffz0RYhWZ2D08AVug,8235 -django/db/migrations/optimizer.py,sha256=c2dt0t4AOVKLOCYYWZJm9C0IteVzTkD8D7r2Lh4A8iE,2803 -django/db/migrations/questioner.py,sha256=N18IZJrKLzaKFb9781l-Bnq-py0R-LEstzhGHnTLJoQ,9839 -django/db/migrations/recorder.py,sha256=YV9VB2IWX9n4Qf3EuZyryu2OHGIy2syacpaW4LNktIc,2891 -django/db/migrations/serializer.py,sha256=UWpSdTpc8JJm5GaPrDENs11sU8q0_9IenXUkFKMllrs,13457 -django/db/migrations/state.py,sha256=jFbM1wda7EwjrliAiz1HOFKDUbIpDGqSQSHynkQhJdU,25204 -django/db/migrations/topological_sort.py,sha256=M8VCyxJq-OOn-i-d6HgFYi0A77iOO7H6-iAjlqabywE,1141 -django/db/migrations/utils.py,sha256=ApIIVhNrnnZ79yzrbPeREFsk5kxLCuOd1rwh3dDaNLI,388 -django/db/migrations/writer.py,sha256=p_oLWrhPVvNrgpxXNTcfTLSHBGXOJSo5Ax4yHinXHCQ,11085 -django/db/migrations/operations/__init__.py,sha256=AsJk4Z1G6-hLJRWkyOLpP3lApxn4OmP4h1yqPrnUlfU,700 -django/db/migrations/operations/base.py,sha256=tYSvlbstzKKr2VSHnsn7PrKr8FL748C3oc253Auds4k,4830 -django/db/migrations/operations/fields.py,sha256=0PflYROnEv-J7Mayci7VOX9HtshT-pF_P_LSSexq0i4,13496 -django/db/migrations/operations/models.py,sha256=KLsnlPqlyqoHV-nUhFgiW4_OzCUwP39_0rJXhLgGuOM,32632 -django/db/migrations/operations/special.py,sha256=6vO2RRgaUPnxEjbkTX3QwAN-LaadZFHYpFHouAaMmig,7792 -django/db/migrations/operations/utils.py,sha256=E1pAxwoutzNe0TDZBTaGwjtu7p2Vmt14sFidLl_q3OI,527 -django/db/models/__init__.py,sha256=WL0qmZ8SIT8XaOaMcICSheau1rQ2zSOBC-G97P6Atdw,2928 -django/db/models/aggregates.py,sha256=8UxgzXRT57RuQVsxppfD10Z37-1o5bzIyWoeBHvA04w,6821 -django/db/models/base.py,sha256=cQJEIh3Uo4FZ9WsaaC82OEbiuAiHqZHqMqkI0SKsP1Y,71296 -django/db/models/constants.py,sha256=BstFLrG_rKBHL-IZ7iqXY9uSKLL6IOKOjheXBetCan0,117 -django/db/models/deletion.py,sha256=wG5lFqNLzIl60u9ARCmpZqPY-F3hrpcc4Q9GI9jMFgA,13584 -django/db/models/expressions.py,sha256=KunNfzMtw_ajODKF7ATlFLrIMwRqUqoJQnXd1NewdwU,47502 -django/db/models/indexes.py,sha256=PjGjFIUEeNGqWsYVou2txCNV8pmUeb-Noc8pwEMP7d4,4759 -django/db/models/lookups.py,sha256=0wg5loWajDmX4w0gjX92WbKfQsTrIsnq8NvnAqW4iz0,20976 -django/db/models/manager.py,sha256=SPZrZ3SUTGFQd7J23mcH2sj16HMTfs1M4oZQg2GlUoQ,6828 -django/db/models/options.py,sha256=ZSXf8SObwmC2iF2bEY-9skbh42leTBOZJgzZmcptSVo,34835 -django/db/models/query.py,sha256=crU2Zc5tbvZ37Hq_FamFVqTuEitJVixUeX0dfNtPZA8,74693 -django/db/models/query_utils.py,sha256=mSQtOVHWfqapebkzwTxsc1n97LMyjU7F9Nc2PpbOomk,12027 -django/db/models/signals.py,sha256=CJt6W3JnXMzRc2BQP0s_Qj6Q_PSC4hBTYnWyPatbjoU,2161 -django/db/models/utils.py,sha256=1mQ_zPVpHleO_BFdEU714a09NMvSmR65-T3P31hhMEk,852 -django/db/models/fields/__init__.py,sha256=Fj9F7DO5aqOlNPAZZHwgx_Kq9CSibXW3WzEJW-Hr5FE,85914 -django/db/models/fields/files.py,sha256=NDHAitUxI4O5k7RW74yIviqdJIZSezb60nknXlhgLPY,17906 -django/db/models/fields/mixins.py,sha256=5Ckq4d1cZODHfViLGcUyuJwvVPyV-Kfd2aZJzY4ckxc,816 -django/db/models/fields/proxy.py,sha256=fcJ2d1ZiY0sEouSq9SV7W1fm5eE3C_nMGky3Ma347dk,515 -django/db/models/fields/related.py,sha256=YSMq9uF8UETnnUfn-DHko46zY0Q870weHmYnzjfXX58,68335 -django/db/models/fields/related_descriptors.py,sha256=vONHdFpi4ARo3hruFYZYpLp6E8yuByGbQzpjWX-4S_M,49460 -django/db/models/fields/related_lookups.py,sha256=-T9rIa4aOgy3Uy8Q0QkTj8Npux0E8P4ZSVAf9jsMf6I,7023 -django/db/models/fields/reverse_related.py,sha256=j-YOys46oqP7T-8xfjz3_5FcOWR_hMBBp2xg8xfFmSs,10046 -django/db/models/functions/__init__.py,sha256=QliWCZZiyOGHEaBMAwujzgV-Zrf8O9bNCgqb8CxXkrE,1174 -django/db/models/functions/base.py,sha256=9vjosVnqGU82AvEtHlrvDoTgYMbJbvf2QBxuhWzRFMc,7155 -django/db/models/functions/datetime.py,sha256=7KlQP-hcAQCGQcka3695m5JZ08Oe8aEmSvowSQgIr_c,9967 -django/db/models/functions/window.py,sha256=quryNTlbAO5vImSRbIQNxyFJ7jAq_M_1vmuyZSCgyMs,2948 -django/db/models/sql/__init__.py,sha256=OcwrDD5reAtAe_L3iB6sm7uqzi1JOaoozN-p8veYZrc,252 -django/db/models/sql/compiler.py,sha256=6NWDvBQCKXXMtRosWS6YDbScxf9zHdKhh9B-u7eBvW4,66355 -django/db/models/sql/constants.py,sha256=p9_PSAOMk-5Gj2bR6mzrQZ5HGOFPxRCdxRk3Y8l1cXA,1039 -django/db/models/sql/datastructures.py,sha256=LPRTkrZ7Is1d4MMo29mWXV7s4W3u9f16UNAce3pk3a4,6721 -django/db/models/sql/query.py,sha256=tXt0czLKAc2iQvajqAGHeG7QANNLCF1mvgr0pcEFPz4,96644 -django/db/models/sql/subqueries.py,sha256=Hvu5xnsO4VLDDHKR6Q3h63VsiyASI3PCHQvU9i15G0w,7198 -django/db/models/sql/where.py,sha256=QQShEZva9Wa040FE_hfYpgUGPXBxm5JJBgTJcyWW4fo,7967 -django/dispatch/__init__.py,sha256=aZs1qtjOnhy8LWricxId1AQgpSUee-WCF-EzCj6o6qs,288 -django/dispatch/dispatcher.py,sha256=cZ9MkTFtcL366cFUAw8oOK9v9ofbhMWWyoL5aDG0P58,10848 -django/dispatch/license.txt,sha256=VABMS2BpZOvBY68W0EYHwW5Cj4p4oCb-y1P3DAn0qU8,1743 -django/forms/__init__.py,sha256=S6ckOMmvUX-vVST6AC-M8BzsfVQwuEUAdHWabMN-OGI,368 -django/forms/boundfield.py,sha256=aZmGbbiIJ_yA5iPw-sLCwWycQsCeKKaCFPVie7EzhVY,10749 -django/forms/fields.py,sha256=U76WvH2B-EeHm5edo1dRFtexkvUrNlzKbFCj_s4sjHU,44053 -django/forms/forms.py,sha256=WcLs14zO32u6QwNMOymzZXlh_hYSnrk5P1CgZIhixEM,20240 -django/forms/formsets.py,sha256=dkr74GXWf9L-dfcEe7JRmF_pqR2rIwOi7F7OxV5FmJY,18191 -django/forms/models.py,sha256=UVhQ7V6liv0TobbrjwTRs4yOZV-4zPQGzgzEJ-5xE3o,56012 -django/forms/renderers.py,sha256=mcfyrCSCSAYQTmII5g-82ZynuAv4S_P4FxLQ59ZYQck,1972 -django/forms/utils.py,sha256=3oMmxvzaruMZPMcEYCLOS8MUH4NK6SIyiAhW2kTVeME,5736 -django/forms/widgets.py,sha256=wfWrMZ3dJ_8WVqNaOoxG_OhNsYM2-3Gu078DCsytYKE,36684 -django/forms/jinja2/django/forms/widgets/attrs.html,sha256=_J2P-AOpHFhIwaqCNcrJFxEY4s-KPdy0Wcq0KlarIG0,172 -django/forms/jinja2/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/jinja2/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/jinja2/django/forms/widgets/clearable_file_input.html,sha256=4dmO2jGov35wB0hbbEQJG_8CWcD1czjWy6ViQ9TIJcc,467 -django/forms/jinja2/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/input.html,sha256=_Cr3sQVyv3alcf77UOGvxAabSINCATkVX3qqlEP_ciE,174 -django/forms/jinja2/django/forms/widgets/input_option.html,sha256=ZjX4w2EeSaPnWjhBiVpi5L-IriTjQ5s7fsS6gTMy5U0,205 -django/forms/jinja2/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 -django/forms/jinja2/django/forms/widgets/multiple_input.html,sha256=O9W9tLA_gdxNqN_No2Tesd8_2GhOTyKEkCOnp_rUBn4,431 -django/forms/jinja2/django/forms/widgets/multiwidget.html,sha256=pr-MxRyucRxn_HvBGZvbc3JbFyrAolbroxvA4zmPz2Y,86 -django/forms/jinja2/django/forms/widgets/number.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/password.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/jinja2/django/forms/widgets/radio_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/jinja2/django/forms/widgets/select.html,sha256=ESyDzbLTtM7-OG34EuSUnvxCtyP5IrQsZh0jGFrIdEA,365 -django/forms/jinja2/django/forms/widgets/select_date.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/jinja2/django/forms/widgets/select_option.html,sha256=tNa1D3G8iy2ZcWeKyI-mijjDjRmMaqSo-jnAR_VS3Qc,110 -django/forms/jinja2/django/forms/widgets/splitdatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/jinja2/django/forms/widgets/splithiddendatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/jinja2/django/forms/widgets/text.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/textarea.html,sha256=Av1Y-hpXUU2AjrhnUivgZFKNBLdwCSZSeuSmCqmCkDA,145 -django/forms/jinja2/django/forms/widgets/time.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/url.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/attrs.html,sha256=9ylIPv5EZg-rx2qPLgobRkw6Zq_WJSM8kt106PpSYa0,172 -django/forms/templates/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/templates/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/templates/django/forms/widgets/clearable_file_input.html,sha256=4dmO2jGov35wB0hbbEQJG_8CWcD1czjWy6ViQ9TIJcc,467 -django/forms/templates/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/input.html,sha256=522egUaO0QWqTWwqBIEdTZI23I_fqKpWw64hMEaccm0,191 -django/forms/templates/django/forms/widgets/input_option.html,sha256=ZjX4w2EeSaPnWjhBiVpi5L-IriTjQ5s7fsS6gTMy5U0,205 -django/forms/templates/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 -django/forms/templates/django/forms/widgets/multiple_input.html,sha256=HwEaZLEiZYdPJ6brC9QWRGaIKzcX5UA2Tj5Rsq_NvOk,462 -django/forms/templates/django/forms/widgets/multiwidget.html,sha256=slk4AgCdXnVmFvavhjVcsza0quTOP2LG50D8wna0dw0,117 -django/forms/templates/django/forms/widgets/number.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/password.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/templates/django/forms/widgets/radio_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/templates/django/forms/widgets/select.html,sha256=7U0RzjeESG87ENzQjPRUF71gvKvGjVVvXcpsW2-BTR4,384 -django/forms/templates/django/forms/widgets/select_date.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/templates/django/forms/widgets/select_option.html,sha256=N_psd0JYCqNhx2eh2oyvkF2KU2dv7M9mtMw_4BLYq8A,127 -django/forms/templates/django/forms/widgets/splitdatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/templates/django/forms/widgets/splithiddendatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/templates/django/forms/widgets/text.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/textarea.html,sha256=Av1Y-hpXUU2AjrhnUivgZFKNBLdwCSZSeuSmCqmCkDA,145 -django/forms/templates/django/forms/widgets/time.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/url.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/http/__init__.py,sha256=5JImoB1BZNuZBOt5qyDX7t51McYbkDLX45eKmNN_Fes,1010 -django/http/cookie.py,sha256=7pFpsa7ITOB2LNv6lbXbt3DKwdJlFgsAKKSWFUmwO2w,1128 -django/http/multipartparser.py,sha256=xbOHPiGnO4mx7MyANA22hfduNKI1uKL5TSGrcVWepyE,24832 -django/http/request.py,sha256=93--k0OOpiRW-d6SbAnzXxbCUhXpvo2S_4wNbrgEo8U,20584 -django/http/response.py,sha256=7eN5TuQS2MEZ1HVpeGJPgp7527fNh7Y5hKjdZla4eWw,17512 -django/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/middleware/cache.py,sha256=6_rVV_p0NXY75nfrU0JOt56O--x8CQ6ZcbGWnzjW3Eg,7570 -django/middleware/clickjacking.py,sha256=4rzsG5m_Z2VabN7J_5ZVeFj14X3FAbs0iU5LKoBb9js,1733 -django/middleware/common.py,sha256=-C_VQObEpT9G9Y7OFx8UVNAwJhWQfSDicV0-WhEe-KM,8584 -django/middleware/csrf.py,sha256=L5zmV7loWuWktjUEUcFdPpjg5gXAPHyaO-zJpCpCasw,13363 -django/middleware/gzip.py,sha256=oq6J0L_1NLZuvV1F1MxuFPzdUS71301py0GWHBAmk2k,2060 -django/middleware/http.py,sha256=UO8H-fZpzpwiGDSD0sPoRqCAb3klksH25LFqkV6Dq8I,1636 -django/middleware/locale.py,sha256=QcxeqrDmZdEar1yhkGusYUIG0DdTlnkkf_E9L6SWy-o,3058 -django/middleware/security.py,sha256=he5CoJN5d5v61X2qDJr2eYGOetAK6X6l3O_1c0Zd69k,2016 -django/template/__init__.py,sha256=t5onT26DOSny4Qi7iz_a82M5WJydvPpkb6hFjE010CE,1871 -django/template/base.py,sha256=-abjmQn2vTQxlgnuMJ5JgJwvWBnTJFFtuv1QbwQCXgc,38215 -django/template/context.py,sha256=LkyuI1J-5iZk04ByzgQn7uxksqkTwWf7cHK--ucWIPU,9076 -django/template/context_processors.py,sha256=drfyVYugSe1lg9VIbsC3oRLUG64Gw94Oq77FLfk2ZNI,2407 -django/template/defaultfilters.py,sha256=DCLCHdfQkseWVBRZxvf1Iyhkbwc419gNzKW4djYmw3o,25806 -django/template/defaulttags.py,sha256=b88tlGSi5OWIPjwtoWmYmzsG8QXCagiea8fB8MWxNlU,49943 -django/template/engine.py,sha256=dWgo-JaCkgA0SCI_JmG5ZihzL0lbDZf5rTJyU1un49o,6886 -django/template/exceptions.py,sha256=awd7B80xhFB574Lt2IdIyHCpD6KGGyuKGkIoalr9deo,1340 -django/template/library.py,sha256=g2gi5FfSug-Wak2P4Weg7qGcwHrwIy47vse35YYkLbk,12812 -django/template/loader.py,sha256=-t5cTnWJrxtS2vyg9cguz4rXxlTBni4XoJUuqJNglPI,2054 -django/template/loader_tags.py,sha256=ZDcJWpCogd9NecVimLthqnSfdRV3yQInZ7_fnagWKQQ,13329 -django/template/response.py,sha256=dBq9wQvYEvCtHqpeK6Diw-yYkcQpbVDIeL22nckII3Q,5425 -django/template/smartif.py,sha256=QBvsTtD4YiyGoU4hXrW8vqR0CBAFOZGuDoRP3aGEgOs,6408 -django/template/utils.py,sha256=xQ-lHLzXrSFx4xc9E2Tja6MZHKGkKRRATxKwvCe3MPU,3665 -django/template/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/template/backends/base.py,sha256=qu6TlykN2JAUeQqIbiGujYG1dEsXZmAMpnzmLP0gSPg,2757 -django/template/backends/django.py,sha256=_w350tmHAMSLOw-b2o9rR0Wn6YX3QMkpHkkpvbo_EwI,4186 -django/template/backends/dummy.py,sha256=Nl313SxX1rxE1F-5AHCljgejrYpYCx-QXJpNUkQWXR4,1767 -django/template/backends/jinja2.py,sha256=bx8DcA2PqqzDmcgegY11pm5EhmD_gWTTLauGo91imL4,3504 -django/template/backends/utils.py,sha256=Wler787-GWAoQb6m7qaWdCfQoSBkHFLFECAdFe8xO_E,416 -django/template/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/template/loaders/app_directories.py,sha256=w3a84EAXWX12w7F1CyxIQ_lFiTwxFS7xf3rCEcnUqyc,313 -django/template/loaders/base.py,sha256=kvjmN-UHxdd6Pwgkexw7IHL0YeJQgXXbuz_tdj5ciKc,1558 -django/template/loaders/cached.py,sha256=n1t8aaDO_gq4aQUI2bFUSDDIE-SqrVzrXsvw661NTys,3669 -django/template/loaders/filesystem.py,sha256=OWTnIwWbVj-Td5VrOkKw1G_6pIuz1Vnh5CedZN5glyU,1507 -django/template/loaders/locmem.py,sha256=8cBYI8wPOOnIx_3v7fC5jezA_6pJLqgqObeLwHXQJKo,673 -django/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/templatetags/cache.py,sha256=otY3c4Ti9YLxFfOuIX5TZ7w12aGDPkyGfQNsaPVZ_M0,3401 -django/templatetags/i18n.py,sha256=Nzk-jyMfH9Z7jkNTQV_yRNVvftJDKYpIvJiRTtFLCuw,19093 -django/templatetags/l10n.py,sha256=__KS2RJf9mlS9EMzYooKoP6XquP4FDwyOr_xaD3TAAM,1689 -django/templatetags/static.py,sha256=om3cu4NVaH4MVUq-XPLxPVNlLUCxTbbp0qAVVSaClj4,4502 -django/templatetags/tz.py,sha256=HFzJsvh-x9yjoju4kiIpKAI0U_4crtoftqiT8llM_u8,5400 -django/test/__init__.py,sha256=5FrmvgBrxzZo5UVLW9HZ1iHBMMhcnXcNL5Y2xnaqVPA,682 -django/test/client.py,sha256=PY1YqhOaqguGApZHRmvRi9XePB6oP4CgjM7RMQk6OvI,26876 -django/test/html.py,sha256=su6cUczjfqucIrEhyp2Y_6JGH8uesJrpcvcbH1GTvvI,7570 -django/test/runner.py,sha256=nMc4VuyKDusaL8CyV0l3N_Pu0uGhwl-OxmXfHepDNN0,25346 -django/test/selenium.py,sha256=DFTUveBYZfODKHU_XN-UJpvm4VXeg-_uxTEH4SsC3fY,3271 -django/test/signals.py,sha256=BQlO0pXZTOdcbhgW1gJLc16WW2Q75wx_2wheG5kCh9U,6729 -django/test/testcases.py,sha256=pezhRHclmZiPt4TH5O0-hVSYNRNpibv7oY1ON795wOg,55089 -django/test/utils.py,sha256=8Wepq7h56ONrPu5t2LUWnu6OD5B6n0MfXhh7ordVO1U,28391 -django/urls/__init__.py,sha256=FdHfNv5NwWEIt1EqEpRY7xJ-i4tD-SCLj0tq3qT6X1E,959 -django/urls/base.py,sha256=ol5Wujd0NvWuBj8fQ66t6wx2nzWtCpVcg76uOvEqzOY,5529 -django/urls/conf.py,sha256=8Xug9NhJXDEysRXWrY2iHf0snfJMUmQkYZAomPltWMY,2946 -django/urls/converters.py,sha256=uukXCTD66n8NX_fiArq_s4p4to0oPqzuChNi6lpSAR8,1300 -django/urls/exceptions.py,sha256=alLNjkORtAxneC00g4qnRpG5wouOHvJvGbymdpKtG_I,115 -django/urls/resolvers.py,sha256=pPfTI9AAzEl_qerP-ndQwWzef1kyUsZvK9x8HTENpYo,25068 -django/urls/utils.py,sha256=VHDcmggNRHSbPJAql5KJhe7wX4pSjrKb64Fu-p14D9Q,2152 -django/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/utils/_os.py,sha256=CYxm1Ju2X5bl2fKKsYyCgemWdv6LPhEiDkaV3t_zf30,2435 -django/utils/archive.py,sha256=lWCX77dPtL6whlRjc2XaMqX8YP_9WPBMbw13n5Iu9Sg,7462 -django/utils/autoreload.py,sha256=QAj1ss_lF8hyTOMAACPso-Z6lNJM31044yLZFIIO-Hc,10325 -django/utils/baseconv.py,sha256=xYReIqcF2FFD85BqDrl48xo4UijII9D6YyC-FHsUPbw,2989 -django/utils/cache.py,sha256=yFegtgHpRPdb0KrTVmnDA66d-VEEmTRl8DQM-8hHzUc,16413 -django/utils/crypto.py,sha256=kmctPFVOMrZv-ZZJ_AnFsNSz3HBem3_J0vPqXPDo3l4,3092 -django/utils/datastructures.py,sha256=LECZu-BbSk2ZjunU1MGhC40lnA-12YuGEZ0uZp0zeOA,8559 -django/utils/dateformat.py,sha256=YyUXezYqG_R-hMqSh4Q50qyTfvReD_4TTHVD2c1zH4U,11508 -django/utils/dateparse.py,sha256=bg5SFVRFkUG4E06ZmU9HMvlVVz8OWTLW0OM9MAQXdF4,4731 -django/utils/dates.py,sha256=LczKNLLK2B6tg9FlrZUXgH9E9w14IqpuJHFUHLq2nCg,2295 -django/utils/datetime_safe.py,sha256=OnmCe-x1GMGDSiamEWqXEqAeTYyYrCAXUjKmgla1SmA,2837 -django/utils/deconstruct.py,sha256=hcO_7qassSI5dTfQ5CPttA8s3f9yaF8UnqKKma3bI6M,1975 -django/utils/decorators.py,sha256=6AftjSerJAtOAMjFGRbo3yTWvcaeRs0Li6jBslwPCAU,6796 -django/utils/deprecation.py,sha256=GvTCItgsfYJFhCvQ0pcmuyDDkaT5SCghhddns3YCzA0,3352 -django/utils/duration.py,sha256=e9u-nFSTt94c2xY91ZPILFei93yJbudefWlyCfYDd5s,1112 -django/utils/encoding.py,sha256=5CQjnr34WWGN2aoevn3CoQy8OZmaIBtWITi4_eybjU0,8994 -django/utils/feedgenerator.py,sha256=GLhiXNYDBZGJUa0FQU6nL-q1wvLaro01cdljGJn7AGI,16280 -django/utils/formats.py,sha256=cbcND7BRRcA3FW9OXKR0ZUVcPip4bHzDMDXjAq1broo,8945 -django/utils/functional.py,sha256=agR0TMLGS89cRAH0q1_5C7oq_jWG8UGWCR8AQzK_c1U,13347 -django/utils/html.py,sha256=yDvseYz1eYZo7COE01fhKugqho2tK1DUXKTVuL_ucIQ,13219 -django/utils/html_parser.py,sha256=r4_58apC-2nTlsb8U_IhAV6CkXyyomECwNUceXd1FjE,522 -django/utils/http.py,sha256=4cUoYHT_j2qV4WRbhOAmbl0OTNxBswsd8pdIYdWrI_k,15138 -django/utils/inspect.py,sha256=QWQvmtteqKw5m-EMj4ZK2ZwSx-DslUVk91z0Nkilylw,1688 -django/utils/ipv6.py,sha256=WBkmZXdtbIHgcaWDKm4ElRvzyu_wKLCW2aA18g1RCJo,1350 -django/utils/itercompat.py,sha256=lacIDjczhxbwG4ON_KfG1H6VNPOGOpbRhnVhbedo2CY,184 -django/utils/jslex.py,sha256=jOes0kfZoIIPxPMNWkXMJ6D3x3f95B5cZWKXo38Rhcc,7707 -django/utils/log.py,sha256=NlJM6lVKcNIPORfcmIEbPWihftyrs0UVn9SPFsBXv0A,6379 -django/utils/lorem_ipsum.py,sha256=P_BSLsITDP2ZW9EJPy6ciFneib0iz9ezBz2LD7CViRE,4775 -django/utils/lru_cache.py,sha256=4g-svLUmsvn2wlS-rPEJbFr_ODqoar5qxwIjGxrLlxA,256 -django/utils/module_loading.py,sha256=zmTlFLAdv20BhBHoPCDBBT2N7PAUrkYctAUDHF1kUPs,3649 -django/utils/numberformat.py,sha256=fuSLvYVK4lo_Wd71yWP5fxBKeOpMQ3fipIDkvw5TlHU,2476 -django/utils/regex_helper.py,sha256=ZNQL2n_QLFhDSSbOJUrV6LazOZ-L1BU8wROjlOP2MCY,12621 -django/utils/safestring.py,sha256=zI0FSoQ-pRtGzOP8vpxn9BePHXyTxMNh9hfrRNKV6EM,2473 -django/utils/six.py,sha256=ecocr7GKytCmp9FbyOLDUR4_0vngcOjMJItxTGnTRV8,30502 -django/utils/synch.py,sha256=xPLelilO5ExgCHStSIszcYCAADOsghfDERY4ehkMGtM,2550 -django/utils/termcolors.py,sha256=JrysYBjC72oq0WBL6EJ44A8ZEij_S7QsivoRQugxPEk,7362 -django/utils/text.py,sha256=mWw4XoUQAjE5i0bFd5OVzW9G2nXFYWVK4ui0RQBOtVU,14092 -django/utils/timesince.py,sha256=WVWenJ0639Kazt7-EhytpC5gnE99cAhP0azQasBcIaQ,2788 -django/utils/timezone.py,sha256=52BTXPDyAIDIjsbpM6AJ76VqMok7DtXN04aYHZjnR00,8234 -django/utils/tree.py,sha256=ZxMnEXezuaZPH1zrz5YggQZiSUuU9pxAfloM18JAc1g,4851 -django/utils/version.py,sha256=_XvHClAZhpqbwXr4wO5iUqT_BeuK2F8q6l21hL0Iy5U,2818 -django/utils/xmlutils.py,sha256=B3FOKaFNynp0fC1wliItPSKzNABSyc-0x897F7kEVj4,1184 -django/utils/translation/__init__.py,sha256=7-Prpm1Z_r4U9k5bC0QXtq1SZBx9H9txsz90k7spzuU,7499 -django/utils/translation/template.py,sha256=62Ipn0LYDaZwAPM9OQWgH8aKkuZ-xaIkj41bTio-1q0,9979 -django/utils/translation/trans_null.py,sha256=20q6ayK6V2aylDQzcFmtz-X3faye3SKedb9nDMl4opQ,1258 -django/utils/translation/trans_real.py,sha256=zgGTEZVPucPAnKOSrYKvs4dmPVs7R8ka68nVDdSkASg,18540 -django/views/__init__.py,sha256=DGdAuGC0t1bMju9i-B9p_gqPgRIFHtLXTdIxNKWFGsw,63 -django/views/csrf.py,sha256=TOnXES5w0BmUvyq7whGB6Z6Ds4-RotIVammFGN88UKY,6252 -django/views/debug.py,sha256=sDUdXdsVRLcJqccq7HqY6LDi0BaaUYNY3mHqpKLB0f0,20367 -django/views/defaults.py,sha256=Q7qxucjUHPoQmjjT_p93erxGXNaNK2THO4OZrhTMw-k,4260 -django/views/i18n.py,sha256=I73xYV604j0tek35-o1r0-LO__5aEXiT4v8K1gDDAUE,11735 -django/views/static.py,sha256=FS-Z_Vvd1By9dOQdg2NeqgSI_7NU4KRmAuqubAfndxo,4623 -django/views/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/views/decorators/cache.py,sha256=uSLzb61mCuFKIm8tR3Gs_NP1H7U-BOEU_QOc3IhBC_4,1705 -django/views/decorators/clickjacking.py,sha256=EW-DRe2dR8yg4Rf8HRHl8c4-C8mL3HKGa6PxZRKmFtU,1565 -django/views/decorators/csrf.py,sha256=xPWVVNw_DBidvX_ZVYvN7CePt1HpxpUxsb6wMr0Oe4Y,2073 -django/views/decorators/debug.py,sha256=Q_ul_n8M89WoPL87mDYomZ74mv_djuudZZ-b-uB1I6s,2569 -django/views/decorators/gzip.py,sha256=PtpSGd8BePa1utGqvKMFzpLtZJxpV2_Jej8llw5bCJY,253 -django/views/decorators/http.py,sha256=iMl98tvpUXs4mSg-d0S4soAV-E_ynr3MlRpwyff6CRY,4715 -django/views/decorators/vary.py,sha256=6wEXI5yBFZYDVednNPc0bYbXGG-QzkIUQ-50ErDrA_k,1084 -django/views/generic/__init__.py,sha256=WTnzEXnKyJqzHlLu_VsXInYg-GokDNBCUYNV_U6U-ok,822 -django/views/generic/base.py,sha256=QnQhKsAP8E83lwZo5Py8iOgjIoXfi_a6nrmmQoGfK08,7429 -django/views/generic/dates.py,sha256=V9AXAGCcMsiO5YxSFSQTCx19bACQaY_wBM5GH-5dbaI,25251 -django/views/generic/detail.py,sha256=X8fJS4Dg7qMSkstsDnGBpYw6Lmyr18tNYhRsoSBZNqk,6521 -django/views/generic/edit.py,sha256=bJAQ5HAK_upREBxmgUDWAbUMd56gw3Qk1Emiglmx7c8,8342 -django/views/generic/list.py,sha256=Z1ti5yZADM1rT-s_QqUyoRGDBeEX6rkoZxoE_CE0iMY,7388 -django/views/templates/default_urlconf.html,sha256=uTxHyCtjPV09MlXNBOjSq5meAfkhmJ72hCvlDOEtMwU,16595 -django/views/templates/technical_404.html,sha256=nZT2gkPAYc7G8VNJXst-dEyim0t83xjX-TtCGtxJZwc,2453 -django/views/templates/technical_500.html,sha256=ez3ErTVw3TUUhQOTipX6rHFpN9eiysKVRTz-maEwS2g,17218 -django/views/templates/technical_500.txt,sha256=7VWOipQg2poVyusbM8dQHRyRR-iUB_dOehAoF0HBHNM,3367 -../../../bin/django-admin,sha256=tCPpfc-HOy0szljTTFsVa3UktEG3uAQM0Z7Ef5RASAw,308 -Django-2.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -django/templatetags/__pycache__/tz.cpython-36.pyc,, -django/templatetags/__pycache__/l10n.cpython-36.pyc,, -django/templatetags/__pycache__/i18n.cpython-36.pyc,, -django/templatetags/__pycache__/cache.cpython-36.pyc,, -django/templatetags/__pycache__/static.cpython-36.pyc,, -django/templatetags/__pycache__/__init__.cpython-36.pyc,, -django/middleware/__pycache__/csrf.cpython-36.pyc,, -django/middleware/__pycache__/clickjacking.cpython-36.pyc,, -django/middleware/__pycache__/common.cpython-36.pyc,, -django/middleware/__pycache__/gzip.cpython-36.pyc,, -django/middleware/__pycache__/locale.cpython-36.pyc,, -django/middleware/__pycache__/security.cpython-36.pyc,, -django/middleware/__pycache__/cache.cpython-36.pyc,, -django/middleware/__pycache__/http.cpython-36.pyc,, -django/middleware/__pycache__/__init__.cpython-36.pyc,, -django/forms/__pycache__/renderers.cpython-36.pyc,, -django/forms/__pycache__/boundfield.cpython-36.pyc,, -django/forms/__pycache__/widgets.cpython-36.pyc,, -django/forms/__pycache__/forms.cpython-36.pyc,, -django/forms/__pycache__/models.cpython-36.pyc,, -django/forms/__pycache__/formsets.cpython-36.pyc,, -django/forms/__pycache__/utils.cpython-36.pyc,, -django/forms/__pycache__/fields.cpython-36.pyc,, -django/forms/__pycache__/__init__.cpython-36.pyc,, -django/core/cache/backends/__pycache__/locmem.cpython-36.pyc,, -django/core/cache/backends/__pycache__/db.cpython-36.pyc,, -django/core/cache/backends/__pycache__/base.cpython-36.pyc,, -django/core/cache/backends/__pycache__/dummy.cpython-36.pyc,, -django/core/cache/backends/__pycache__/__init__.cpython-36.pyc,, -django/core/cache/backends/__pycache__/filebased.cpython-36.pyc,, -django/core/cache/backends/__pycache__/memcached.cpython-36.pyc,, -django/core/cache/__pycache__/utils.cpython-36.pyc,, -django/core/cache/__pycache__/__init__.cpython-36.pyc,, -django/core/mail/backends/__pycache__/smtp.cpython-36.pyc,, -django/core/mail/backends/__pycache__/console.cpython-36.pyc,, -django/core/mail/backends/__pycache__/locmem.cpython-36.pyc,, -django/core/mail/backends/__pycache__/base.cpython-36.pyc,, -django/core/mail/backends/__pycache__/dummy.cpython-36.pyc,, -django/core/mail/backends/__pycache__/__init__.cpython-36.pyc,, -django/core/mail/backends/__pycache__/filebased.cpython-36.pyc,, -django/core/mail/__pycache__/message.cpython-36.pyc,, -django/core/mail/__pycache__/utils.cpython-36.pyc,, -django/core/mail/__pycache__/__init__.cpython-36.pyc,, -django/core/checks/compatibility/__pycache__/__init__.cpython-36.pyc,, -django/core/checks/security/__pycache__/sessions.cpython-36.pyc,, -django/core/checks/security/__pycache__/csrf.cpython-36.pyc,, -django/core/checks/security/__pycache__/base.cpython-36.pyc,, -django/core/checks/security/__pycache__/__init__.cpython-36.pyc,, -django/core/checks/__pycache__/model_checks.cpython-36.pyc,, -django/core/checks/__pycache__/database.cpython-36.pyc,, -django/core/checks/__pycache__/messages.cpython-36.pyc,, -django/core/checks/__pycache__/templates.cpython-36.pyc,, -django/core/checks/__pycache__/caches.cpython-36.pyc,, -django/core/checks/__pycache__/registry.cpython-36.pyc,, -django/core/checks/__pycache__/__init__.cpython-36.pyc,, -django/core/checks/__pycache__/urls.cpython-36.pyc,, -django/core/management/__pycache__/sql.cpython-36.pyc,, -django/core/management/__pycache__/templates.cpython-36.pyc,, -django/core/management/__pycache__/base.cpython-36.pyc,, -django/core/management/__pycache__/color.cpython-36.pyc,, -django/core/management/__pycache__/utils.cpython-36.pyc,, -django/core/management/__pycache__/__init__.cpython-36.pyc,, -django/core/management/commands/__pycache__/sqlmigrate.cpython-36.pyc,, -django/core/management/commands/__pycache__/startproject.cpython-36.pyc,, -django/core/management/commands/__pycache__/dumpdata.cpython-36.pyc,, -django/core/management/commands/__pycache__/dbshell.cpython-36.pyc,, -django/core/management/commands/__pycache__/showmigrations.cpython-36.pyc,, -django/core/management/commands/__pycache__/sqlflush.cpython-36.pyc,, -django/core/management/commands/__pycache__/compilemessages.cpython-36.pyc,, -django/core/management/commands/__pycache__/startapp.cpython-36.pyc,, -django/core/management/commands/__pycache__/loaddata.cpython-36.pyc,, -django/core/management/commands/__pycache__/squashmigrations.cpython-36.pyc,, -django/core/management/commands/__pycache__/makemessages.cpython-36.pyc,, -django/core/management/commands/__pycache__/sqlsequencereset.cpython-36.pyc,, -django/core/management/commands/__pycache__/check.cpython-36.pyc,, -django/core/management/commands/__pycache__/makemigrations.cpython-36.pyc,, -django/core/management/commands/__pycache__/inspectdb.cpython-36.pyc,, -django/core/management/commands/__pycache__/migrate.cpython-36.pyc,, -django/core/management/commands/__pycache__/testserver.cpython-36.pyc,, -django/core/management/commands/__pycache__/sendtestemail.cpython-36.pyc,, -django/core/management/commands/__pycache__/diffsettings.cpython-36.pyc,, -django/core/management/commands/__pycache__/flush.cpython-36.pyc,, -django/core/management/commands/__pycache__/runserver.cpython-36.pyc,, -django/core/management/commands/__pycache__/shell.cpython-36.pyc,, -django/core/management/commands/__pycache__/__init__.cpython-36.pyc,, -django/core/management/commands/__pycache__/test.cpython-36.pyc,, -django/core/management/commands/__pycache__/createcachetable.cpython-36.pyc,, -django/core/__pycache__/exceptions.cpython-36.pyc,, -django/core/__pycache__/signals.cpython-36.pyc,, -django/core/__pycache__/paginator.cpython-36.pyc,, -django/core/__pycache__/validators.cpython-36.pyc,, -django/core/__pycache__/signing.cpython-36.pyc,, -django/core/__pycache__/wsgi.cpython-36.pyc,, -django/core/__pycache__/__init__.cpython-36.pyc,, -django/core/serializers/__pycache__/xml_serializer.cpython-36.pyc,, -django/core/serializers/__pycache__/pyyaml.cpython-36.pyc,, -django/core/serializers/__pycache__/python.cpython-36.pyc,, -django/core/serializers/__pycache__/base.cpython-36.pyc,, -django/core/serializers/__pycache__/__init__.cpython-36.pyc,, -django/core/serializers/__pycache__/json.cpython-36.pyc,, -django/core/files/__pycache__/uploadedfile.cpython-36.pyc,, -django/core/files/__pycache__/temp.cpython-36.pyc,, -django/core/files/__pycache__/storage.cpython-36.pyc,, -django/core/files/__pycache__/uploadhandler.cpython-36.pyc,, -django/core/files/__pycache__/images.cpython-36.pyc,, -django/core/files/__pycache__/move.cpython-36.pyc,, -django/core/files/__pycache__/base.cpython-36.pyc,, -django/core/files/__pycache__/utils.cpython-36.pyc,, -django/core/files/__pycache__/__init__.cpython-36.pyc,, -django/core/files/__pycache__/locks.cpython-36.pyc,, -django/core/handlers/__pycache__/base.cpython-36.pyc,, -django/core/handlers/__pycache__/wsgi.cpython-36.pyc,, -django/core/handlers/__pycache__/exception.cpython-36.pyc,, -django/core/handlers/__pycache__/__init__.cpython-36.pyc,, -django/core/servers/__pycache__/basehttp.cpython-36.pyc,, -django/core/servers/__pycache__/__init__.cpython-36.pyc,, -django/test/__pycache__/client.cpython-36.pyc,, -django/test/__pycache__/testcases.cpython-36.pyc,, -django/test/__pycache__/signals.cpython-36.pyc,, -django/test/__pycache__/utils.cpython-36.pyc,, -django/test/__pycache__/selenium.cpython-36.pyc,, -django/test/__pycache__/__init__.cpython-36.pyc,, -django/test/__pycache__/html.cpython-36.pyc,, -django/test/__pycache__/runner.cpython-36.pyc,, -django/bin/__pycache__/django-admin.cpython-36.pyc,, -django/dispatch/__pycache__/dispatcher.cpython-36.pyc,, -django/dispatch/__pycache__/__init__.cpython-36.pyc,, -django/template/backends/__pycache__/django.cpython-36.pyc,, -django/template/backends/__pycache__/jinja2.cpython-36.pyc,, -django/template/backends/__pycache__/base.cpython-36.pyc,, -django/template/backends/__pycache__/utils.cpython-36.pyc,, -django/template/backends/__pycache__/dummy.cpython-36.pyc,, -django/template/backends/__pycache__/__init__.cpython-36.pyc,, -django/template/__pycache__/engine.cpython-36.pyc,, -django/template/__pycache__/defaulttags.cpython-36.pyc,, -django/template/__pycache__/response.cpython-36.pyc,, -django/template/__pycache__/context_processors.cpython-36.pyc,, -django/template/__pycache__/exceptions.cpython-36.pyc,, -django/template/__pycache__/smartif.cpython-36.pyc,, -django/template/__pycache__/defaultfilters.cpython-36.pyc,, -django/template/__pycache__/loader.cpython-36.pyc,, -django/template/__pycache__/base.cpython-36.pyc,, -django/template/__pycache__/loader_tags.cpython-36.pyc,, -django/template/__pycache__/utils.cpython-36.pyc,, -django/template/__pycache__/library.cpython-36.pyc,, -django/template/__pycache__/context.cpython-36.pyc,, -django/template/__pycache__/__init__.cpython-36.pyc,, -django/template/loaders/__pycache__/cached.cpython-36.pyc,, -django/template/loaders/__pycache__/app_directories.cpython-36.pyc,, -django/template/loaders/__pycache__/locmem.cpython-36.pyc,, -django/template/loaders/__pycache__/filesystem.cpython-36.pyc,, -django/template/loaders/__pycache__/base.cpython-36.pyc,, -django/template/loaders/__pycache__/__init__.cpython-36.pyc,, -django/utils/translation/__pycache__/trans_real.cpython-36.pyc,, -django/utils/translation/__pycache__/template.cpython-36.pyc,, -django/utils/translation/__pycache__/__init__.cpython-36.pyc,, -django/utils/translation/__pycache__/trans_null.cpython-36.pyc,, -django/utils/__pycache__/tree.cpython-36.pyc,, -django/utils/__pycache__/inspect.cpython-36.pyc,, -django/utils/__pycache__/feedgenerator.cpython-36.pyc,, -django/utils/__pycache__/synch.cpython-36.pyc,, -django/utils/__pycache__/duration.cpython-36.pyc,, -django/utils/__pycache__/dateformat.cpython-36.pyc,, -django/utils/__pycache__/timesince.cpython-36.pyc,, -django/utils/__pycache__/datastructures.cpython-36.pyc,, -django/utils/__pycache__/version.cpython-36.pyc,, -django/utils/__pycache__/deprecation.cpython-36.pyc,, -django/utils/__pycache__/xmlutils.cpython-36.pyc,, -django/utils/__pycache__/functional.cpython-36.pyc,, -django/utils/__pycache__/ipv6.cpython-36.pyc,, -django/utils/__pycache__/itercompat.cpython-36.pyc,, -django/utils/__pycache__/_os.cpython-36.pyc,, -django/utils/__pycache__/safestring.cpython-36.pyc,, -django/utils/__pycache__/archive.cpython-36.pyc,, -django/utils/__pycache__/text.cpython-36.pyc,, -django/utils/__pycache__/datetime_safe.cpython-36.pyc,, -django/utils/__pycache__/six.cpython-36.pyc,, -django/utils/__pycache__/formats.cpython-36.pyc,, -django/utils/__pycache__/encoding.cpython-36.pyc,, -django/utils/__pycache__/baseconv.cpython-36.pyc,, -django/utils/__pycache__/lru_cache.cpython-36.pyc,, -django/utils/__pycache__/deconstruct.cpython-36.pyc,, -django/utils/__pycache__/crypto.cpython-36.pyc,, -django/utils/__pycache__/log.cpython-36.pyc,, -django/utils/__pycache__/numberformat.cpython-36.pyc,, -django/utils/__pycache__/termcolors.cpython-36.pyc,, -django/utils/__pycache__/autoreload.cpython-36.pyc,, -django/utils/__pycache__/cache.cpython-36.pyc,, -django/utils/__pycache__/lorem_ipsum.cpython-36.pyc,, -django/utils/__pycache__/dates.cpython-36.pyc,, -django/utils/__pycache__/http.cpython-36.pyc,, -django/utils/__pycache__/jslex.cpython-36.pyc,, -django/utils/__pycache__/html_parser.cpython-36.pyc,, -django/utils/__pycache__/__init__.cpython-36.pyc,, -django/utils/__pycache__/decorators.cpython-36.pyc,, -django/utils/__pycache__/dateparse.cpython-36.pyc,, -django/utils/__pycache__/html.cpython-36.pyc,, -django/utils/__pycache__/regex_helper.cpython-36.pyc,, -django/utils/__pycache__/module_loading.cpython-36.pyc,, -django/utils/__pycache__/timezone.cpython-36.pyc,, -django/__pycache__/shortcuts.cpython-36.pyc,, -django/__pycache__/__main__.cpython-36.pyc,, -django/__pycache__/__init__.cpython-36.pyc,, -django/contrib/syndication/__pycache__/views.cpython-36.pyc,, -django/contrib/syndication/__pycache__/apps.cpython-36.pyc,, -django/contrib/syndication/__pycache__/__init__.cpython-36.pyc,, -django/contrib/messages/__pycache__/constants.cpython-36.pyc,, -django/contrib/messages/__pycache__/context_processors.cpython-36.pyc,, -django/contrib/messages/__pycache__/views.cpython-36.pyc,, -django/contrib/messages/__pycache__/middleware.cpython-36.pyc,, -django/contrib/messages/__pycache__/apps.cpython-36.pyc,, -django/contrib/messages/__pycache__/utils.cpython-36.pyc,, -django/contrib/messages/__pycache__/__init__.cpython-36.pyc,, -django/contrib/messages/__pycache__/api.cpython-36.pyc,, -django/contrib/messages/storage/__pycache__/base.cpython-36.pyc,, -django/contrib/messages/storage/__pycache__/cookie.cpython-36.pyc,, -django/contrib/messages/storage/__pycache__/fallback.cpython-36.pyc,, -django/contrib/messages/storage/__pycache__/session.cpython-36.pyc,, -django/contrib/messages/storage/__pycache__/__init__.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0001_initial.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0008_alter_user_username_max_length.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0006_require_contenttypes_0002.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0003_alter_user_email_max_length.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0002_alter_permission_name_max_length.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0007_alter_validators_add_error_messages.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/__init__.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0004_alter_user_username_opts.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0005_alter_user_last_login_null.cpython-36.pyc,, -django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length.cpython-36.pyc,, -django/contrib/auth/management/__pycache__/__init__.cpython-36.pyc,, -django/contrib/auth/management/commands/__pycache__/createsuperuser.cpython-36.pyc,, -django/contrib/auth/management/commands/__pycache__/changepassword.cpython-36.pyc,, -django/contrib/auth/management/commands/__pycache__/__init__.cpython-36.pyc,, -django/contrib/auth/__pycache__/context_processors.cpython-36.pyc,, -django/contrib/auth/__pycache__/checks.cpython-36.pyc,, -django/contrib/auth/__pycache__/admin.cpython-36.pyc,, -django/contrib/auth/__pycache__/password_validation.cpython-36.pyc,, -django/contrib/auth/__pycache__/forms.cpython-36.pyc,, -django/contrib/auth/__pycache__/signals.cpython-36.pyc,, -django/contrib/auth/__pycache__/models.cpython-36.pyc,, -django/contrib/auth/__pycache__/mixins.cpython-36.pyc,, -django/contrib/auth/__pycache__/views.cpython-36.pyc,, -django/contrib/auth/__pycache__/tokens.cpython-36.pyc,, -django/contrib/auth/__pycache__/middleware.cpython-36.pyc,, -django/contrib/auth/__pycache__/validators.cpython-36.pyc,, -django/contrib/auth/__pycache__/apps.cpython-36.pyc,, -django/contrib/auth/__pycache__/base_user.cpython-36.pyc,, -django/contrib/auth/__pycache__/hashers.cpython-36.pyc,, -django/contrib/auth/__pycache__/__init__.cpython-36.pyc,, -django/contrib/auth/__pycache__/decorators.cpython-36.pyc,, -django/contrib/auth/__pycache__/urls.cpython-36.pyc,, -django/contrib/auth/__pycache__/backends.cpython-36.pyc,, -django/contrib/auth/handlers/__pycache__/modwsgi.cpython-36.pyc,, -django/contrib/auth/handlers/__pycache__/__init__.cpython-36.pyc,, -django/contrib/admin/templatetags/__pycache__/admin_list.cpython-36.pyc,, -django/contrib/admin/templatetags/__pycache__/admin_static.cpython-36.pyc,, -django/contrib/admin/templatetags/__pycache__/log.cpython-36.pyc,, -django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-36.pyc,, -django/contrib/admin/templatetags/__pycache__/__init__.cpython-36.pyc,, -django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-36.pyc,, -django/contrib/admin/migrations/__pycache__/0001_initial.cpython-36.pyc,, -django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-36.pyc,, -django/contrib/admin/migrations/__pycache__/__init__.cpython-36.pyc,, -django/contrib/admin/__pycache__/exceptions.cpython-36.pyc,, -django/contrib/admin/__pycache__/checks.cpython-36.pyc,, -django/contrib/admin/__pycache__/widgets.cpython-36.pyc,, -django/contrib/admin/__pycache__/forms.cpython-36.pyc,, -django/contrib/admin/__pycache__/models.cpython-36.pyc,, -django/contrib/admin/__pycache__/sites.cpython-36.pyc,, -django/contrib/admin/__pycache__/tests.cpython-36.pyc,, -django/contrib/admin/__pycache__/actions.cpython-36.pyc,, -django/contrib/admin/__pycache__/apps.cpython-36.pyc,, -django/contrib/admin/__pycache__/utils.cpython-36.pyc,, -django/contrib/admin/__pycache__/helpers.cpython-36.pyc,, -django/contrib/admin/__pycache__/filters.cpython-36.pyc,, -django/contrib/admin/__pycache__/options.cpython-36.pyc,, -django/contrib/admin/__pycache__/__init__.cpython-36.pyc,, -django/contrib/admin/__pycache__/decorators.cpython-36.pyc,, -django/contrib/admin/views/__pycache__/autocomplete.cpython-36.pyc,, -django/contrib/admin/views/__pycache__/main.cpython-36.pyc,, -django/contrib/admin/views/__pycache__/__init__.cpython-36.pyc,, -django/contrib/admin/views/__pycache__/decorators.cpython-36.pyc,, -django/contrib/staticfiles/templatetags/__pycache__/staticfiles.cpython-36.pyc,, -django/contrib/staticfiles/templatetags/__pycache__/__init__.cpython-36.pyc,, -django/contrib/staticfiles/management/__pycache__/__init__.cpython-36.pyc,, -django/contrib/staticfiles/management/commands/__pycache__/findstatic.cpython-36.pyc,, -django/contrib/staticfiles/management/commands/__pycache__/collectstatic.cpython-36.pyc,, -django/contrib/staticfiles/management/commands/__pycache__/runserver.cpython-36.pyc,, -django/contrib/staticfiles/management/commands/__pycache__/__init__.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/handlers.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/checks.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/storage.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/testing.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/views.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/apps.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/finders.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/utils.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/__init__.cpython-36.pyc,, -django/contrib/staticfiles/__pycache__/urls.cpython-36.pyc,, -django/contrib/__pycache__/__init__.cpython-36.pyc,, -django/contrib/flatpages/templatetags/__pycache__/flatpages.cpython-36.pyc,, -django/contrib/flatpages/templatetags/__pycache__/__init__.cpython-36.pyc,, -django/contrib/flatpages/migrations/__pycache__/0001_initial.cpython-36.pyc,, -django/contrib/flatpages/migrations/__pycache__/__init__.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/admin.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/forms.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/models.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/views.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/middleware.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/apps.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/sitemaps.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/__init__.cpython-36.pyc,, -django/contrib/flatpages/__pycache__/urls.cpython-36.pyc,, -django/contrib/sites/migrations/__pycache__/0001_initial.cpython-36.pyc,, -django/contrib/sites/migrations/__pycache__/0002_alter_domain_unique.cpython-36.pyc,, -django/contrib/sites/migrations/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sites/__pycache__/managers.cpython-36.pyc,, -django/contrib/sites/__pycache__/admin.cpython-36.pyc,, -django/contrib/sites/__pycache__/shortcuts.cpython-36.pyc,, -django/contrib/sites/__pycache__/models.cpython-36.pyc,, -django/contrib/sites/__pycache__/management.cpython-36.pyc,, -django/contrib/sites/__pycache__/middleware.cpython-36.pyc,, -django/contrib/sites/__pycache__/apps.cpython-36.pyc,, -django/contrib/sites/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sites/__pycache__/requests.cpython-36.pyc,, -django/contrib/postgres/forms/__pycache__/jsonb.cpython-36.pyc,, -django/contrib/postgres/forms/__pycache__/array.cpython-36.pyc,, -django/contrib/postgres/forms/__pycache__/ranges.cpython-36.pyc,, -django/contrib/postgres/forms/__pycache__/hstore.cpython-36.pyc,, -django/contrib/postgres/forms/__pycache__/__init__.cpython-36.pyc,, -django/contrib/postgres/aggregates/__pycache__/general.cpython-36.pyc,, -django/contrib/postgres/aggregates/__pycache__/statistics.cpython-36.pyc,, -django/contrib/postgres/aggregates/__pycache__/__init__.cpython-36.pyc,, -django/contrib/postgres/__pycache__/lookups.cpython-36.pyc,, -django/contrib/postgres/__pycache__/signals.cpython-36.pyc,, -django/contrib/postgres/__pycache__/operations.cpython-36.pyc,, -django/contrib/postgres/__pycache__/functions.cpython-36.pyc,, -django/contrib/postgres/__pycache__/indexes.cpython-36.pyc,, -django/contrib/postgres/__pycache__/validators.cpython-36.pyc,, -django/contrib/postgres/__pycache__/apps.cpython-36.pyc,, -django/contrib/postgres/__pycache__/search.cpython-36.pyc,, -django/contrib/postgres/__pycache__/utils.cpython-36.pyc,, -django/contrib/postgres/__pycache__/__init__.cpython-36.pyc,, -django/contrib/postgres/fields/__pycache__/jsonb.cpython-36.pyc,, -django/contrib/postgres/fields/__pycache__/array.cpython-36.pyc,, -django/contrib/postgres/fields/__pycache__/ranges.cpython-36.pyc,, -django/contrib/postgres/fields/__pycache__/citext.cpython-36.pyc,, -django/contrib/postgres/fields/__pycache__/utils.cpython-36.pyc,, -django/contrib/postgres/fields/__pycache__/hstore.cpython-36.pyc,, -django/contrib/postgres/fields/__pycache__/__init__.cpython-36.pyc,, -django/contrib/redirects/migrations/__pycache__/0001_initial.cpython-36.pyc,, -django/contrib/redirects/migrations/__pycache__/__init__.cpython-36.pyc,, -django/contrib/redirects/__pycache__/admin.cpython-36.pyc,, -django/contrib/redirects/__pycache__/models.cpython-36.pyc,, -django/contrib/redirects/__pycache__/middleware.cpython-36.pyc,, -django/contrib/redirects/__pycache__/apps.cpython-36.pyc,, -django/contrib/redirects/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sessions/migrations/__pycache__/0001_initial.cpython-36.pyc,, -django/contrib/sessions/migrations/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sessions/backends/__pycache__/signed_cookies.cpython-36.pyc,, -django/contrib/sessions/backends/__pycache__/cached_db.cpython-36.pyc,, -django/contrib/sessions/backends/__pycache__/db.cpython-36.pyc,, -django/contrib/sessions/backends/__pycache__/file.cpython-36.pyc,, -django/contrib/sessions/backends/__pycache__/base.cpython-36.pyc,, -django/contrib/sessions/backends/__pycache__/cache.cpython-36.pyc,, -django/contrib/sessions/backends/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sessions/management/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sessions/management/commands/__pycache__/clearsessions.cpython-36.pyc,, -django/contrib/sessions/management/commands/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sessions/__pycache__/serializers.cpython-36.pyc,, -django/contrib/sessions/__pycache__/base_session.cpython-36.pyc,, -django/contrib/sessions/__pycache__/exceptions.cpython-36.pyc,, -django/contrib/sessions/__pycache__/models.cpython-36.pyc,, -django/contrib/sessions/__pycache__/middleware.cpython-36.pyc,, -django/contrib/sessions/__pycache__/apps.cpython-36.pyc,, -django/contrib/sessions/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sitemaps/management/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sitemaps/management/commands/__pycache__/ping_google.cpython-36.pyc,, -django/contrib/sitemaps/management/commands/__pycache__/__init__.cpython-36.pyc,, -django/contrib/sitemaps/__pycache__/views.cpython-36.pyc,, -django/contrib/sitemaps/__pycache__/apps.cpython-36.pyc,, -django/contrib/sitemaps/__pycache__/__init__.cpython-36.pyc,, -django/contrib/humanize/templatetags/__pycache__/humanize.cpython-36.pyc,, -django/contrib/humanize/templatetags/__pycache__/__init__.cpython-36.pyc,, -django/contrib/humanize/__pycache__/apps.cpython-36.pyc,, -django/contrib/humanize/__pycache__/__init__.cpython-36.pyc,, -django/contrib/contenttypes/migrations/__pycache__/0001_initial.cpython-36.pyc,, -django/contrib/contenttypes/migrations/__pycache__/0002_remove_content_type_name.cpython-36.pyc,, -django/contrib/contenttypes/migrations/__pycache__/__init__.cpython-36.pyc,, -django/contrib/contenttypes/management/__pycache__/__init__.cpython-36.pyc,, -django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-36.pyc,, -django/contrib/contenttypes/management/commands/__pycache__/__init__.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/checks.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/admin.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/forms.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/models.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/views.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/apps.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/fields.cpython-36.pyc,, -django/contrib/contenttypes/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/libgeos.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/prepared.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/point.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/factory.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/linestring.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/collections.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/mutable_list.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/polygon.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/geometry.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/coordseq.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/io.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/geos/__pycache__/error.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/predicates.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/prepared.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/topology.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/errcheck.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/threadsafe.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/coordseq.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/io.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/geom.cpython-36.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/misc.cpython-36.pyc,, -django/contrib/gis/forms/__pycache__/widgets.cpython-36.pyc,, -django/contrib/gis/forms/__pycache__/fields.cpython-36.pyc,, -django/contrib/gis/forms/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/feature.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/field.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/envelope.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/srs.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/layer.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/datasource.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/libgdal.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/geometries.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/geomtype.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/error.cpython-36.pyc,, -django/contrib/gis/gdal/__pycache__/driver.cpython-36.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/generation.cpython-36.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/srs.cpython-36.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/errcheck.cpython-36.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/raster.cpython-36.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/ds.cpython-36.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/geom.cpython-36.pyc,, -django/contrib/gis/gdal/raster/__pycache__/const.cpython-36.pyc,, -django/contrib/gis/gdal/raster/__pycache__/band.cpython-36.pyc,, -django/contrib/gis/gdal/raster/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/gdal/raster/__pycache__/source.cpython-36.pyc,, -django/contrib/gis/gdal/raster/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/admin/__pycache__/widgets.cpython-36.pyc,, -django/contrib/gis/admin/__pycache__/options.cpython-36.pyc,, -django/contrib/gis/admin/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/management/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/management/commands/__pycache__/inspectdb.cpython-36.pyc,, -django/contrib/gis/management/commands/__pycache__/ogrinspect.cpython-36.pyc,, -django/contrib/gis/management/commands/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/utils/__pycache__/ogrinfo.cpython-36.pyc,, -django/contrib/gis/utils/__pycache__/srs.cpython-36.pyc,, -django/contrib/gis/utils/__pycache__/ogrinspect.cpython-36.pyc,, -django/contrib/gis/utils/__pycache__/layermapping.cpython-36.pyc,, -django/contrib/gis/utils/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/__pycache__/measure.cpython-36.pyc,, -django/contrib/gis/__pycache__/feeds.cpython-36.pyc,, -django/contrib/gis/__pycache__/shortcuts.cpython-36.pyc,, -django/contrib/gis/__pycache__/views.cpython-36.pyc,, -django/contrib/gis/__pycache__/apps.cpython-36.pyc,, -django/contrib/gis/__pycache__/geometry.cpython-36.pyc,, -django/contrib/gis/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/__pycache__/ptr.cpython-36.pyc,, -django/contrib/gis/serializers/__pycache__/geojson.cpython-36.pyc,, -django/contrib/gis/serializers/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/sitemaps/__pycache__/views.cpython-36.pyc,, -django/contrib/gis/sitemaps/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/sitemaps/__pycache__/kml.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/introspection.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/operations.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/models.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/features.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/adapter.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/schema.cpython-36.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/backends/__pycache__/utils.cpython-36.pyc,, -django/contrib/gis/db/backends/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/introspection.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/operations.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/const.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/models.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/features.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/adapter.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/schema.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/pgraster.cpython-36.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/introspection.cpython-36.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/operations.cpython-36.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/features.cpython-36.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/schema.cpython-36.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/introspection.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/client.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/operations.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/models.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/features.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/adapter.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/schema.cpython-36.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/backends/base/__pycache__/operations.cpython-36.pyc,, -django/contrib/gis/db/backends/base/__pycache__/models.cpython-36.pyc,, -django/contrib/gis/db/backends/base/__pycache__/features.cpython-36.pyc,, -django/contrib/gis/db/backends/base/__pycache__/adapter.cpython-36.pyc,, -django/contrib/gis/db/backends/base/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/models/__pycache__/lookups.cpython-36.pyc,, -django/contrib/gis/db/models/__pycache__/proxy.cpython-36.pyc,, -django/contrib/gis/db/models/__pycache__/functions.cpython-36.pyc,, -django/contrib/gis/db/models/__pycache__/aggregates.cpython-36.pyc,, -django/contrib/gis/db/models/__pycache__/fields.cpython-36.pyc,, -django/contrib/gis/db/models/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/models/sql/__pycache__/conversion.cpython-36.pyc,, -django/contrib/gis/db/models/sql/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/db/__pycache__/__init__.cpython-36.pyc,, -django/contrib/gis/geoip2/__pycache__/resources.cpython-36.pyc,, -django/contrib/gis/geoip2/__pycache__/base.cpython-36.pyc,, -django/contrib/gis/geoip2/__pycache__/__init__.cpython-36.pyc,, -django/contrib/admindocs/__pycache__/views.cpython-36.pyc,, -django/contrib/admindocs/__pycache__/middleware.cpython-36.pyc,, -django/contrib/admindocs/__pycache__/apps.cpython-36.pyc,, -django/contrib/admindocs/__pycache__/utils.cpython-36.pyc,, -django/contrib/admindocs/__pycache__/__init__.cpython-36.pyc,, -django/contrib/admindocs/__pycache__/urls.cpython-36.pyc,, -django/http/__pycache__/response.cpython-36.pyc,, -django/http/__pycache__/multipartparser.cpython-36.pyc,, -django/http/__pycache__/request.cpython-36.pyc,, -django/http/__pycache__/cookie.cpython-36.pyc,, -django/http/__pycache__/__init__.cpython-36.pyc,, -django/urls/__pycache__/resolvers.cpython-36.pyc,, -django/urls/__pycache__/exceptions.cpython-36.pyc,, -django/urls/__pycache__/converters.cpython-36.pyc,, -django/urls/__pycache__/base.cpython-36.pyc,, -django/urls/__pycache__/utils.cpython-36.pyc,, -django/urls/__pycache__/conf.cpython-36.pyc,, -django/urls/__pycache__/__init__.cpython-36.pyc,, -django/db/migrations/__pycache__/exceptions.cpython-36.pyc,, -django/db/migrations/__pycache__/serializer.cpython-36.pyc,, -django/db/migrations/__pycache__/loader.cpython-36.pyc,, -django/db/migrations/__pycache__/state.cpython-36.pyc,, -django/db/migrations/__pycache__/autodetector.cpython-36.pyc,, -django/db/migrations/__pycache__/recorder.cpython-36.pyc,, -django/db/migrations/__pycache__/questioner.cpython-36.pyc,, -django/db/migrations/__pycache__/optimizer.cpython-36.pyc,, -django/db/migrations/__pycache__/writer.cpython-36.pyc,, -django/db/migrations/__pycache__/executor.cpython-36.pyc,, -django/db/migrations/__pycache__/topological_sort.cpython-36.pyc,, -django/db/migrations/__pycache__/migration.cpython-36.pyc,, -django/db/migrations/__pycache__/utils.cpython-36.pyc,, -django/db/migrations/__pycache__/__init__.cpython-36.pyc,, -django/db/migrations/__pycache__/graph.cpython-36.pyc,, -django/db/migrations/operations/__pycache__/models.cpython-36.pyc,, -django/db/migrations/operations/__pycache__/base.cpython-36.pyc,, -django/db/migrations/operations/__pycache__/special.cpython-36.pyc,, -django/db/migrations/operations/__pycache__/utils.cpython-36.pyc,, -django/db/migrations/operations/__pycache__/fields.cpython-36.pyc,, -django/db/migrations/operations/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/introspection.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/client.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/operations.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/creation.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/base.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/features.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/schema.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/utils.cpython-36.pyc,, -django/db/backends/postgresql/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/dummy/__pycache__/base.cpython-36.pyc,, -django/db/backends/dummy/__pycache__/features.cpython-36.pyc,, -django/db/backends/dummy/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/introspection.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/client.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/operations.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/creation.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/functions.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/compiler.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/base.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/features.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/schema.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/utils.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/validation.cpython-36.pyc,, -django/db/backends/oracle/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/__pycache__/ddl_references.cpython-36.pyc,, -django/db/backends/__pycache__/signals.cpython-36.pyc,, -django/db/backends/__pycache__/utils.cpython-36.pyc,, -django/db/backends/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/introspection.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/client.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/operations.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/creation.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/base.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/features.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/schema.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/utils.cpython-36.pyc,, -django/db/backends/postgresql_psycopg2/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/introspection.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/client.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/operations.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/creation.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/base.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/features.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/schema.cpython-36.pyc,, -django/db/backends/sqlite3/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/introspection.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/client.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/operations.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/creation.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/compiler.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/base.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/features.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/schema.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/validation.cpython-36.pyc,, -django/db/backends/mysql/__pycache__/__init__.cpython-36.pyc,, -django/db/backends/base/__pycache__/introspection.cpython-36.pyc,, -django/db/backends/base/__pycache__/client.cpython-36.pyc,, -django/db/backends/base/__pycache__/operations.cpython-36.pyc,, -django/db/backends/base/__pycache__/creation.cpython-36.pyc,, -django/db/backends/base/__pycache__/base.cpython-36.pyc,, -django/db/backends/base/__pycache__/features.cpython-36.pyc,, -django/db/backends/base/__pycache__/schema.cpython-36.pyc,, -django/db/backends/base/__pycache__/validation.cpython-36.pyc,, -django/db/backends/base/__pycache__/__init__.cpython-36.pyc,, -django/db/models/__pycache__/lookups.cpython-36.pyc,, -django/db/models/__pycache__/expressions.cpython-36.pyc,, -django/db/models/__pycache__/constants.cpython-36.pyc,, -django/db/models/__pycache__/query_utils.cpython-36.pyc,, -django/db/models/__pycache__/query.cpython-36.pyc,, -django/db/models/__pycache__/signals.cpython-36.pyc,, -django/db/models/__pycache__/indexes.cpython-36.pyc,, -django/db/models/__pycache__/base.cpython-36.pyc,, -django/db/models/__pycache__/deletion.cpython-36.pyc,, -django/db/models/__pycache__/utils.cpython-36.pyc,, -django/db/models/__pycache__/aggregates.cpython-36.pyc,, -django/db/models/__pycache__/manager.cpython-36.pyc,, -django/db/models/__pycache__/options.cpython-36.pyc,, -django/db/models/__pycache__/__init__.cpython-36.pyc,, -django/db/models/functions/__pycache__/datetime.cpython-36.pyc,, -django/db/models/functions/__pycache__/window.cpython-36.pyc,, -django/db/models/functions/__pycache__/base.cpython-36.pyc,, -django/db/models/functions/__pycache__/__init__.cpython-36.pyc,, -django/db/models/fields/__pycache__/related.cpython-36.pyc,, -django/db/models/fields/__pycache__/proxy.cpython-36.pyc,, -django/db/models/fields/__pycache__/files.cpython-36.pyc,, -django/db/models/fields/__pycache__/mixins.cpython-36.pyc,, -django/db/models/fields/__pycache__/related_lookups.cpython-36.pyc,, -django/db/models/fields/__pycache__/related_descriptors.cpython-36.pyc,, -django/db/models/fields/__pycache__/reverse_related.cpython-36.pyc,, -django/db/models/fields/__pycache__/__init__.cpython-36.pyc,, -django/db/models/sql/__pycache__/constants.cpython-36.pyc,, -django/db/models/sql/__pycache__/datastructures.cpython-36.pyc,, -django/db/models/sql/__pycache__/query.cpython-36.pyc,, -django/db/models/sql/__pycache__/compiler.cpython-36.pyc,, -django/db/models/sql/__pycache__/subqueries.cpython-36.pyc,, -django/db/models/sql/__pycache__/where.cpython-36.pyc,, -django/db/models/sql/__pycache__/__init__.cpython-36.pyc,, -django/db/__pycache__/transaction.cpython-36.pyc,, -django/db/__pycache__/utils.cpython-36.pyc,, -django/db/__pycache__/__init__.cpython-36.pyc,, -django/views/decorators/__pycache__/debug.cpython-36.pyc,, -django/views/decorators/__pycache__/csrf.cpython-36.pyc,, -django/views/decorators/__pycache__/clickjacking.cpython-36.pyc,, -django/views/decorators/__pycache__/gzip.cpython-36.pyc,, -django/views/decorators/__pycache__/vary.cpython-36.pyc,, -django/views/decorators/__pycache__/cache.cpython-36.pyc,, -django/views/decorators/__pycache__/http.cpython-36.pyc,, -django/views/decorators/__pycache__/__init__.cpython-36.pyc,, -django/views/__pycache__/debug.cpython-36.pyc,, -django/views/__pycache__/csrf.cpython-36.pyc,, -django/views/__pycache__/i18n.cpython-36.pyc,, -django/views/__pycache__/defaults.cpython-36.pyc,, -django/views/__pycache__/static.cpython-36.pyc,, -django/views/__pycache__/__init__.cpython-36.pyc,, -django/views/generic/__pycache__/edit.cpython-36.pyc,, -django/views/generic/__pycache__/list.cpython-36.pyc,, -django/views/generic/__pycache__/detail.cpython-36.pyc,, -django/views/generic/__pycache__/base.cpython-36.pyc,, -django/views/generic/__pycache__/dates.cpython-36.pyc,, -django/views/generic/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/sl/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/sl/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/sk/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/sk/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/pl/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/pl/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/vi/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/vi/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/sq/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/sq/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/de_CH/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/de_CH/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/sv/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/sv/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ga/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ga/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/he/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/he/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/km/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/km/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/nn/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/nn/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/da/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/da/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/es_NI/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/es_NI/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/mn/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/mn/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/pt_BR/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/pt_BR/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/es_CO/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/es_CO/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ja/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ja/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/el/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/el/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/lv/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/lv/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/fy/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/fy/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/it/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/it/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ca/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ca/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/is/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/is/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/cs/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/cs/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/te/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/te/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/zh_Hans/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/zh_Hans/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ru/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ru/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/zh_Hant/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/zh_Hant/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ro/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ro/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/pt/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/pt/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/uk/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/uk/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/sr/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/sr/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/en_AU/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/en_AU/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/en_GB/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/en_GB/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/es_PR/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/es_PR/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ml/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ml/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/es_MX/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/es_MX/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/mk/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/mk/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/kn/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/kn/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/bs/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/bs/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ar/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ar/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/gl/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/gl/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/hr/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/hr/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/hu/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/hu/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/nl/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/nl/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/bg/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/bg/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/bn/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/bn/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/es_AR/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/es_AR/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/nb/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/nb/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/hi/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/hi/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ka/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ka/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/de/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/de/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/az/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/az/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/gd/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/gd/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ko/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ko/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/fi/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/fi/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/sr_Latn/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/sr_Latn/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/eo/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/eo/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/id/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/id/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/fr/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/fr/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/es/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/es/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/et/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/et/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/en/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/en/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/fa/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/fa/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/lt/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/lt/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/cy/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/cy/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/eu/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/eu/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/ta/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/ta/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/th/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/th/__pycache__/__init__.cpython-36.pyc,, -django/conf/locale/tr/__pycache__/formats.cpython-36.pyc,, -django/conf/locale/tr/__pycache__/__init__.cpython-36.pyc,, -django/conf/__pycache__/global_settings.cpython-36.pyc,, -django/conf/__pycache__/__init__.cpython-36.pyc,, -django/conf/urls/__pycache__/i18n.cpython-36.pyc,, -django/conf/urls/__pycache__/static.cpython-36.pyc,, -django/conf/urls/__pycache__/__init__.cpython-36.pyc,, -django/apps/__pycache__/config.cpython-36.pyc,, -django/apps/__pycache__/registry.cpython-36.pyc,, -django/apps/__pycache__/__init__.cpython-36.pyc,, -../../../bin/__pycache__/django-admin.cpython-36.pyc,, +../../../bin/django-admin.py,sha256=OOv0QKYqhDD2O4X3HQx3gFFQ-CC7hSLnWuzZnQXeiiA,115 +Django-2.0.2.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10 +Django-2.0.2.dist-info/LICENSE.txt,sha256=uEZBXRtRTpwd_xSiLeuQbXlLxUbKYSn5UKGM0JHipmk,1552 +Django-2.0.2.dist-info/METADATA,sha256=2EB47t_FbGQegCzaJky9FPY9UrDmz8MSmUTHGgKO4jo,1416 +Django-2.0.2.dist-info/RECORD,, +Django-2.0.2.dist-info/WHEEL,sha256=8Lm45v9gcYRm70DrgFGVe4WsUtUMi1_0Tso1hqPGMjA,92 +Django-2.0.2.dist-info/entry_points.txt,sha256=daYW_s0r8Z5eiRi_bNU6vodHqVUXQWzm-DHFOQHTV2Q,83 +Django-2.0.2.dist-info/metadata.json,sha256=I_hnWAuICPnX-re_A_sCgpVKTT39lRYBsdNoCQ9klrE,1724 +Django-2.0.2.dist-info/top_level.txt,sha256=V_goijg9tfO20ox_7os6CcnPvmBavbxu46LpJiNLwjA,7 +django/__init__.py,sha256=ZFCYEVK3Qz5h_uHO7MS0APF6ii9nDg58hARUO4DP-Z8,799 +django/__main__.py,sha256=9a5To1vQXqf2Jg_eh8nLvIc0GXmDjEXv4jE1QZEqBFk,211 +django/shortcuts.py,sha256=d1jMwK1YgOlbORjIHB-vsrFGLMzMJUZY94a1T24LkKo,5574 +django/apps/__init__.py,sha256=t0F4yceU4SbybMeWBvpuE6RsGaENmQCVbNSdSuXiEMs,90 +django/apps/config.py,sha256=meyWjXLt0qgPfqM14KGaWsZakbga-wuHXsu2gkHyQ-s,8047 +django/apps/registry.py,sha256=rvRxqCTbLRjxxqPcV5Sm2D5D7rmtFyzuDbBEKU4z5xk,17220 +django/bin/django-admin.py,sha256=FWxg_nmLPNGqXwSMw0QvZsKNQsiVBHrSsNfgALIXqQ0,128 +django/conf/__init__.py,sha256=mFe5TxmoKTgqXEDRjqLOhwBQPz-TNEjQQakBcpVzkbY,7437 +django/conf/global_settings.py,sha256=QMugwAHe6GGHqpxV9M8eKhn_iLlRSnpymfIsYhc3zgw,22040 +django/conf/app_template/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/app_template/admin.py-tpl,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63 +django/conf/app_template/apps.py-tpl,sha256=lZ1k1B3K5ntPWSn-CSd0cvDuijeoQE43wztE0tXyeMQ,114 +django/conf/app_template/models.py-tpl,sha256=Vjc0p2XbAPgE6HyTF6vll98A4eDhA5AvaQqsc4kQ9AQ,57 +django/conf/app_template/tests.py-tpl,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60 +django/conf/app_template/views.py-tpl,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63 +django/conf/app_template/migrations/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/__init__.py,sha256=Cdnzc1w8PQMTASYhYm_LzJsmCYlGch9SijWoHzWwbMc,12502 +django/conf/locale/af/LC_MESSAGES/django.mo,sha256=oO8Q8uo31WbyeXWMlhClD2zAxGaMsbtktlX36H6Zl5I,19601 +django/conf/locale/af/LC_MESSAGES/django.po,sha256=HYviyVp2v3RyrgemBfKclJRSt1Hk71dRt2pUtjMHvV4,25003 +django/conf/locale/ar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ar/formats.py,sha256=XBXR6_xAY_oHs5rAu5YGJii6-yenWQJ2HFqtyava8rs,694 +django/conf/locale/ar/LC_MESSAGES/django.mo,sha256=6cugqE9KpudwHt4yr_qBqazc-WNVth60LPfSrEnekIQ,30712 +django/conf/locale/ar/LC_MESSAGES/django.po,sha256=9tVjHdBZa3DDYWeHGdwaHpik-RbDTf3PFZl90iEDgNo,35055 +django/conf/locale/ast/LC_MESSAGES/django.mo,sha256=kmN-K4eQG_EvU565NnThO5qSkfcIMLXizk57RoM0YmM,16665 +django/conf/locale/ast/LC_MESSAGES/django.po,sha256=WnsaXWzvgTohaW7h5L6H5FG7QM8y5FifzB3GaahFLQY,23619 +django/conf/locale/az/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/az/formats.py,sha256=qAxKv_-_ubsfH4qdtvvgCqDirBh9TnuemaLzdC5D5-s,1189 +django/conf/locale/az/LC_MESSAGES/django.mo,sha256=FrJmdBMwFu2tX12djk8B_QfPQKwwL7Zkyx-K6Ua-6RA,19457 +django/conf/locale/az/LC_MESSAGES/django.po,sha256=ZyqOTC22KTFhIKGWXqBtxExu8cMA-x8Ir34Oph3R_hw,24955 +django/conf/locale/be/LC_MESSAGES/django.mo,sha256=IxeJVl8TKn7HAi9VLoWmv8wAfo_pm6x4BVLOva_0rvg,34723 +django/conf/locale/be/LC_MESSAGES/django.po,sha256=kgt3xyXCb3FdmIyYe1XPSoRFsjxbYPXHJijwD2RydwE,36995 +django/conf/locale/bg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/bg/formats.py,sha256=K9JbkJuXdmr8z1KAACBvDxa8mIJIQ8-DfHLlvjkfm38,703 +django/conf/locale/bg/LC_MESSAGES/django.mo,sha256=oSaycuek5hekuOlUDZvgBWiC8pprSjVlhsPyQqnF2Ss,29687 +django/conf/locale/bg/LC_MESSAGES/django.po,sha256=STgBTki870oeyGqYyPPlyg4WmkdzlDvAUAhsBwHsWTs,32975 +django/conf/locale/bn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/bn/formats.py,sha256=1O63vMDv5MG9um4AvMREKAoqlOZyC46WMEWG9q8PMS8,962 +django/conf/locale/bn/LC_MESSAGES/django.mo,sha256=K7EKhxgCWLfWGA8MenkboQ_pNwo45lAkwrZkGrjIc-c,17250 +django/conf/locale/bn/LC_MESSAGES/django.po,sha256=CUr8W_emf9KSw8z-F26P7drK6z_CCovR9AjWycLpAP4,26693 +django/conf/locale/br/LC_MESSAGES/django.mo,sha256=7bGRE2oO2IICAbPgDCB1Sg_8ljqGvcs-YGsOespgPKo,14948 +django/conf/locale/br/LC_MESSAGES/django.po,sha256=U5SoZEn-03J1MGF76dtjNuCcEqslQEJJOl46RiNnK4Q,22771 +django/conf/locale/bs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/bs/formats.py,sha256=iuBajy6bgF-2V0j5xZjv9832ToLnUMyRvzVDK4vqO74,703 +django/conf/locale/bs/LC_MESSAGES/django.mo,sha256=DKLskkhih8rc42NtUXt-OZXD7r983w9Ddc4qSmakFis,11073 +django/conf/locale/bs/LC_MESSAGES/django.po,sha256=H4rrXQrd0ph_bHUvxgncbH29mhwtm2__XGo7QhH-ROY,21671 +django/conf/locale/ca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ca/formats.py,sha256=rPWIibPg8b8w7NwBy7rohbFEFcxTPrkrSjv_MP2CYBY,949 +django/conf/locale/ca/LC_MESSAGES/django.mo,sha256=h7GJelxKdhaHwVo7tsVhBfnkOOiN6WAARq70pNk__vk,23602 +django/conf/locale/ca/LC_MESSAGES/django.po,sha256=343ow5vc51Tlljd1wuJGJyDT2M1eKBsKUWAnCOVW47g,26986 +django/conf/locale/cs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/cs/formats.py,sha256=tlbaEQ994P6Bj-UliXagMW4Yu1D_neGspDOaQLL5HlU,1635 +django/conf/locale/cs/LC_MESSAGES/django.mo,sha256=P4HhR6_GMVxh91AVwSff8B044Zprfzz9JPRHK9mIgSA,27206 +django/conf/locale/cs/LC_MESSAGES/django.po,sha256=_XDU6clyHyzOuZALSTdnG7QGwiZ06VD3jd8CohcZRwA,29391 +django/conf/locale/cy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/cy/formats.py,sha256=WKp8F3IiISrgxXItSpIB1c0a8xFY8CsEzqXMQRYbsPQ,1755 +django/conf/locale/cy/LC_MESSAGES/django.mo,sha256=CJL04VXl3vjRWff93fzWDLeEJPw_Il7G5YzjCHdZZok,22280 +django/conf/locale/cy/LC_MESSAGES/django.po,sha256=C14r9gUOnCV5fNb4YZ-NN-fnLlZl1xHBP3H0tu-LgRk,27045 +django/conf/locale/da/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/da/formats.py,sha256=YQaL8Y3H0AOPvJzxwiDXwtqrbY0EyHNGtfMu4BGha0Y,939 +django/conf/locale/da/LC_MESSAGES/django.mo,sha256=dPsLukRWrR5r2aCOX1XQ3asDFWSIzsQSeHq_0BWev5Y,25647 +django/conf/locale/da/LC_MESSAGES/django.po,sha256=XnFp_eWVFEOjcV9Itf2GUvlXsepSNeqzghnTCc57b3o,27690 +django/conf/locale/de/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/de/formats.py,sha256=yPGP3kCbQCU0VY3P-Kuxx2yl7eWFMsMtGu5xzDdr6jo,1033 +django/conf/locale/de/LC_MESSAGES/django.mo,sha256=b6y542k7Nq5UxezQr9fZzciSW4s46wYqTwL7B-suGgg,27098 +django/conf/locale/de/LC_MESSAGES/django.po,sha256=2QIe6vGtkh8a-L0nY_sL_wO_nBJ8-MgEuylz0hPPpfs,29126 +django/conf/locale/de_CH/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/de_CH/formats.py,sha256=a6uQQxZrtRAd_8GesmMEjWa-quvjBq3gJ5Ka17sy1yM,1377 +django/conf/locale/dsb/LC_MESSAGES/django.mo,sha256=dU5WKb8hS__Iy-H5Q1HeLgNK_LyZ96KOAOj_2s0E1eI,28362 +django/conf/locale/dsb/LC_MESSAGES/django.po,sha256=YE4oOqyXRuHtqc0NuOP8544aUG4GjRVZXGFDU7BJtBU,30549 +django/conf/locale/el/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/el/formats.py,sha256=0WF_ISbYSN0NtPuOk1sFsYITCPb3IG2jEaAxVSXLaqU,1385 +django/conf/locale/el/LC_MESSAGES/django.mo,sha256=qjPNmi81vdMnfgpvNVjv6QI2CslBIlMq9dKKaT17D3k,32036 +django/conf/locale/el/LC_MESSAGES/django.po,sha256=AiuSDxNIfaeItrzgk46v88hfwdEqb62r6YuTy4FBvBc,35102 +django/conf/locale/en/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/en/formats.py,sha256=HImytl2xU0ui_bdhmp6GZWLqfHIRf_1iidtajlfgh7g,1748 +django/conf/locale/en/LC_MESSAGES/django.mo,sha256=mVpSj1AoAdDdW3zPZIg5ZDsDbkSUQUMACg_BbWHGFig,356 +django/conf/locale/en/LC_MESSAGES/django.po,sha256=WROjQo_CcfZJGOtsH-Ep0CTxXdMWYrzNhD9IXMcoa30,28066 +django/conf/locale/en_AU/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/en_AU/formats.py,sha256=TnVSM6iUeAMqyfDNLnjGKwBiziVA7gwvokERm549Zzw,2050 +django/conf/locale/en_AU/LC_MESSAGES/django.mo,sha256=vx8-wkZxPq-WseGghwXuLAK5MdDsRScKnrgBATVarwc,16288 +django/conf/locale/en_AU/LC_MESSAGES/django.po,sha256=-9v7S5GrwT9045EePAWwUIqtXmOo_9W9dRQ6kFsCBmQ,23221 +django/conf/locale/en_GB/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/en_GB/formats.py,sha256=wp-VCJ2IY5nEjQSejomReMG2YyE_6ra4hEiSbYFt6yI,2050 +django/conf/locale/en_GB/LC_MESSAGES/django.mo,sha256=whAV7H3YTMcdt-gFyKY5naykTaV19x1gZoO8SJh2_TI,13133 +django/conf/locale/en_GB/LC_MESSAGES/django.po,sha256=vpqOmBh0ccf7P5-lcwFgxUhCJw35BWi39aALjmEa5nY,22060 +django/conf/locale/eo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/eo/formats.py,sha256=rNeBMpv6p-eJSzdZvTyGuDDDIm3xY7FKsEpeyFZ05p0,2268 +django/conf/locale/eo/LC_MESSAGES/django.mo,sha256=_69wzsjZ_TVeVNnQh2fqf2TTaWhtWffOpJGpnhrpXlc,23163 +django/conf/locale/eo/LC_MESSAGES/django.po,sha256=Q0lnN6zJ1dzXYrUCKEUqW4sIq3FTKw3yhtsQOb0YZ5c,26628 +django/conf/locale/es/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/es/formats.py,sha256=xks_4TjYTSGyz9cIYaE8OM3wbueP3ooM2QTsqNPOMF8,947 +django/conf/locale/es/LC_MESSAGES/django.mo,sha256=6Ky02Z4XSO36xG1qVcJ1e8Pi44EM6xGGbkzoOyozzS8,26351 +django/conf/locale/es/LC_MESSAGES/django.po,sha256=aNH_N2BZmk8ysiPgD_AQcPPoZ7npDsbiFVPITX8UDfg,29080 +django/conf/locale/es_AR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/es_AR/formats.py,sha256=vhHFN4lkzOQARRXhgt5s8M7ITTLZMMLVwbjby-Y_UEk,933 +django/conf/locale/es_AR/LC_MESSAGES/django.mo,sha256=3DhKGVuSoZFkpi0ikLShRAppMfpHdJDwdpJGRVhsB8Q,26793 +django/conf/locale/es_AR/LC_MESSAGES/django.po,sha256=gwW4R0-DWtORr2sB_0sE5dvPactzxOltwh1bdmNtWi0,28697 +django/conf/locale/es_CO/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/es_CO/formats.py,sha256=kvTsKSaK7oDWK6a-SeO3V3e__64SjtDBMWoq0ouVDJ4,700 +django/conf/locale/es_CO/LC_MESSAGES/django.mo,sha256=bXSa4kJtVu9xeQOFgP7RTfirJgEynWk4R32KSKjEezM,22791 +django/conf/locale/es_CO/LC_MESSAGES/django.po,sha256=8X_pdt0Amtvbw3AZUE_fKMy20ItYR-zS1caqnHxKjIE,26533 +django/conf/locale/es_MX/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/es_MX/formats.py,sha256=vrMMOSU8lh48jeVc1y69jdgSSI-AFLXp5-UbmH7zT0w,824 +django/conf/locale/es_MX/LC_MESSAGES/django.mo,sha256=0WYdCPgyC0XpF8to_bbyw__IRA5LGj8izt8DoCH1m6I,15095 +django/conf/locale/es_MX/LC_MESSAGES/django.po,sha256=rwJvZGP-6uQX1bvQSW4pVE4y4dfriVZOCfkWRzC9QBI,23042 +django/conf/locale/es_NI/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/es_NI/formats.py,sha256=QMfHoEWcpR_8yLaE66w5UjmPjtgTAU7Yli8JHgSxGRI,740 +django/conf/locale/es_PR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/es_PR/formats.py,sha256=mYKWumkfGElGDL92G0nO_loBoSOOFKs0ktsI3--nlLQ,671 +django/conf/locale/es_VE/LC_MESSAGES/django.mo,sha256=93zneQv56yHv9DfaIJ0cIv8wBk_E8RCjUgAZYHgfdYc,23797 +django/conf/locale/es_VE/LC_MESSAGES/django.po,sha256=m5bxw3vZNZwDNt5riWNjAqzgYFsMS2PM124ek3JALus,27070 +django/conf/locale/et/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/et/formats.py,sha256=2V0pYSzXqv1cbkYAAQnk_3J8dynoX0Lma6J6M3bLnBg,705 +django/conf/locale/et/LC_MESSAGES/django.mo,sha256=-cUSFc8kAJ3I70QPVeys0XZ_9YsDHQRj0H7IltFBiAw,23987 +django/conf/locale/et/LC_MESSAGES/django.po,sha256=GA_0u-rXtGmH3K6kMHi_HsZec3IYH61nuQlKoVuIyAQ,27017 +django/conf/locale/eu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/eu/formats.py,sha256=8dIjaFxQlsd79KO-kHFNgt-vyYqrx3K9_OJf_NMIYEM,747 +django/conf/locale/eu/LC_MESSAGES/django.mo,sha256=l_3VH9HqLql5QuzpmLe5FR7Ky5zCV0B-WAlqzC04K_Q,25947 +django/conf/locale/eu/LC_MESSAGES/django.po,sha256=5CCDd1k-WpE5LAnl5GAkZUMcqVw0D7qFvlCDZvVtViQ,28143 +django/conf/locale/fa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/fa/formats.py,sha256=sZyCeIQAo6HCtKr5t6W6y8Ll_Y5Yh0zXuy9qz5CaUz8,720 +django/conf/locale/fa/LC_MESSAGES/django.mo,sha256=q4Eww63ggp2Zj0Ski_GCnnURIUu9_Y6EofPfpw6lDM8,26023 +django/conf/locale/fa/LC_MESSAGES/django.po,sha256=BU_qdBlidEoBDUJRoBgzO85HF90s5ehfWLgJEpwC1Pc,29571 +django/conf/locale/fi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/fi/formats.py,sha256=bZW36V91AaMAp_xJURr2FWfEFGUnts7MBE3euHF8De0,1323 +django/conf/locale/fi/LC_MESSAGES/django.mo,sha256=5b6NAxHFOuETT9c5_XoLhy-q4bgubXo1HLpY_rYZ-08,23713 +django/conf/locale/fi/LC_MESSAGES/django.po,sha256=hdp0Z724jce_5FPmczkqnZ7mBVSt9Efaa8ldEfynNOs,27016 +django/conf/locale/fr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/fr/formats.py,sha256=S3BK2FbOdZdUUsPp8IHMb4GpDm_ctIIE1z4ZX3L7F1I,1387 +django/conf/locale/fr/LC_MESSAGES/django.mo,sha256=x_IT_zrxvWvvPvii4RI21VR-GqUodZRKad00NnOhOKw,27235 +django/conf/locale/fr/LC_MESSAGES/django.po,sha256=AI2wbCH2n1HKqnD5x4I1YBQqCoGTZQRG4MtZ8o-YSD8,29318 +django/conf/locale/fy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/fy/formats.py,sha256=-wHp-HFUatmTEgGiQ7ekCMFMB8jpAQD4UC4mmhjRTL8,656 +django/conf/locale/fy/LC_MESSAGES/django.mo,sha256=N13eBeS5pewXpx3yIAwiqB8ISjw-J2ku99dncOnz_lY,2525 +django/conf/locale/fy/LC_MESSAGES/django.po,sha256=GyR8MjHB6fS3NuxDCsNegt9rZPyst5pMqs0i0WWIXUM,19283 +django/conf/locale/ga/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ga/formats.py,sha256=o1K6fb8AwJ5iHqSxWirH_qLhFp54vRmQ0cUDeEQJFZg,680 +django/conf/locale/ga/LC_MESSAGES/django.mo,sha256=Iw1dcW6tAoIFBgjFAWyfXH7lXz__fRrS7cktYtcQ_IM,15097 +django/conf/locale/ga/LC_MESSAGES/django.po,sha256=Adp1JYadvckm_A4nlXZGM-hPAz_8bcdNw08BlEQNorQ,24000 +django/conf/locale/gd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/gd/formats.py,sha256=4H_tXzwJIVIn9uxvszCWP9clNzY1dtCA9NC42JhvnBs,713 +django/conf/locale/gd/LC_MESSAGES/django.mo,sha256=CZ8l9P68RnGriRwFwq9zYZKAtomBej5OPw2hxSvMe9A,29409 +django/conf/locale/gd/LC_MESSAGES/django.po,sha256=V_jU770O0WkLt0eTOhlamk6seUSrVF5m2dnmN9o2NNs,31733 +django/conf/locale/gl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/gl/formats.py,sha256=BIDA50C9zjxUG7c-yFrdhxs0ROEP9OtJGCmCJDVtMbQ,755 +django/conf/locale/gl/LC_MESSAGES/django.mo,sha256=sNVgEfEr_q6kth4MHJvBOZ34H-LkrkiFfjBsfmKA9fc,15342 +django/conf/locale/gl/LC_MESSAGES/django.po,sha256=6Zu_Oi6Xa7igkyjA8jp0BxvkLIYgguXnGFcRwPG3uO8,23283 +django/conf/locale/he/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/he/formats.py,sha256=XqXL6y_1InNsVBDVBUVsiN4dPSfanXc-5ZCh3c6HaiM,710 +django/conf/locale/he/LC_MESSAGES/django.mo,sha256=34i0neJ_XbU9-IbZtpSEd0fLZaZWlKsiNifALt6TuUo,28516 +django/conf/locale/he/LC_MESSAGES/django.po,sha256=wEQFKastjSqb-7DCXk7JMET2VVnLlUo4bxH6ldDjmSc,30310 +django/conf/locale/hi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/hi/formats.py,sha256=y0O5F4C31wgJMXPdVrQvNqYKVyr8-Z1hf5o0N9P3i7M,682 +django/conf/locale/hi/LC_MESSAGES/django.mo,sha256=4v9ljgKHyBd4tqUr_5CBNS8rNtLsFERsFOK-zx8kYvY,19270 +django/conf/locale/hi/LC_MESSAGES/django.po,sha256=Ennlas9mqLL6pqYRXhEHK8OPyXNq9I0aKoizn0aeKLk,27774 +django/conf/locale/hr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/hr/formats.py,sha256=VYQw5JpFK4GKOB9LhVcUSLprU7_66QP1JBu2XWss4L0,2039 +django/conf/locale/hr/LC_MESSAGES/django.mo,sha256=Y5qAfjbubIQDJIbkJzw7tfzUsuIlEYUlsvGfvEYiFP8,24409 +django/conf/locale/hr/LC_MESSAGES/django.po,sha256=iOHjAFvvu8OiBeh2IukSFXEkL-Uqr_dDEKKCAlvGtjo,28207 +django/conf/locale/hsb/LC_MESSAGES/django.mo,sha256=KBjg59sQQa660xIws3jFnkidggEqrun697cEPFjBUXc,28113 +django/conf/locale/hsb/LC_MESSAGES/django.po,sha256=jPcsXLZq7Q8b1TOIGIrDiNPVxcIYkwoISfYLKZpedr8,30279 +django/conf/locale/hu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/hu/formats.py,sha256=WSlkhX-1FPj0NuP_a_XmlCADrJZIRZ-xGmDhJ7M5O8w,1050 +django/conf/locale/hu/LC_MESSAGES/django.mo,sha256=b_P30VSZRI-9QTc8AqTk6qucg_axzcLHGebh3sFTwFU,26971 +django/conf/locale/hu/LC_MESSAGES/django.po,sha256=TUAoYIGuZlX45dkxIu-Yo-drlhn0otTLwN7WQvIfgfo,29023 +django/conf/locale/ia/LC_MESSAGES/django.mo,sha256=uctHDWY1qKSlNlcdaEGswjWkPYy3BDJawUbAfEddk4Y,23125 +django/conf/locale/ia/LC_MESSAGES/django.po,sha256=ckopqh_kKLtaJC9upyGY4hh9NSkF-iHsZOm9sur4-A4,26641 +django/conf/locale/id/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/id/formats.py,sha256=uwSpqmGF6Pyy3cnYEgyNH5m6ttoXNC_pofpbjqoAO_I,2068 +django/conf/locale/id/LC_MESSAGES/django.mo,sha256=SuTCKPRarUZl4g7gFCsL834Y99UbzbWrVl06il9wwpA,23697 +django/conf/locale/id/LC_MESSAGES/django.po,sha256=i4RgdcAWsxMrZ90uf4d8Vx_2zhJTLoGe8azy3qpdsbw,26511 +django/conf/locale/io/LC_MESSAGES/django.mo,sha256=1PUSoRgjcrjc8OHIvkjAAh0xtSkSaafGZuO6SYkx5CY,14965 +django/conf/locale/io/LC_MESSAGES/django.po,sha256=aURK_SeTtqM8ko_kI_AM5jWyqKAb1iuqNvOKQ1GQ0SE,22892 +django/conf/locale/is/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/is/formats.py,sha256=-OxThHQAWwCVrfVLDAkstCQUfaAHpbJhRPQlqZO_wGo,686 +django/conf/locale/is/LC_MESSAGES/django.mo,sha256=AvZcNA6n03-Rmw-EfkKGyhoOVvL3gankv6ejIp36-x8,24147 +django/conf/locale/is/LC_MESSAGES/django.po,sha256=kCl05ojMd_bNrU8pY-c-MynWqwvAX1EGjaHZ3_KXtlg,27444 +django/conf/locale/it/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/it/formats.py,sha256=coYr_ErN7oALN5ciqpRQcnb-xr3DFxjFpUSvaaoRhS8,2012 +django/conf/locale/it/LC_MESSAGES/django.mo,sha256=bxZBTLEDM9eaLX0rWzkFZNxpjbj14JH5ffm-SpYBPnA,26205 +django/conf/locale/it/LC_MESSAGES/django.po,sha256=9tNPsF-8oMThT1PHqUWloj6jVtXoDlCdQqsQnKHpGjc,28559 +django/conf/locale/ja/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ja/formats.py,sha256=O84swETmvV3yxAifRl5iTADyg-ivY5rcXvtQz2B4rrI,727 +django/conf/locale/ja/LC_MESSAGES/django.mo,sha256=75ugNx1DM89An10tR1tDqFZ8YvTojekPRs_HjKUnuus,28164 +django/conf/locale/ja/LC_MESSAGES/django.po,sha256=gAKbzPUxu2LaYCfy0BA-KgcBUzCbVG1Hr3g0cPilVeI,30184 +django/conf/locale/ka/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ka/formats.py,sha256=dxWVYJ3XpryXgl8Kzp1he0AbIMNtvJStaGmmdFJim-E,2113 +django/conf/locale/ka/LC_MESSAGES/django.mo,sha256=Vj2D4EU6RlcW3eQWucpRc99TSrT0xWMYFgPLGVbVRLM,24566 +django/conf/locale/ka/LC_MESSAGES/django.po,sha256=GcUnKM13CyKi8cgO_AhLaOt3ydZo54UC6U4pThjIMWg,30933 +django/conf/locale/kab/LC_MESSAGES/django.mo,sha256=Y1q3K0U7gFl_0wxVd9BnpaUK8NjBajk_T8lFgyDC_ks,7200 +django/conf/locale/kab/LC_MESSAGES/django.po,sha256=iyxoGXMzvIyj3FedGLNrDDQqv4qRunq_2BZ8_FCOcoY,19730 +django/conf/locale/kk/LC_MESSAGES/django.mo,sha256=qfkw2mX6miyS4HSrpgmIKbwMbqYPKht5RPpS5rDPJWM,13954 +django/conf/locale/kk/LC_MESSAGES/django.po,sha256=8BBGZTtUavPWyQvDf5QcF6zDA3t0O6UdjcNf0uH_TX4,23661 +django/conf/locale/km/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/km/formats.py,sha256=vNqsdfFBQTY5yKjEvCXlZWurKM1WmBH0FbFnpIVQIPY,748 +django/conf/locale/km/LC_MESSAGES/django.mo,sha256=IkYee7gjLxKUUaJ1xrWlm-mGFy-1Q5YQTfOcKaqsdG8,7284 +django/conf/locale/km/LC_MESSAGES/django.po,sha256=BUyjSCQne8sySq1dLsqmKCzCJMja562ocRYcNiZOKPk,21508 +django/conf/locale/kn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/kn/formats.py,sha256=LwKQw1gobRYRnusHe3ZI2pbCtA1N1GfkCK03LcKFpcg,678 +django/conf/locale/kn/LC_MESSAGES/django.mo,sha256=Q0Wq7NKSYt5JqDWuV3gi4EPtqe-p3S9dJxJu8qn8NmE,18655 +django/conf/locale/kn/LC_MESSAGES/django.po,sha256=unXArg6NUEnyrEP8TYdeVK8CBtFzPJkianlfPgmzUzE,28177 +django/conf/locale/ko/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ko/formats.py,sha256=5-5Ht40mgk0covYgNoqZNi0yX1ldjC5VIGsZLb6CF9E,2253 +django/conf/locale/ko/LC_MESSAGES/django.mo,sha256=yhYOQLfUmkFTz9ZEwOUY_EeH2fT9_HaNdK3hI1J9BbY,26594 +django/conf/locale/ko/LC_MESSAGES/django.po,sha256=vJTX4e9Didb1PXWT5Rd7Ul8D2lYSTZZepw__qxXGunU,28873 +django/conf/locale/lb/LC_MESSAGES/django.mo,sha256=3JKBA-zIROxVEJFv8eoUKrVoRFjbY9bBk16jQF7Wp3s,8069 +django/conf/locale/lb/LC_MESSAGES/django.po,sha256=v1_uBQpRI8fT88whqpah66AmaJG_uIX65_sRZEN2LPg,20131 +django/conf/locale/lt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/lt/formats.py,sha256=ZLmKWFgKwrHeDeTO6fPyRLjgxkU3QCK3f0LxnYhLvqg,1763 +django/conf/locale/lt/LC_MESSAGES/django.mo,sha256=vh0vsbuEwlfh4QSa64_ufOGZyjkb3VuPRhhTNKz8lQE,27392 +django/conf/locale/lt/LC_MESSAGES/django.po,sha256=D_3yf43LDN_Xd_tF66iJjNF1qW9FPFp8f9KGn0VQJ_8,29731 +django/conf/locale/lv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/lv/formats.py,sha256=Q42-XZ5aWtfoKhKuf07148Ir6-UrjaWNNeA8erBtlCE,1839 +django/conf/locale/lv/LC_MESSAGES/django.mo,sha256=79KKe_LrjEN8JS1upbgSp6N5852PdGkdJy6mhhOSKII,27033 +django/conf/locale/lv/LC_MESSAGES/django.po,sha256=aCdYvg739kJRlh0FE5jJGDaLCrQ_tsgLzWgVn0dPMMM,29210 +django/conf/locale/mk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/mk/formats.py,sha256=DJVFqbqW7dq6GPzh_MSRQvQAicBtVUwRHX8RSLgqpFg,1675 +django/conf/locale/mk/LC_MESSAGES/django.mo,sha256=GqcYWwCPmQZeBa9sxroK0LQYqlpwE9CPc088bpmv2Kg,29431 +django/conf/locale/mk/LC_MESSAGES/django.po,sha256=VZT-VhVOlcQaJKau3giyN24XA4GG1aLR6U9e-dDmJWQ,32812 +django/conf/locale/ml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ml/formats.py,sha256=HImytl2xU0ui_bdhmp6GZWLqfHIRf_1iidtajlfgh7g,1748 +django/conf/locale/ml/LC_MESSAGES/django.mo,sha256=UcQSpkAl4anGotopGvF5ddOhz0JlnR4SL-yDIiJAY_U,26733 +django/conf/locale/ml/LC_MESSAGES/django.po,sha256=aQeFRGiFB7vke7NuGuO7rZ2GuL94rZ_tqpfY-_U38a8,33211 +django/conf/locale/mn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/mn/formats.py,sha256=EbTyiGTOXJdZxUwleItvk_CwK5MMl9R0pGniEUL-7HY,674 +django/conf/locale/mn/LC_MESSAGES/django.mo,sha256=alhmXO_Eqc8PFKh3lN1FW7VR5iiGShbRK76yQOqbzr0,28042 +django/conf/locale/mn/LC_MESSAGES/django.po,sha256=-XgvjCXIeFr9Rm9EdwyBJkMCWgzwcmshjTdUDZr0xao,31351 +django/conf/locale/mr/LC_MESSAGES/django.mo,sha256=Jy_VbHVKhgNj9MSmdLv3ouVYXYjJ_JFTn8_zmYoYcyg,1652 +django/conf/locale/mr/LC_MESSAGES/django.po,sha256=yyPm1I1uqXG8VkS6yTrwECvi6p07RRep5h9iXx_v7eQ,18910 +django/conf/locale/my/LC_MESSAGES/django.mo,sha256=5pYLrTOipARNLlpG5dp0VZYJUQNqdt0vK2blo1x6keg,2650 +django/conf/locale/my/LC_MESSAGES/django.po,sha256=IVACCaTwYgAANqlcrthvSLFK9zvlOLhJTFRWCRBm11U,19193 +django/conf/locale/nb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/nb/formats.py,sha256=y7XWPhuOv7QkDBvx4qkwehmqRpqwLzn75FWn-25mvcc,1699 +django/conf/locale/nb/LC_MESSAGES/django.mo,sha256=49Oyc61QoCTz-VU5mH5ifESqWtLI39edLfvh_9nlFyU,25567 +django/conf/locale/nb/LC_MESSAGES/django.po,sha256=Fx88KqyJjJOdDlv0zEvj8bhDN9OQScnQfpOVl4QK5UE,27704 +django/conf/locale/ne/LC_MESSAGES/django.mo,sha256=goDEutWg6y8KqC20fqxg2qpTAYRYx5CPSNLw25IsVA0,27921 +django/conf/locale/ne/LC_MESSAGES/django.po,sha256=GeDsYbeil3nlhB1G1JTfSPch502XZHGS2JZjtxDAuzs,32888 +django/conf/locale/nl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/nl/formats.py,sha256=zpsypiDhFuZzGidyQYWPoeMwrL4cEsGqdZGTu4BdaAs,4405 +django/conf/locale/nl/LC_MESSAGES/django.mo,sha256=GjOycm_b8DrWGSq-_OWTMoRuhxOcW_PnxdmOc7k17oY,23480 +django/conf/locale/nl/LC_MESSAGES/django.po,sha256=n7_lU4fXpjbKmt5_0JN33FW2IXjQyWL0Ybwl2E-FzPM,27252 +django/conf/locale/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/nn/formats.py,sha256=TUcKUtEJ_kmvbW_vgHU64jsFkyPYBorssU_HEUK8hrw,1743 +django/conf/locale/nn/LC_MESSAGES/django.mo,sha256=yfZvfqfpLCx3lV_LMd3Rw0Y4TTUvJQznZGwmf46nhnY,14256 +django/conf/locale/nn/LC_MESSAGES/django.po,sha256=JguzOlZ92jdHfp1eV3U5zKyxTaphpSjGSxXAIxSEspA,22522 +django/conf/locale/os/LC_MESSAGES/django.mo,sha256=GouuR0wncfpOVJurgDeTkrdKvzaH1iZxr-4IsXVEd6Q,19250 +django/conf/locale/os/LC_MESSAGES/django.po,sha256=DFnTZKUg_hGp2Pu8lJ0_vfZONAUl8JpK8UOhQtWFWR8,26392 +django/conf/locale/pa/LC_MESSAGES/django.mo,sha256=MZHSQcl584TTogQpYXzE1o_AqfZlwpvkb1CeXksVseI,11501 +django/conf/locale/pa/LC_MESSAGES/django.po,sha256=-mzScJHrkxIMp4tbbd8NA1EG6V2_pail2PYhaJ8FWxU,22591 +django/conf/locale/pl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/pl/formats.py,sha256=l_l0TfQ4pXGC3HmhhzKyYagS6i9CJTaOcUZvT4zU4PY,1080 +django/conf/locale/pl/LC_MESSAGES/django.mo,sha256=zBDy55ZDVr8J1T-juKv4jsCCO5BvK1I57YzbBuQA_qY,28447 +django/conf/locale/pl/LC_MESSAGES/django.po,sha256=Ipa60phKqYDjypo_M1PKUhiGi9E4kbyPn6cc4hpRcE0,31667 +django/conf/locale/pt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/pt/formats.py,sha256=VULz9oqB_gAJKfl6vsblpUzHwX3bYJXC4STqRcObJLg,1650 +django/conf/locale/pt/LC_MESSAGES/django.mo,sha256=sn4p2gmHihkh2p30YOdcmuQbYomVgD8igFWR-ptN-78,26222 +django/conf/locale/pt/LC_MESSAGES/django.po,sha256=9n3qfFngx6h2a69O91et9c97peQL6DeV7QhGT5J7mrY,28362 +django/conf/locale/pt_BR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/pt_BR/formats.py,sha256=qRqGFjJ1lXCpRxj-UZ8Rxe4BKPe66ZN2ZZ6KblVTBig,1367 +django/conf/locale/pt_BR/LC_MESSAGES/django.mo,sha256=l-gLW0mKPtwMhWEFdF5SU6_OfdBsmjHXpspCn1X0ewg,25639 +django/conf/locale/pt_BR/LC_MESSAGES/django.po,sha256=YcLVLWR9juH0uRXsSqGCzUZm_RqQ7A31juOwQL_Cu0w,28689 +django/conf/locale/ro/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ro/formats.py,sha256=3Ej_afExYIcmvjTEOtSxjVSZHU9DWaaS0Wiudra4Ocs,706 +django/conf/locale/ro/LC_MESSAGES/django.mo,sha256=s5dQy0ku0G5agJ9zZxldGkLou6BKL65j4h7NaXHHIS4,24423 +django/conf/locale/ro/LC_MESSAGES/django.po,sha256=7k9VFSOwqnpenN8h78diHkGHvFhnP2uPqiZJrxEtmeY,28111 +django/conf/locale/ru/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ru/formats.py,sha256=xH12699iN_1SB_SeBILcMZNTS51PqVzZmNfoTO_9K5A,1200 +django/conf/locale/ru/LC_MESSAGES/django.mo,sha256=Qim_pvrCtbMmAn0rskvOmQDpxSbOoJ3EdYstonJCIF0,36378 +django/conf/locale/ru/LC_MESSAGES/django.po,sha256=RWFXm64RZIelVHsHvcBwNQ0l4Dxz4kOEgk9M6wzSRVs,39215 +django/conf/locale/sk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/sk/formats.py,sha256=ptsIRV-fDQlK4vPtzjwjbdY8mbcnPYYvjZaUOkK2C98,1106 +django/conf/locale/sk/LC_MESSAGES/django.mo,sha256=NNB1m2vlnW2A3eyMWxBy-QZn2HXLbha-N3zbsYtWbqM,26984 +django/conf/locale/sk/LC_MESSAGES/django.po,sha256=CPBvqkeL69Xh-tvGVoZuFJXgC6Hey6o1Sigp9Dcdl6U,29108 +django/conf/locale/sl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/sl/formats.py,sha256=HZs6dDurYXA8v1nX9vq5Q4q1wV11t9lanI-7xDAGWcw,2051 +django/conf/locale/sl/LC_MESSAGES/django.mo,sha256=XZqEBvorAV1sX6f5bN98wkhn2flP-Bz4vJ7NdF1K61w,27117 +django/conf/locale/sl/LC_MESSAGES/django.po,sha256=CtrUJcbJrSin_NuwYV2cAzyP3D756a9ZcEVL0IgiVzM,29800 +django/conf/locale/sq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/sq/formats.py,sha256=z_d_y6d46eL14p3WPaFxzB2zfF_YJNF1V4SF612VFJE,686 +django/conf/locale/sq/LC_MESSAGES/django.mo,sha256=QqpQtbQQISl4isaXmsVkMJW2qa75i6fztcsxY4l8np4,26370 +django/conf/locale/sq/LC_MESSAGES/django.po,sha256=fcud0pDHA_9X0EC6dtVpggH5zxs9RKlCD0tQZAINOgA,28477 +django/conf/locale/sr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/sr/formats.py,sha256=hfwSNM9kkDAtDPkSas2QWX1qHIt7GsBgmQ80TUvBTsM,1944 +django/conf/locale/sr/LC_MESSAGES/django.mo,sha256=1eWU2_oPwrnZ0gAgfapAsYVhI14xc2f8GrsZ7l_cvRc,32008 +django/conf/locale/sr/LC_MESSAGES/django.po,sha256=BZjS3ARe8XKNkcgh-jrRuJx7rJrhYF97-l6-ATf2eiU,34276 +django/conf/locale/sr_Latn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/sr_Latn/formats.py,sha256=hfwSNM9kkDAtDPkSas2QWX1qHIt7GsBgmQ80TUvBTsM,1944 +django/conf/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=ZPxsx5ss8kBzJ3uJi3kht-_y2a2nsELUZ3Q3W4__14c,13331 +django/conf/locale/sr_Latn/LC_MESSAGES/django.po,sha256=WsytYWCapT0sgjh_-JVnHRP90Ji0s0gLjHeyzdKuljw,22535 +django/conf/locale/sv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/sv/formats.py,sha256=FkRAuHHGvheCTO5U-G5DZ8vqCF2pQ6AZ2cpKkFM8fMM,1502 +django/conf/locale/sv/LC_MESSAGES/django.mo,sha256=hPkakE_AE1GVMnSagAL1XXHWYn-PgG3-NSBfX2rDwDw,22952 +django/conf/locale/sv/LC_MESSAGES/django.po,sha256=KFSWF32m7oMpu8DfD3SJGlfIpabM3xmCUGuC4I1zHbk,26841 +django/conf/locale/sw/LC_MESSAGES/django.mo,sha256=ZHWikD3fPZeBsrQ7qg9iHfzEt5DoQU1rBXvMd5Wzdtk,14903 +django/conf/locale/sw/LC_MESSAGES/django.po,sha256=9BcGhrZMf5gJzw02YCt4QyUdQYVphHUb13oHKy9eTEU,22800 +django/conf/locale/ta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/ta/formats.py,sha256=gyLOpk7u1e7LNBoQDHLs4kIw04y7vmGoG9v1aq7NjmE,680 +django/conf/locale/ta/LC_MESSAGES/django.mo,sha256=UsBQWhTd5y0OBsH7Zr8cVX7NV7P6waHpc_0RcpWQPH0,7155 +django/conf/locale/ta/LC_MESSAGES/django.po,sha256=EG-DZKUybRWuFEQ8jHIf171sdnZzpjnbaDXJQuffRVo,21547 +django/conf/locale/te/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/te/formats.py,sha256=a133NPw7ry2WYGs7b3X7PGBC-GHUtN2S5zcjLp9CTJw,678 +django/conf/locale/te/LC_MESSAGES/django.mo,sha256=h0T8JGVo0EzGXSbwDVWulpVs0PLJM0gfro_QTk5SHEY,13321 +django/conf/locale/te/LC_MESSAGES/django.po,sha256=G0x90aGtPjtouO99ZQMN9Nf-YW83d_qxMSc-7CrwhX4,24597 +django/conf/locale/th/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/th/formats.py,sha256=ykqZkZXnqRp0aROoD2fBC3InCIHComUNELfIRL1RBAA,1070 +django/conf/locale/th/LC_MESSAGES/django.mo,sha256=6EW5yaTtSlrZts7qo4LL5rgx1qQcSx7h2v6R-YzA0sw,19036 +django/conf/locale/th/LC_MESSAGES/django.po,sha256=37RzmfwXH2sn5LxHSCjDCS4ICdZtDJ7Oe1yJ2FwtXeI,27292 +django/conf/locale/tr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/tr/formats.py,sha256=Z6ZDt8-hgzX_NZbvc_npFYSGw6C_j7OKcV4ZQHBUyuc,1074 +django/conf/locale/tr/LC_MESSAGES/django.mo,sha256=phj8jyZwfik0vifndLSCQpPoeUxchEmIt2Uz5nK4bKU,26680 +django/conf/locale/tr/LC_MESSAGES/django.po,sha256=ZZQdmqGVOC5y2uZV_ZslYOZYDbQK50cAA2KZx-rEKxw,28903 +django/conf/locale/tt/LC_MESSAGES/django.mo,sha256=2YqPqclnPPiORixIWcuw2Ne-w_LzYjLsV3o1Ye1AQwo,15352 +django/conf/locale/tt/LC_MESSAGES/django.po,sha256=o4_JxmlTXHAEoSx6vHxiKiZP1va_aRT5kFxIjXZcjSI,24745 +django/conf/locale/udm/LC_MESSAGES/django.mo,sha256=eeu0nDatoybuYCF6z3hXG4XA1rs6FgX2x9d8r8cYc4Q,13564 +django/conf/locale/udm/LC_MESSAGES/django.po,sha256=61Shy8V_t2ChpP-ZehJ82iauo12bKnuVnNRkWg1844k,22914 +django/conf/locale/uk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/uk/formats.py,sha256=FJHWiQfZjPDWyfTWwQXAKBjp1XCtFvYb-obqalBPFTA,1359 +django/conf/locale/uk/LC_MESSAGES/django.mo,sha256=H5AFM_sw3QYK6XdcwyPOYwhL6VFRo4WnlCHmP6lDlyU,31645 +django/conf/locale/uk/LC_MESSAGES/django.po,sha256=LT92TVaJ8nR9lxyHtXfcZHZihoWh45uypZnhuSMlsU8,35111 +django/conf/locale/ur/LC_MESSAGES/django.mo,sha256=TdYByXk7rMGxKyhaBpPX2tH8SaNJpRZKMYdiXDTGiOg,12566 +django/conf/locale/ur/LC_MESSAGES/django.po,sha256=HE5mzhoMdTYdTih4smcZV4N7BMjwiC7jE9urU1D1c8A,23108 +django/conf/locale/vi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/vi/formats.py,sha256=8KCSVtk3N4Wsrlx6hGDj8PbVV6sYshglfyLtpCbFrxQ,760 +django/conf/locale/vi/LC_MESSAGES/django.mo,sha256=MDt-w99IwQWBwpqjtPagMXe6UlMGacU2w4PFw1vxYNw,19452 +django/conf/locale/vi/LC_MESSAGES/django.po,sha256=BJ50rmwgIa1K52YOcQ9AidcKx1h_Edw5rS-TDylAqUw,25483 +django/conf/locale/zh_Hans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/zh_Hans/formats.py,sha256=I8nkL38iWW2p8eRlPy3mK85btInMIK9mxILxmBjm8ic,1743 +django/conf/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=kMTs432GsXu7-0jFPUjugLHl2pg7or0URuKgN-K4bmA,22528 +django/conf/locale/zh_Hans/LC_MESSAGES/django.po,sha256=xGCO2-YAtsRpiOamZ62SwzMpwYOClcXijNUA9ppqR7Y,25991 +django/conf/locale/zh_Hant/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/locale/zh_Hant/formats.py,sha256=I8nkL38iWW2p8eRlPy3mK85btInMIK9mxILxmBjm8ic,1743 +django/conf/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=SUuSJPPbvgREC74P17DcFrbJBNHob7WR9c-j95TxnJo,22354 +django/conf/locale/zh_Hant/LC_MESSAGES/django.po,sha256=u7LiD_jsKJdv1KoTD1rTyJhasKaIkODIF8dkdM1gvrw,25554 +django/conf/project_template/manage.py-tpl,sha256=L9sKzlpvlJtysHenCAVoERXvXFvUn_FtfNApKHC4PQM,550 +django/conf/project_template/project_name/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/conf/project_template/project_name/settings.py-tpl,sha256=4JwYHW6nbDUufEkQOQjOY08slnLMETQAJ9dqr4PjsmU,3210 +django/conf/project_template/project_name/urls.py-tpl,sha256=vrokVPIRgYajr3Osw2_D1gCndrJ-waGU3tkpnzhWync,775 +django/conf/project_template/project_name/wsgi.py-tpl,sha256=YlvOJDVlRT5GdECwWEpeK8i6gRsliG3sLQog8cYPsC8,428 +django/conf/urls/__init__.py,sha256=Lp9Zc17tRy3bVwULxq1_8qBloXbgmqiQiIzzbqkqDSk,402 +django/conf/urls/i18n.py,sha256=TG_09WedGtcOhijJtDxxcQkcOU15Dikq0NkLGVvwvCI,1184 +django/conf/urls/static.py,sha256=3Hr170gzVpmIOsHUQOpgG16LE6nG_U5L8kSoSiNKeFQ,844 +django/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/admin/__init__.py,sha256=K5IZ6J5ujshspna6ubTvpFfTBjU7p8EhsbvW6G7fMwY,1243 +django/contrib/admin/actions.py,sha256=MFwZgt4qFQvwrm_AP2FIg3cGxuIlEfpYVE4T9x2tbL0,3207 +django/contrib/admin/apps.py,sha256=IKXRyRFIiWUmwm0-wigmpAE-iEHH_XqNl6FRSmEZfXQ,708 +django/contrib/admin/checks.py,sha256=YQgseIL_rhM8HF6QjKyJY1j1peMXHVybePHTR82aA1I,41793 +django/contrib/admin/decorators.py,sha256=jQS6FQ2PxaqGYTYNa4jdx-qSVPV9Uf5bRhbC9PF0BMM,969 +django/contrib/admin/exceptions.py,sha256=lWAupa8HTBROgZbDeYS1n_vOl_85dcmPhDwz0-Ke1ug,331 +django/contrib/admin/filters.py,sha256=3iKFsSTchtIsz4Zo9vtcs-voWwxTG1YjRo_Pc2nk4BQ,17821 +django/contrib/admin/forms.py,sha256=Ft6mb1iOIb3zXBRakRipI6TB_7d6D_mSrGQ9olj7k2k,934 +django/contrib/admin/helpers.py,sha256=ORpSrYvcLw8MOAfN_Q3rE0dcP3k6R8Op6XSbLVuOONc,14309 +django/contrib/admin/models.py,sha256=ALiXbQuBrWgN8ZKFFNK0JWV9YGLzmzuFh6GUhoIQSIw,5454 +django/contrib/admin/options.py,sha256=WWINyw6GU-YJVMc0zD1kko06D-gsl9j2uru6G_dvKQQ,83849 +django/contrib/admin/sites.py,sha256=SD4gdJ3Qa5OfJ0xC1VtykAbID40DokIduHbD7-_7kmk,20011 +django/contrib/admin/tests.py,sha256=Y7_BrWS4T7vMc7lW5ba5I4uBlEC5OgAaslLb_90NYNM,7307 +django/contrib/admin/utils.py,sha256=-ljhmigMpLkEJ-qFXND5Eemw3e4u6Ad0TvIKmuMdsQo,18493 +django/contrib/admin/widgets.py,sha256=ryoY02Z626J_I7LANRcJl3LJ2q75LmozZWK3CGeBjGY,17633 +django/contrib/admin/locale/af/LC_MESSAGES/django.mo,sha256=sbS-86l1kVvdcIV7n0xHqcy6iL14Ktnym0CifEkrEd4,9372 +django/contrib/admin/locale/af/LC_MESSAGES/django.po,sha256=vNkvN5lbhg5iRk42-5rlR0zqQpsraIXXsc7Ke9kO0z0,14280 +django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo,sha256=GDKkp7mc4LaMwT_Eli1rPLCwo75R4htvXfyCLWRvJdw,1158 +django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po,sha256=VM1QB16Nr0Ng2Wyp4o6ZlgthbWma7moHerugSzA4SnA,3590 +django/contrib/admin/locale/am/LC_MESSAGES/django.mo,sha256=UOwMxYH1r5AEBpu-P9zxHazk3kwI4CtsPosGIYtl6Hs,8309 +django/contrib/admin/locale/am/LC_MESSAGES/django.po,sha256=NmsIZoBEQwyBIqbKjkwCJ2_iMHnMKB87atoT0iuNXrw,14651 +django/contrib/admin/locale/ar/LC_MESSAGES/django.mo,sha256=7E9CSjJJz57SEjyHsobheQ8LmEqqKFVvZKpMIoUbKYE,17849 +django/contrib/admin/locale/ar/LC_MESSAGES/django.po,sha256=F7dXAV4kbHcMYEXfC35sOCTvZvF5qKUcEbWkALp1X4c,19814 +django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo,sha256=gLwHSlr1xGvsbFO1S8mnqM-NVzCUQ75n-X1NCBeANe8,4959 +django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po,sha256=1lgw43gz9MCvcujDQ4eGUvo8Qn5DE2fGvSC_qOs5bEs,6200 +django/contrib/admin/locale/ast/LC_MESSAGES/django.mo,sha256=3uffu2zPbQ1rExUsG_ambggq854Vy8HbullkCYdazA4,2476 +django/contrib/admin/locale/ast/LC_MESSAGES/django.po,sha256=wCWFh9viYUhTGOX0mW3fpN2z0kdE6b7IaA-A5zzb3Yo,11676 +django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo,sha256=kiG-lzQidkXER5s_6POO1G91mcAv9VAkAXI25jdYBLE,2137 +django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po,sha256=s4s6aHocTlzGcFi0p7cFGTi3K8AgoPvFCv7-Hji6At0,4085 +django/contrib/admin/locale/az/LC_MESSAGES/django.mo,sha256=LOjKRPic0sZ08s6zz3X437dx2daSubEQjoInd1kqzwo,16510 +django/contrib/admin/locale/az/LC_MESSAGES/django.po,sha256=brvf3-52qjX9CYAi247YxqcTv8w-QFzUPbUPtCFoT8g,17812 +django/contrib/admin/locale/az/LC_MESSAGES/djangojs.mo,sha256=lwMWU4eHd5TLqpkeebGktXq1cSsqzE-siTD_IcA3bZk,4621 +django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po,sha256=72nOuDSiU2fb_RgmJ_sNpVpTBSFX1oVydPm-QqD8AX0,5102 +django/contrib/admin/locale/be/LC_MESSAGES/django.mo,sha256=5CbgzJ_iVyPTxTpToPEhgVSSfh-EhyjsCK75ecbQtrE,20007 +django/contrib/admin/locale/be/LC_MESSAGES/django.po,sha256=kRmThfssQtP_dr4JX2U2o-9qwwicZiM7i9QT9eSjrx0,21277 +django/contrib/admin/locale/be/LC_MESSAGES/djangojs.mo,sha256=kDqYyYbnP_oh-pw8kOJGGcFtx-MxI-UARlB5f53ow2w,5942 +django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po,sha256=GsjZtvw8_OQNTrNgyUgGfSZvAC1pg2sse8oILC3J6bs,6451 +django/contrib/admin/locale/bg/LC_MESSAGES/django.mo,sha256=iJzYciumvR_r42WmC3yjTdiWrQmS94p_x0gTWvV9lOc,20070 +django/contrib/admin/locale/bg/LC_MESSAGES/django.po,sha256=9ouezfohVViX6NFG57IFXTzcuMSvAafd6NKncMFJBds,21493 +django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.mo,sha256=TGNzP1smzgZmo5-s4VKD1E-nWTMtCSjp_hco1a0j4BQ,5565 +django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po,sha256=5uiQqnTyz0R-1vJTHqY0opwnQhMfgPoB-PxOkGpxNwk,6016 +django/contrib/admin/locale/bn/LC_MESSAGES/django.mo,sha256=fKmzDwzLp0Qlv4bvWscf0evanPRAXwR04B6IeJ7wGSw,15247 +django/contrib/admin/locale/bn/LC_MESSAGES/django.po,sha256=-go1WtUozfqbnKlUQr-jNnvEXf98eIZjq-C8KjRJ6NA,19812 +django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.mo,sha256=t_OiMyPMsR2IdH65qfD9qvQfpWbwFueNuY72XSed2Io,2313 +django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po,sha256=iFwEJi4k3ULklCq9eQNUhKVblivQPJIoC_6lbyEkotY,4576 +django/contrib/admin/locale/br/LC_MESSAGES/django.mo,sha256=y2EAyyZjxtXQg7R5xONVix9311e3HK77vYTldQOT-jA,4253 +django/contrib/admin/locale/br/LC_MESSAGES/django.po,sha256=iOq3m2j2dErBRmyMocQm31vI__5a56CoZNYa7Gn3n7w,12167 +django/contrib/admin/locale/br/LC_MESSAGES/djangojs.mo,sha256=R87byb_aioGPaUZX_0gtH7ZQ6sSKcu3YYTVepbExSzs,1366 +django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po,sha256=DfrcykHREmLpVQ9qLZEqIdAO9skkMaqbX5FnAqOo0AY,3687 +django/contrib/admin/locale/bs/LC_MESSAGES/django.mo,sha256=44D550fxiO59Pczu5HZ6gvWEClsfmMuaxQWbA4lCW2M,8845 +django/contrib/admin/locale/bs/LC_MESSAGES/django.po,sha256=FrieR1JB4ssdWwYitJVpZO-odzPBKrW4ZsGK9LA595I,14317 +django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.mo,sha256=SupUK-RLDcqJkpLEsOVjgZOWBRKQMALZLRXGEnA623M,1183 +django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po,sha256=TOtcfw-Spn5Y8Yugv2OlPoaZ5DRwJjRIl-YKiyU092U,3831 +django/contrib/admin/locale/ca/LC_MESSAGES/django.mo,sha256=gQ-g3OzRpyqae7U8BLAPQvczbYFe4Goutvbz_N1e838,16585 +django/contrib/admin/locale/ca/LC_MESSAGES/django.po,sha256=txJB9CZNOXBvLMZteXPodWku5aiDu0hyW4F2u_XHOng,17942 +django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo,sha256=jQuQQAoB-_hggWhGXDFhk71xu70rKF0GqHN-DjR9o-c,4560 +django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po,sha256=Mfn1tgpuhe05MBQShhMoJDZ7L5Nn2p1jFy_jYIt0H0g,5098 +django/contrib/admin/locale/cs/LC_MESSAGES/django.mo,sha256=BEM-fRNY0w99W0GE7X9G09dySM3Qgzf9CwA2ufKrkSE,16572 +django/contrib/admin/locale/cs/LC_MESSAGES/django.po,sha256=uVKGJgKc23jUIQ4_vIlhy6d0ZwsnlwNnPx5bgaSpaYM,18026 +django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo,sha256=BvxuAQ-ndFx2opXSg8FUhBLfOs1DBAdL5rweypbNuUU,4819 +django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po,sha256=YOnd2RyXmM8-K2OgVVubcXuy-St7FesLrRUb7mXVEdI,5393 +django/contrib/admin/locale/cy/LC_MESSAGES/django.mo,sha256=7ifUyqraN1n0hbyTVb_UjRIG1jdn1HcwehugHBiQvHs,12521 +django/contrib/admin/locale/cy/LC_MESSAGES/django.po,sha256=bS_gUoKklZwd3Vs0YlRTt24-k5ure5ObTu-b5nB5qCA,15918 +django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo,sha256=fOCA1fXEmJw_QaXEISLkuBhaMnEmP1ssP9lhqdCCC3c,3801 +django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po,sha256=OVcS-3tlMJS_T58qnZbWLGczHwFyAjbuWr35YwuxAVM,5082 +django/contrib/admin/locale/da/LC_MESSAGES/django.mo,sha256=_u56MXv-Dh5k-0QHZImE3Ds3VTky6sVa1iDD3_omR5U,15961 +django/contrib/admin/locale/da/LC_MESSAGES/django.po,sha256=U7PqDwHI5VaX7wiHdKvmGQTwKzGuYry-UeQSk55DQCk,17343 +django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo,sha256=_2EDOsYDt9p-b5L-SAPRXOD2CtrUbgqPrS9cYmoIbtM,4518 +django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po,sha256=zw_JfNVAMhMOgYVCl-ZNMjch4ui4mmUucLBtqbwXHBc,5120 +django/contrib/admin/locale/de/LC_MESSAGES/django.mo,sha256=hyMoYk3p3PM18E6CzbhwRuUpnVU4vjwjnsrHT9P0R2o,16793 +django/contrib/admin/locale/de/LC_MESSAGES/django.po,sha256=4sDSiyev5dDjId1T2IuUvXle7YeETy5FINeMiczEVhI,18192 +django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo,sha256=_aUsqSeIo9dHAiy6daB-BLselNy7tuPUEf7kVCgEByM,4602 +django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po,sha256=ilCflt4q60Rr1D9wEPNpZQMvJO1R7udNsRgZiml3PdI,5068 +django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo,sha256=sG9r565jG5n98DOZ1zDr8fViR-j7CCcBlgxhftCPCNM,16835 +django/contrib/admin/locale/dsb/LC_MESSAGES/django.po,sha256=cMR5KtWeMqKRQOP6IYT_nr0kGfSmYIWeJJ92DiXH9Gg,18071 +django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo,sha256=Bl1Tcn0LYM6ZunclcgjvXXLAdezS3SXU-9IGZ0hvbPw,5016 +django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po,sha256=aK07LLjObo3lQfVMj6GmR4THIkKFODAQz7iZ99spzJA,5490 +django/contrib/admin/locale/el/LC_MESSAGES/django.mo,sha256=JY7lZREod67l_l1XFlAAEVdscW878SJSo7EUSR65zo8,22536 +django/contrib/admin/locale/el/LC_MESSAGES/django.po,sha256=6yqiFfL07fjR_P31kWlS1LANHzDMFPh2j2aUUXQQcdc,24100 +django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo,sha256=vfha6S1wDTxgteeprHdCY6j1SnSWDdbC67aoks7TVFw,5888 +django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po,sha256=GJQytMIHNrJeWWnpaoGud4M6aiJCtJ7csyXzmfS6GZs,6560 +django/contrib/admin/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/admin/locale/en/LC_MESSAGES/django.po,sha256=bJ9vJyvU1p21jk5-aCdWdoOX8mQGev0heavhj_q3bgA,22308 +django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po,sha256=Ktbb5PuFfGQarYm7GVnzqqJulz7Bpa3fcfuqD7pXMKI,6555 +django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo,sha256=DVjhYEbArfdAQLuE0YAG99eWxa9_eNEz2o9A6X6MrEY,2894 +django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po,sha256=CO7AV-NmmmwnXyBIybSfNZLdXiavphWsd9LNZQNqDL4,11800 +django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo,sha256=LWNYXUicANYZeiNx4mb6pFpjnsaggPTxTBCbNKxPtFw,1714 +django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po,sha256=UZk0oHToRtHzlviraFzWcZlpVAOk_W2oq4NquxevQoE,3966 +django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo,sha256=F4L7ZjQkHdiMTPlhKIjbXPYenu9LWqvlntuAy6zhTj4,10744 +django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po,sha256=SbpW4kc3NmETWmfwmEzv-c46iXM1g-InxuHt7nlT26s,14840 +django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo,sha256=hW325c2HlYIIdvNE308c935_IaDu7_qeP-NlwPnklhQ,3147 +django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po,sha256=Ol5j1-BLbtSIDgbcC0o7tg_uHImcjJQmkA4-kSmZY9o,4581 +django/contrib/admin/locale/eo/LC_MESSAGES/django.mo,sha256=-w9IlfkMqlEUNhnVfSsg9TATFVTlJ4mlDwXMriUdlHE,15832 +django/contrib/admin/locale/eo/LC_MESSAGES/django.po,sha256=CODDYgsHCPnoTUaLauQDH8ahODyvTxtS98z-E824JMQ,17329 +django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo,sha256=QwYzm1KkoyCZ2YwrkXUUCOT2qnFCcyetCCa4U1Z1c_A,4452 +django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po,sha256=8czUc1ju9YopCCqr5RMIIOwmolJTSBFWZsN-FhrIcnI,5040 +django/contrib/admin/locale/es/LC_MESSAGES/django.mo,sha256=Rbe3xIQLcfJ2wqvXuNkRqxruYe2NbeiaZ8bw04nn5IE,16810 +django/contrib/admin/locale/es/LC_MESSAGES/django.po,sha256=5R2fAMPaLooJBsx35H-VyhHlOqNyQHF2fEuHKPoEaRo,18682 +django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo,sha256=44RpmIC1vT7OGz4ubSAzoiU8OysfLsnueZcIqdF6gjQ,4627 +django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po,sha256=t2Jn5RZo7e-UzqVwgBAejuBceWCidWjXvd--cWEq6rI,5302 +django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo,sha256=sWkRtdW090y-8rC8Q0kOR8AEr_Z5Y4kxcUD_Tm9RDkA,16955 +django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po,sha256=qI3MouJlakkdZgC_V7sxMiv54am09-1ublI8o5RYoFY,18242 +django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo,sha256=lqWxSD90JLBg2ei316TPHGNTgwWyzl9u0-Zy7aQ5WFI,4892 +django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po,sha256=qZJMi1DsBy2tl2MMo322wTjaO0yb0n5ALzc1tK4SZQM,5350 +django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo,sha256=0k8kSiwIawYCa-Lao0uetNPLUzd4m_me3tCAVBvgcSw,15156 +django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po,sha256=4T_syIsVY-nyvn5gEAtfN-ejPrJSUpNT2dmzufxaBsE,17782 +django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo,sha256=PLS10KgX10kxyy7MUkiyLjqhMzRgkAFGPmzugx9AGfs,3895 +django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po,sha256=Y4bkC8vkJE6kqLbN8t56dR5670B06sB2fbtVzmQygK8,5176 +django/contrib/admin/locale/es_MX/LC_MESSAGES/django.mo,sha256=lQwxsrvK8ZQaqErLj2Uc_6ot5QiczaWgFqIr9K0tzwc,14127 +django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po,sha256=b9BB_rwofNmIl98JB6jA-61AnYq-GvbITLtsOEi_NBM,16964 +django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.mo,sha256=2w3CMJFBugP8xMOmXsDU82xUm8cWGRUGZQX5XjiTCpM,3380 +django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po,sha256=OP9cBsdCf3zZAXiKBMJPvY1AHwC_WE1k2vKlzVCtUec,4761 +django/contrib/admin/locale/es_VE/LC_MESSAGES/django.mo,sha256=himCORjsM-U3QMYoURSRbVv09i0P7-cfVh26aQgGnKg,16837 +django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po,sha256=mlmaSYIHpa-Vp3f3NJfdt2RXB88CVZRoPEMfl-tccr0,18144 +django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.mo,sha256=Zy-Hj_Mr2FiMiGGrZyssN7GZJrbxRj3_yKQFZKR36Ro,4635 +django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po,sha256=RI8CIdewjL3bAivniMOl7lA9tD7caP4zEo2WK71cX7c,5151 +django/contrib/admin/locale/et/LC_MESSAGES/django.mo,sha256=vJSz-k6PQ80EKg80PqUbrGTRmmEX6x-0sS-ZkwLbC_w,15696 +django/contrib/admin/locale/et/LC_MESSAGES/django.po,sha256=6_gwIXeLN-jQcS_6zqP9Gro1LQDO-qm0tzw5tijDKgA,17175 +django/contrib/admin/locale/et/LC_MESSAGES/djangojs.mo,sha256=GOfcPo6Tge73JsPGShWCmepOAvdGgEcdrVTUI-Fxjm4,4394 +django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po,sha256=6qIvrAmlBVY6KM56LkrAl51R9sL-Hnw4u4GNgCoqbRg,4930 +django/contrib/admin/locale/eu/LC_MESSAGES/django.mo,sha256=ctSeJLgjy2FeKVwAGxerVNCfiKYImTNtDOwgnje60wA,15909 +django/contrib/admin/locale/eu/LC_MESSAGES/django.po,sha256=AAm15QBeFLRDHeG3Rrfqh5Gl1wXPEzQ4vlBa3E8cIag,17308 +django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo,sha256=bZHiuTFj8MNrO3AntBAY5iUhmCa6LSluGLYw504RKWg,4522 +django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po,sha256=eMpM70UTWIiCDigCgYVOZ9JKQ2IidYZxYcUWunvG8js,5051 +django/contrib/admin/locale/fa/LC_MESSAGES/django.mo,sha256=SDTXAM7LYcv8d5cGoSyVdU5vvRNt619p8MD3EW0eOho,19131 +django/contrib/admin/locale/fa/LC_MESSAGES/django.po,sha256=zwzLWBUq_aHJuKCfKU4KolI4pYrENet8Rj12A4och3k,20529 +django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo,sha256=nvG_i8FrtkTPLpZqCkEYSaVJFiRPYLosBhc1s-FsgnI,5068 +django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po,sha256=XVI2k0cGr-1iqrDL8-k-vbgmPQJm3DH58cw_O5cR04s,5680 +django/contrib/admin/locale/fi/LC_MESSAGES/django.mo,sha256=tkuQsXPqB0dpG_PKYvssN-rTbQ-VP3bswgrckqJ9wfM,15923 +django/contrib/admin/locale/fi/LC_MESSAGES/django.po,sha256=aaVMgWFnz5ysorFBieY-vG7dDJN0wiEeUL-3tYxot2I,17217 +django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo,sha256=ez7WTtE6OE878kSxqXniDOQY-wdURYEfxYQXBQJTVpg,4561 +django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po,sha256=rquknGvUFlWNLcrOc1wwhAPn63PZA48qBN8oWiINiQ0,5045 +django/contrib/admin/locale/fr/LC_MESSAGES/django.mo,sha256=7Fne4TDRamUndHqhY5mhqfCIk4brV1tcx_ruEPFFRWo,17504 +django/contrib/admin/locale/fr/LC_MESSAGES/django.po,sha256=TMycKKdYQQsgU3ltPm-A2uPUIYgjBl__N20SIeTdvPk,18792 +django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo,sha256=1pABUr752ITt14MXm6yqZjU7lWcQ2ZYeymqnQOZqthU,4735 +django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po,sha256=Z2rPIY8xryfJqAYan2K5Rc0NOZTKTh80BvuWJav-Atg,5228 +django/contrib/admin/locale/fy/LC_MESSAGES/django.mo,sha256=mWnHXGJUtiewo1F0bsuJCE_YBh7-Ak9gjTpwjOAv-HI,476 +django/contrib/admin/locale/fy/LC_MESSAGES/django.po,sha256=oSKEF_DInUC42Xzhw9HiTobJjE2fLNI1VE5_p6rqnCE,10499 +django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 +django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po,sha256=efBDCcu43j4SRxN8duO5Yfe7NlpcM88kUPzz-qOkC04,2864 +django/contrib/admin/locale/ga/LC_MESSAGES/django.mo,sha256=wMM857oxSd8c182lYD2WMmoth4dOJ-a1FjHj9ZinZSk,13697 +django/contrib/admin/locale/ga/LC_MESSAGES/django.po,sha256=cGFmkA6XOhXyKycmoF_KbTHAgFDjx7fbF9LWwJXH7BM,16798 +django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo,sha256=fa2MlEm3XUig1C3X26u_kZzPKcUGR-Uy5jfwG6RQIJ4,4379 +django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po,sha256=ixvu6pm3asTKvHisWdcZ6YMb3fjsKOEnHZGG5g3l-tw,5725 +django/contrib/admin/locale/gd/LC_MESSAGES/django.mo,sha256=DMWU4a5b5M1rwDXYq_ZLWUVBRAqx0WX3GtUA79-e4yI,18177 +django/contrib/admin/locale/gd/LC_MESSAGES/django.po,sha256=J0nOji3Q30AYcCNEjh6EP_J_u2Y8G53SEhlRchQNTlY,19476 +django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo,sha256=uZigxSJ1bBQhvhVMAyp7R4-JlZE14b3mu3hCcnwMjMQ,5304 +django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po,sha256=7x7qPCf9WcLBrmJ5uFbp4-9b8QsdYisoAlTVdtXmqYw,5809 +django/contrib/admin/locale/gl/LC_MESSAGES/django.mo,sha256=_9JW7LdCw2on4M1oz3Iyl_VMrhrw_0oVIQl4h_rCX6g,13246 +django/contrib/admin/locale/gl/LC_MESSAGES/django.po,sha256=xqdcVwIX5zPxq471crW0yxcOYcbZVaRwKiKx-MAGiqk,16436 +django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo,sha256=YkT7l3U9ffSGqXmu6S41Ex0r7tbK-0BKH5lS6O8PAGs,3279 +django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po,sha256=EDccOpm1mpT8mVRvu5LBsq8nao50oP1V7aKEnuRmtF8,4803 +django/contrib/admin/locale/he/LC_MESSAGES/django.mo,sha256=WNUBwLt_Utmj4vCzwh3OeXutt9toN9qXvboTfLkJ-10,17370 +django/contrib/admin/locale/he/LC_MESSAGES/django.po,sha256=XfXWu6hiL37UYyzMCBotIyLqrwaF8OEkUTRkHPbV6YM,18609 +django/contrib/admin/locale/he/LC_MESSAGES/djangojs.mo,sha256=n0yZEC29NoFalQke_EhZYRRFAzhPRdSZO4GbuzRl-X8,4775 +django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po,sha256=Qf_F0VXeqs2b3AM4c3s66VXTr4KyERDurdoINABK63s,5280 +django/contrib/admin/locale/hi/LC_MESSAGES/django.mo,sha256=EogCHT8iAURSuE34kZ0kwEIoz5VjgUQUG2eAIqDxReU,18457 +django/contrib/admin/locale/hi/LC_MESSAGES/django.po,sha256=NcTFbFyHhWOIieUpzIVL7aSDWZ8ZNmfnv5gcxhON1zc,21770 +django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.mo,sha256=yCUHDS17dQDKcAbqCg5q8ualaUgaa9qndORgM-tLCIw,4893 +django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po,sha256=U9rb5tPMICK50bRyTl40lvn-tvh6xL_6o7xIPkzfKi0,6378 +django/contrib/admin/locale/hr/LC_MESSAGES/django.mo,sha256=s9m770GwDohk1TS2u2KaMbntt5Sh-ND4KbCZdozajKY,14774 +django/contrib/admin/locale/hr/LC_MESSAGES/django.po,sha256=Wfn3w39GHvKVV32DvmdfCdaghVxsstnxaGPokFkIFnw,17040 +django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo,sha256=rhZ3Jr6ItrGzeBqJUrHGeTamc3bgJmoMjasV9s0rmtQ,3360 +django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po,sha256=otuJ1-VmP-MVS1hEeBFbatdweeasHYAVUpLmJ7eE5p0,4870 +django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo,sha256=Hqf74Da0l2w6xVBew1-j3C9L-evR0rA3wcXcyqmAZ70,16584 +django/contrib/admin/locale/hsb/LC_MESSAGES/django.po,sha256=23265vZGcTehU9hwEGY4WndjIMwVteaPyk2zxpGW16g,17796 +django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo,sha256=t0FSFpoVBOf8tzw3EmKAaML5lcJJJRPIfTucfBj0zIU,5087 +django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po,sha256=xrPdmcc1o1ZDMbTPvnNk84vsBPB7P2atlBK0e0RWyJ4,5564 +django/contrib/admin/locale/hu/LC_MESSAGES/django.mo,sha256=Zuhq5Tj-9a7_yFQGeSXNk-LSIUYeOvjBubLtOxm_-5k,16464 +django/contrib/admin/locale/hu/LC_MESSAGES/django.po,sha256=v-LWAj-ZX4YT9EMUnwPXheUbRN08_oahKigBDTtU8dI,17891 +django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo,sha256=71Dhytp7dJplmQzc9MHLTh0k-Fvy1gdeQwi9oafg1wg,4524 +django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po,sha256=bYu4XVz6wmeVfrY2PFxjeaR_RObBsAYQ-yzWxdMgmIo,5105 +django/contrib/admin/locale/ia/LC_MESSAGES/django.mo,sha256=SRKlr8RqW8FQhzMsXdA9HNqttO3hc0xf4QdQJd4Dy8c,11278 +django/contrib/admin/locale/ia/LC_MESSAGES/django.po,sha256=pBQLQsMinRNh0UzIHBy3qEW0etUWMhFALu4-h-woFyE,15337 +django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo,sha256=28MiqUf-0-p3PIaongqgPQp2F3D54MLAujPslVACAls,3177 +django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po,sha256=CauoEc8Fiowa8k6K-f9N8fQDle40qsgtXdNPDHBiudQ,4567 +django/contrib/admin/locale/id/LC_MESSAGES/django.mo,sha256=oqb4tMeB8Vz1TmHmeutmzxcFKdWSJKtN8tLVzxkDnUs,15684 +django/contrib/admin/locale/id/LC_MESSAGES/django.po,sha256=5EVJPBbM4YYV6WG9yaNb9cM-bPAhb0Fa0RXNGShYpww,17162 +django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo,sha256=_FT2WXJ4inRZDlWJe2iaU0idpJdBiE7Ecd1IcghrsH0,4407 +django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po,sha256=9FYLgVUUXqgYSndWDNilL0een9UTRIzzM3DY4or-SGM,4915 +django/contrib/admin/locale/io/LC_MESSAGES/django.mo,sha256=URiYZQZpROBedC-AkpVo0q3Tz78VfkmwN1W7j6jYpMo,12624 +django/contrib/admin/locale/io/LC_MESSAGES/django.po,sha256=y0WXY7v_9ff-ZbFasj33loG-xWlFO8ttvCB6YPyF7FQ,15562 +django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 +django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po,sha256=WLh40q6yDs-8ZG1hpz6kfMQDXuUzOZa7cqtEPDywxG4,2852 +django/contrib/admin/locale/is/LC_MESSAGES/django.mo,sha256=W-t3UPqpOhi4hWJVaISNGfppMIX47zJUkAP5vOKPezo,16223 +django/contrib/admin/locale/is/LC_MESSAGES/django.po,sha256=FH_HTXGBIkBO2tqPdIZoruNfPMDChqTlocxNF9yQubA,17530 +django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo,sha256=q2W800Di3ibCO32xisxqpO8GHwTB9bEYBfXgYXgb87k,4587 +django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po,sha256=C_hcOfRSmZtA9vTuaT9X5btk_z61SKcaDbF86yDfgks,5122 +django/contrib/admin/locale/it/LC_MESSAGES/django.mo,sha256=Px0LhGU8va1jCIcZFr-1iYkKJO3TSvAKutXD66jK4OA,16441 +django/contrib/admin/locale/it/LC_MESSAGES/django.po,sha256=EA8sEhnHNDlzO68oAvWsqnYBXbMi6A0Piv8aP8zyK0M,18020 +django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo,sha256=P2wm_9ihqu1t1T3epDhlCia-OhwYNtTcfpAbOdjpElI,4537 +django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po,sha256=-cvn4xW3LgMTeLu7Zcurz_ezUOmc4NQNkCeseZdMTyU,5171 +django/contrib/admin/locale/ja/LC_MESSAGES/django.mo,sha256=XFhPX8zpz6GeYaXDKUyw1GTWfqDHO-DyT2MWP7qoD1o,17590 +django/contrib/admin/locale/ja/LC_MESSAGES/django.po,sha256=5dCIRF_yMYy5BmLu795IoJhBYlEF_qFIZ6gcEug65ss,18895 +django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo,sha256=Eki83Z0uecO6oyRrvVdCEMmctehw62HHRaoznf4sKtg,4688 +django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po,sha256=5_AkaIMOx1h-mcr1C3m-JoSiIRx754BN6Qw-e8RFQ1E,5098 +django/contrib/admin/locale/ka/LC_MESSAGES/django.mo,sha256=WtCZkU5d5VsUCboXo7GO8mXCq3Z4Z-2zp3Sj4j1aqk4,20248 +django/contrib/admin/locale/ka/LC_MESSAGES/django.po,sha256=GQutjRKrVbWLlHYeX5FUT-sLXh3zsskQSIDbQsqpKmk,23236 +django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo,sha256=7XSBdq-DMWfyGmAHJnwNaexOevuitsNiPDifnbUU19o,5199 +django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po,sha256=PB6VJ0zYdpjF9vwvOlTowt1rl-7j4QRKfj_YhrJqSas,6407 +django/contrib/admin/locale/kab/LC_MESSAGES/django.mo,sha256=9QKEWgr8YQV17OJ14rMusgV8b79ZgOOsX4aIFMZrEto,3531 +django/contrib/admin/locale/kab/LC_MESSAGES/django.po,sha256=cSOG_HqsNE4tA5YYDd6txMFoUul8d5UKvk77ZhaqOK0,11711 +django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.mo,sha256=nqwZHJdtjHUSFDJmC0nPNyvWcAdcoRcN3f-4XPIItvs,1844 +django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po,sha256=tF3RH22p2E236Cv6lpIWQxtuPFeWOvJ-Ery3vBUv6co,3713 +django/contrib/admin/locale/kk/LC_MESSAGES/django.mo,sha256=LfA7cfm9aUcTTuVONlsbjLvWuQvcEwIw6k0awxSXxjU,12966 +django/contrib/admin/locale/kk/LC_MESSAGES/django.po,sha256=WPPFsL2v1BouI92iiSLF_KHtqr3LCUHOqz_QNNfWh3U,17442 +django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.mo,sha256=3TH-WxIbc7NPrGExH9ATKgCy13xJL-VMFtrjCLQhWF8,2380 +django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po,sha256=qiz_cxoDIyPNylWhKPF2yiHhRekfdFETSn2NbHyRKeg,4373 +django/contrib/admin/locale/km/LC_MESSAGES/django.mo,sha256=eOe9EcFPzAWrTjbGUr-m6RAz2TryC-qHKbqRP337lPY,10403 +django/contrib/admin/locale/km/LC_MESSAGES/django.po,sha256=RSxy5vY2sgC43h-9sl6eomkFvxClvH_Ka4lFiwTvc2I,17103 +django/contrib/admin/locale/km/LC_MESSAGES/djangojs.mo,sha256=Ja8PIXmw6FMREHZhhBtGrr3nRKQF_rVjgLasGPnU95w,1334 +django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po,sha256=LH4h4toEgpVBb9yjw7d9JQ8sdU0WIZD-M025JNlLXAU,3846 +django/contrib/admin/locale/kn/LC_MESSAGES/django.mo,sha256=955iPq05ru6tm_iPFVMebxwvZMtEa5_7GaFG1mPt6HU,9203 +django/contrib/admin/locale/kn/LC_MESSAGES/django.po,sha256=xMGtsVCItMTs18xdFQHELdVZKCwTNNyKfb8n1ARcFws,16053 +django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo,sha256=dHzxizjDQWiZeRfBqnVFcK1yk1-M5p1KOfQ1ya9TMVU,1872 +django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po,sha256=MqRj6ozyr1e9-qNORUTJXNahe6SL3ee3OveSm3efV4g,4214 +django/contrib/admin/locale/ko/LC_MESSAGES/django.mo,sha256=HGwZQLyvo7ZwhhapTwI04leRIA1B5_g-JR5SmRaWTo8,17006 +django/contrib/admin/locale/ko/LC_MESSAGES/django.po,sha256=cZ7N1sxBgJtL52SaB3pC-9kzEkglcVp9zi3oOmRqLME,18444 +django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo,sha256=ejjPHM0HjXBXfsyFGyxAnzj7K296EK7kgxhMhT8-9wA,4493 +django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po,sha256=R4ruBO7896mDe8ksU8iIwVjZM_6OB0dohAaek0Srkbg,5029 +django/contrib/admin/locale/lb/LC_MESSAGES/django.mo,sha256=8GGM2sYG6GQTQwQFJ7lbg7w32SvqgSzNRZIUi9dIe6M,913 +django/contrib/admin/locale/lb/LC_MESSAGES/django.po,sha256=PZ3sL-HvghnlIdrdPovNJP6wDrdDMSYp_M1ok6dodrw,11078 +django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 +django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po,sha256=fiMelo6K0_RITx8b9k26X1R86Ck2daQXm86FLJpzt20,2862 +django/contrib/admin/locale/lt/LC_MESSAGES/django.mo,sha256=bYiOprxWo54Uky70hmTIzjiSTqfWarP57-KUOWjy7eo,16410 +django/contrib/admin/locale/lt/LC_MESSAGES/django.po,sha256=sARv8FpCWC2oQskLGebVYI56v9shcPScbMHONJXyaD0,17835 +django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo,sha256=ixKwmi59zj8oVCzxFYjXVRE3_EKQFdS7fZYrtngIDtU,4934 +django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po,sha256=Zzq-hPaQUe3r7WMOWAuoTITVUkTtkDnYwShy5vogaAE,5570 +django/contrib/admin/locale/lv/LC_MESSAGES/django.mo,sha256=xD7Wvz9_Yn-PoqyhsQid1fv0IO7irGTiQ3V7w4rYuPU,16220 +django/contrib/admin/locale/lv/LC_MESSAGES/django.po,sha256=z_tyZSi-D7zSEV-keRnvlKARqgmJzp6Dl497PcKUJPo,17595 +django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo,sha256=fPfAqPJxqmFRYSPlLch8eBKfXwZ7jTPBlcs3-LXMu7k,4908 +django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po,sha256=pAwBGRKZVtF0I0XqlrO_UMo7WWd_P0WgLOunzGJQaYA,5428 +django/contrib/admin/locale/mk/LC_MESSAGES/django.mo,sha256=luKonZA7H7yeCILl4BWXsYn_BncPzYy7_sfCWq7vlI4,20661 +django/contrib/admin/locale/mk/LC_MESSAGES/django.po,sha256=LyznsrasvV6Rtq7X6NnIrdZESGo_PlhISShHrCTbDgc,22056 +django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo,sha256=ZyQQ49zqs8GiS73XBaSd5l3Rh3vOA0glMpX98GH6nhU,5633 +django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po,sha256=bWph0TVgwC-Fmlof8_4SiR21uCFm9rftp59AMZ3WIYA,6188 +django/contrib/admin/locale/ml/LC_MESSAGES/django.mo,sha256=RzG1Bu5fVUe0yagKxq5PL9HhDkuVRydQQbcAvbDqzGk,21581 +django/contrib/admin/locale/ml/LC_MESSAGES/django.po,sha256=w1xncysUEfTk6owbX6_2PMAH5emG_DMBOsshmc_64So,24562 +django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo,sha256=ALD2ba1V37Xo9mWShD9KNr7iE3F30nytEbHnP1gxz8o,6362 +django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po,sha256=Fa_b2gBa-JJkxGrJhdQ-T0QigGLeHnu8lhhmdqKiq6s,7607 +django/contrib/admin/locale/mn/LC_MESSAGES/django.mo,sha256=ew8-JvbkDihdAdNh9bC17H7BL0qw6ETwGWIg2EdXWDs,20092 +django/contrib/admin/locale/mn/LC_MESSAGES/django.po,sha256=18g6zBpC4sQ5ZbbKhsdsMdEUYr0ylV3KbCyFuoKF02c,21513 +django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo,sha256=HJcGCl8vBHrHekjm19W-ZNXQxKZ9rhyvU_xlJQYb5IE,4416 +django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po,sha256=gt7CYBxKtPypxhBPUMrkiLA88oL4_6tkKNqc_yb1Mzw,5610 +django/contrib/admin/locale/mr/LC_MESSAGES/django.mo,sha256=UAxGnGliid2PTx6SMgIuHVfbCcqVvcwC4FQUWtDuSTc,468 +django/contrib/admin/locale/mr/LC_MESSAGES/django.po,sha256=TNARpu8Pfmu9fGOLUP0bRwqqDdyFmlh9rWjFspboTyc,10491 +django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 +django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po,sha256=uGe9kH2mwrab97Ue77oggJBlrpzZNckKGRUMU1vaigs,2856 +django/contrib/admin/locale/my/LC_MESSAGES/django.mo,sha256=xvlgM0vdYxZuA7kPQR7LhrLzgmyVCHAvqaqvFhKX9wY,3677 +django/contrib/admin/locale/my/LC_MESSAGES/django.po,sha256=zdUCYcyq2-vKudkYvFcjk95YUtbMDDSKQHCysmQ-Pvc,12522 +django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo,sha256=1fS9FfWi8b9NJKm3DBKETmuffsrTX-_OHo9fkCCXzpg,3268 +django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po,sha256=-z1j108uoswi9YZfh3vSIswLXu1iUKgDXNdZNEA0yrA,5062 +django/contrib/admin/locale/nb/LC_MESSAGES/django.mo,sha256=IroGpA0_OpPSHjw8llcKD7XoPMqtLLPcYtyiUTQXG6k,15643 +django/contrib/admin/locale/nb/LC_MESSAGES/django.po,sha256=U_vdIdGmmEvivVU2Z5ZgZwvdsjM31d9zjZl6clc4bx0,17068 +django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo,sha256=VSt2qyv3IsyongCj9VUuceksd2L7X8uluPJMeGgfOIo,4375 +django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po,sha256=NJ1EcuXD8LEuLwe_FbOe1NEgAoAi-v2qljCiYrxhA9M,4915 +django/contrib/admin/locale/ne/LC_MESSAGES/django.mo,sha256=vkGnGxQFgLe9TFxEalAj-wLa0mos4ylG24clOGzRWr8,15710 +django/contrib/admin/locale/ne/LC_MESSAGES/django.po,sha256=qWDifq6NZdeyYS2uM7OFuypxeWCmBkCZBKhVEOAvd5g,19569 +django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo,sha256=mJdtpLT9k4vDbN9fk2fOeiy4q720B3pLD3OjLbAjmUI,5362 +django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po,sha256=N91RciTV1m7e8-6Ihod5U2xR9K0vrLoFnyXjn2ta098,6458 +django/contrib/admin/locale/nl/LC_MESSAGES/django.mo,sha256=8ec19xPOxXsG7ttdJ-6eGJrHAA67wnrEviCtYFA9baY,16306 +django/contrib/admin/locale/nl/LC_MESSAGES/django.po,sha256=d0A1Q8pzcJPkU-01FDcNMQqs-1jXSm4KDcV3qSny3PY,17945 +django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.mo,sha256=BYmzOwUt7vwLyHTSkbf8JTxS53E4KZLfEQQNVSxmAgw,4691 +django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po,sha256=2oLuixuq2iE_du5djJdQVw5yapVsp8pUz652XXaYN3k,5421 +django/contrib/admin/locale/nn/LC_MESSAGES/django.mo,sha256=zKIlvBLMvoqrXO90TqPJcdTEXkVweUWpz6ynsWeg8mU,10943 +django/contrib/admin/locale/nn/LC_MESSAGES/django.po,sha256=-CFana0-PPFwv1jcdyjYuLK2OYOPva-xxMjlVhvsoCw,14999 +django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.mo,sha256=A7MT59BoyOSiM7W0phx8LLKQyH4Q8AEu6jUsBjUBOoE,3120 +django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po,sha256=tCXUV4F6FhMa-K0SBw9lQ0U2KY5kcMpGzT7jzKSvceo,4578 +django/contrib/admin/locale/os/LC_MESSAGES/django.mo,sha256=c51PwfOeLU2YcVNEEPCK6kG4ZyNc79jUFLuNopmsRR8,14978 +django/contrib/admin/locale/os/LC_MESSAGES/django.po,sha256=yugDw7iziHto6s6ATNDK4yuG6FN6yJUvYKhrGxvKmcY,18188 +django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo,sha256=0gMkAyO4Zi85e9qRuMYmxm6JV98WvyRffOKbBVJ_fLQ,3806 +django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po,sha256=skiTlhgUEN8uKk7ihl2z-Rxr1ZXqu5qV4wB4q9qXVq0,5208 +django/contrib/admin/locale/pa/LC_MESSAGES/django.mo,sha256=XRkVFMMBuHA86K16qlN5X2c1DliD-hUwFIB9NIbhPXk,10171 +django/contrib/admin/locale/pa/LC_MESSAGES/django.po,sha256=XTZMIuOCZRC7aG-iRSokjDy9f126VV63S6TLX0sKrOA,16093 +django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo,sha256=lwkcLUw3N-uFwqP2p1sZzaMVeXUGIMPDO-IPoYnalGo,1207 +django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po,sha256=7BYA76FmHAJVe_GRt2fIYei57Sk3B7G_qHy-lrCUxgs,3717 +django/contrib/admin/locale/pl/LC_MESSAGES/django.mo,sha256=dntS1vfCNnlxUdEvjWxkE9JF3MO1MaUIPibBMyrQ5z4,16767 +django/contrib/admin/locale/pl/LC_MESSAGES/django.po,sha256=SrgLr7XJKVbUlKKmfEwmY-lqaLfUdso2hMk9UnwTrMM,18476 +django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo,sha256=ec1TSIUAbti7sn1vEkF_JwsAKtJw7AQ_P_QgyAq8R38,5124 +django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po,sha256=u0KYrSzRQm49ZVcLqocF0bJjzL8fQXjR5dHtrdWvYhc,5885 +django/contrib/admin/locale/pt/LC_MESSAGES/django.mo,sha256=kJQFBZeg8oTQySbwGEA2U5KX-SD4jSNDTQKqNkwADJM,16612 +django/contrib/admin/locale/pt/LC_MESSAGES/django.po,sha256=tkaISKw8FWa0AWjwqyGJO8h_HQRy_-NjOAHezoOFynk,18021 +django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo,sha256=D6-8QwX6lsACkEcYXq1tK_4W2q_NMc6g5lZQJDZRFHw,4579 +django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po,sha256=__a9WBgO_o0suf2xvMhyRk_Wkg2tfqNHmJOM5YF86sk,5118 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo,sha256=5LfoCVXCKPB0YoxVvijk6viVmNH6DOjQT0LdSV3wTPI,16398 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po,sha256=pHFIJArrkTV8TTp90h7J-Irf3wLjA4zhXxoXValg8X4,18246 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo,sha256=wOoG2N8JrONQDPsXZ0LstCOUwL0Dtkrg5tv5LUfdLPQ,4619 +django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po,sha256=VGvet4lDdbvOiWQiXEJzZncw5KpeiK6vPITwmIiwLXU,5256 +django/contrib/admin/locale/ro/LC_MESSAGES/django.mo,sha256=i9xCmjjK89RDyZbv4byzzXp10n-XzwsLpFrkNcpmKD8,16508 +django/contrib/admin/locale/ro/LC_MESSAGES/django.po,sha256=KXM5hrWJOmXe0uJ8hAcnAyubdFmfiHGqQD4TlDiVIB4,17936 +django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo,sha256=ecZWK29CdeMH21OfOuv0dZ9907hWu_1gUsUeDxRJd-c,4711 +django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po,sha256=2Vm36kASBB8RlNTWV3xnLkl06qGbPex4zJeXKV1ihCc,5388 +django/contrib/admin/locale/ru/LC_MESSAGES/django.mo,sha256=UUsVqTtdz3RrPeo3zNTpyfzj6q9X6akrEW_iiYhTMM8,21129 +django/contrib/admin/locale/ru/LC_MESSAGES/django.po,sha256=2aSRrHBP4Is4ROggjZmEXkb3AhWadFbBJBfAkwTslXo,22684 +django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo,sha256=aKfi6-U6lHDVoCT0vnr5u02POMb2ZZq6RBWkYM3ZTGs,6564 +django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po,sha256=qJElbC05QixcTmPe4_QN_p0UiiXxVXRMXEK8ZsTYS58,7372 +django/contrib/admin/locale/sk/LC_MESSAGES/django.mo,sha256=qfJ6iSOPH215iuk7dGbbbkYFbDTFr3DgXTH5PKyakX0,16405 +django/contrib/admin/locale/sk/LC_MESSAGES/django.po,sha256=_efzcdpl-KkRFglILyRBp2lXLu1jAnoeWjFHRmE4vio,17792 +django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo,sha256=FIrWSjWt0qRGLmjt3wODBr4Dm9rfGGJNo_aQomRlL9w,4551 +django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po,sha256=8ExPrvCwSNeOwGOrWwpw3CASDDSYFdINzbj90oX9kfo,5176 +django/contrib/admin/locale/sl/LC_MESSAGES/django.mo,sha256=iqcg1DYwwDVacRAKJ3QR4fTmKQhRGXU4WkwYco9ASaA,16136 +django/contrib/admin/locale/sl/LC_MESSAGES/django.po,sha256=VeIJDh1PojyUy-4AdPcVezbQ-XVWqp04vFE_u3KU2tU,17508 +django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo,sha256=0jqGv5lgcfyxh9pdnB0Nt7e0bF2G0nO-iVWJjKwyZqI,4724 +django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po,sha256=1DEs7obfCCf-hNM2nIkMizcRcq1KoLBvngMaXLlozUo,5269 +django/contrib/admin/locale/sq/LC_MESSAGES/django.mo,sha256=mz4DGjNy67A6s3gbYuWSrjeGyQgZ29HjEQ22c7oq3HA,16593 +django/contrib/admin/locale/sq/LC_MESSAGES/django.po,sha256=1TlVYvPiB1UztB-fEAcw0iTs0rzd2NrBKH4XXv7-eq0,17876 +django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo,sha256=Kke8CoU6tgem52SEYXyN-GD31iE0X2DtXljgEx2u5Dc,4590 +django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po,sha256=Xr0i6Ru0KgO1fmXHJbF_8_QC6mCVU8lKKNDB0lQWVdU,5052 +django/contrib/admin/locale/sr/LC_MESSAGES/django.mo,sha256=GdgygmaQEZxa5svkL62lo09VScrFCdlr1bXeaDyF0yU,14126 +django/contrib/admin/locale/sr/LC_MESSAGES/django.po,sha256=QghWs3rh7s_9E01A08E4DpZlaI0gUdNERXJ0ppsTOkw,18244 +django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo,sha256=tU7FI7MZSQ8-uj0yeHXsPFxTscrVNAVNyowrPVp6ShA,3493 +django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po,sha256=jAYqG0qPzVOYfL9rmyqXaamk-dJOX3Y7eZamJRjQgJU,4944 +django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=MCdPPbt_Rob5o-oiXrrh04yJdpzj1_LH2u6iNQrUZ0U,11339 +django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po,sha256=z7Kmej61JawIMlGVei9SznO_yzgijWZ5P-YZDNZQGxI,15457 +django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo,sha256=Q9Z-L--PCpPQkbqm2JmNX0jGQt42RVX9I7LdQLEgoQQ,2978 +django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po,sha256=ltYFTnxmwOTZjaSuR_w5aTMw1jpU4fcblD4EopYvnfQ,4429 +django/contrib/admin/locale/sv/LC_MESSAGES/django.mo,sha256=NCnsGQ3f2H8e-KKPQqurbzEK1C2GwmzzyS_4QEyuI9M,15933 +django/contrib/admin/locale/sv/LC_MESSAGES/django.po,sha256=v5aY4NPh1JcTxQComXQqt7s2oaoaBJrtpMJP0LWy8HM,17467 +django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.mo,sha256=Q9UBnIR3KTna0BtGSZyXiehzxj8rP2I2NEi_2tTKUTU,4541 +django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po,sha256=SfGsoatvFSE1fsWsg_aVZl7gNsI0dtEmaro_0cGu9m4,5206 +django/contrib/admin/locale/sw/LC_MESSAGES/django.mo,sha256=Mtj7jvbugkVTj0qyJ_AMokWEa2btJNSG2XrhpY0U1Mc,14353 +django/contrib/admin/locale/sw/LC_MESSAGES/django.po,sha256=ElU-s0MgtNKF_aXdo-uugBnuJIDzHqMmy1ToMDQhuD0,16419 +django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.mo,sha256=p0pi6-Zg-qsDVMDjNHO4aav3GfJ3tKKhy6MK7mPtC50,3647 +django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po,sha256=lZFP7Po4BM_QMTj-SXGlew1hqyJApZxu0lxMP-YduHI,4809 +django/contrib/admin/locale/ta/LC_MESSAGES/django.mo,sha256=ZdtNRZLRqquwMk7mE0XmTzEjTno9Zni3mV6j4DXL4nI,10179 +django/contrib/admin/locale/ta/LC_MESSAGES/django.po,sha256=D0TCLM4FFF7K9NqUGXNFE2KfoEzx5IHcJQ6-dYQi2Eg,16881 +django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.mo,sha256=2-37FOw9Bge0ahIRxFajzxvMkAZL2zBiQFaELmqyhhY,1379 +django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po,sha256=Qs-D7N3ZVzpZVxXtMWKOzJfSmu_Mk9pge5W15f21ihI,3930 +django/contrib/admin/locale/te/LC_MESSAGES/django.mo,sha256=aIAG0Ey4154R2wa-vNe2x8X4fz2L958zRmTpCaXZzds,10590 +django/contrib/admin/locale/te/LC_MESSAGES/django.po,sha256=-zJYrDNmIs5fp37VsG4EAOVefgbBNl75c-Pp3RGBDAM,16941 +django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo,sha256=VozLzWQwrY-USvin5XyVPtUUKEmCr0dxaWC6J14BReo,1362 +django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po,sha256=HI8IfXqJf4I6i-XZB8ELGyp5ZNr-oi5hW9h7n_8XSaQ,3919 +django/contrib/admin/locale/th/LC_MESSAGES/django.mo,sha256=3M_F_61KZCpwDW59j69WocWl5BvdOP2kP0ghqjWuvtU,18775 +django/contrib/admin/locale/th/LC_MESSAGES/django.po,sha256=L2VnfVan4tJ0Lafv0Mc7oVNy2HG6l2tlwDaetLCpByY,21693 +django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo,sha256=Pf2RPgOPysCBvi_5dA73rGrrfs6E4fwtQslrJ0C1-0E,5584 +django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po,sha256=dJWCRdd48kZYyhWcOrqqrBIrFKnZt5BL4Dj0pLH-vYk,6386 +django/contrib/admin/locale/tr/LC_MESSAGES/django.mo,sha256=AMH9iJeDnFNroamlplOgstt5LCDMLYaQHf11ZeHaZGA,16541 +django/contrib/admin/locale/tr/LC_MESSAGES/django.po,sha256=l554XQjF1bObdqocEkUUEOd83PS_Evs6on3YdLnzZXQ,18065 +django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo,sha256=_UZ4Vl3iMn2jr69RdNsamDcQUi8Z40gb_cXGM6v7htM,4547 +django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po,sha256=DH2pZ5OEc8jhW3gzRvq9E_Z6pUA7yayyikszK86MBYg,5070 +django/contrib/admin/locale/tt/LC_MESSAGES/django.mo,sha256=ObJ8zwVLhFsS6XZK_36AkNRCeznoJJwLTMh4_LLGPAA,12952 +django/contrib/admin/locale/tt/LC_MESSAGES/django.po,sha256=VDjg5nDrLqRGXpxCyQudEC_n-6kTCIYsOl3izt1Eblc,17329 +django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo,sha256=Sz5qnMHWfLXjaCIHxQNrwac4c0w4oeAAQubn5R7KL84,2607 +django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po,sha256=_Uh3yH_RXVB3PP75RFztvSzVykVq0SQjy9QtTnyH3Qk,4541 +django/contrib/admin/locale/udm/LC_MESSAGES/django.mo,sha256=2Q_lfocM7OEjFKebqNR24ZBqUiIee7Lm1rmS5tPGdZA,622 +django/contrib/admin/locale/udm/LC_MESSAGES/django.po,sha256=L4TgEk2Fm2mtKqhZroE6k_gfz1VC-_dXe39CiJvaOPE,10496 +django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 +django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po,sha256=ZLYr0yHdMYAl7Z7ipNSNjRFIMNYmzIjT7PsKNMT6XVk,2811 +django/contrib/admin/locale/uk/LC_MESSAGES/django.mo,sha256=JK10EB3jmFUpbEEyhY0IjzI_xn1-47n3UL8aFcIPT70,20138 +django/contrib/admin/locale/uk/LC_MESSAGES/django.po,sha256=UjHVH3lDzepPD_qTUuwPC1FVF3stpaJhzXTq4me5wUY,21839 +django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.mo,sha256=0PeSJdHf986VwD8vDLQLdrfJJv2Vw57c_vo8XLcu4Io,5574 +django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po,sha256=roROo3W4qdlg2-XQwUnF3rnqazVwFSQvJ3wnyYBYXrU,6256 +django/contrib/admin/locale/ur/LC_MESSAGES/django.mo,sha256=HvyjnSeLhUf1JVDy759V_TI7ygZfLaMhLnoCBJxhH_s,13106 +django/contrib/admin/locale/ur/LC_MESSAGES/django.po,sha256=BFxxLbHs-UZWEmbvtWJNA7xeuvO9wDc32H2ysKZQvF4,17531 +django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo,sha256=eYN9Q9KKTV2W0UuqRc-gg7y42yFAvJP8avMeZM-W7mw,2678 +django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po,sha256=Nj-6L6axLrqA0RHUQbidNAT33sXYfVdGcX4egVua-Pk,4646 +django/contrib/admin/locale/vi/LC_MESSAGES/django.mo,sha256=jl3bBXOh26m8Egaw3N8VIs_x4Gnf_iUmLZVW2zyaTpU,14951 +django/contrib/admin/locale/vi/LC_MESSAGES/django.po,sha256=eDAYTe4FiiMZO3dzMFu_3qNqYDC7s1gXRUeBSOePIrQ,17618 +django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo,sha256=M_wqHg1NO-I7xfY-mMZ29BqUAqGzlizgJ3_DIGBWOUc,3733 +django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po,sha256=d3YtQhNuCqtfMO3u5-6zoNhhGBNYkoUhTrxz7I3PRkQ,5018 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=NSmADSF_aWntgUC5L_-9ureIotlq308r173LP9Mk4zg,15154 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po,sha256=rwmGfveq0K18ua5DyMcTXlWxnFICex4ZD2F5MoZN0Hk,16754 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo,sha256=hHInOZe0GSIyBaXEax7mVKbf-pbDVZViNRPD2ia9fLE,4230 +django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po,sha256=lDyl7tV3bT5CTtfrzdcVbTlxahnhwPvs5R33Ig1Govk,4911 +django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=kEKX-cQPRFCNkiqNs1BnyzEvJQF-EzA814ASnYPFMsw,15152 +django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po,sha256=iH3w7Xt_MelkZefKi8F0yAWN6QGdQCJBz8VaFY4maUg,16531 +django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo,sha256=yFwS8aTJUAG5lN4tYLCxx-FLfTsiOxXrCEhlIA-9vcs,4230 +django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po,sha256=C4Yk5yuYcmaovVs_CS8YFYY2iS4RGi0oNaUpTm7akeU,4724 +django/contrib/admin/migrations/0001_initial.py,sha256=0p5TjterT80FOrCxhO7YqZPag-xnyRin_mQ01Qj579o,1893 +django/contrib/admin/migrations/0002_logentry_remove_auto_add.py,sha256=_7XFWubtQ7NG0eQ02MqtxXQmjBmYc6Od5rwcAiT1aCs,554 +django/contrib/admin/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/admin/static/admin/css/autocomplete.css,sha256=MGqRzeZ1idtUnRM7MnEHw7ClmOVe_Uo7SdLoudapNMU,8440 +django/contrib/admin/static/admin/css/base.css,sha256=Pplnc9jKFUDyZvspY9dqhhACUvR33cf4Lp0DkK6zEdA,16106 +django/contrib/admin/static/admin/css/changelists.css,sha256=z-w-H416nJzM01ysLRhynHH-4zyjtkoDlzRPFDARX6U,6170 +django/contrib/admin/static/admin/css/dashboard.css,sha256=M_duSlzrcec1HXMWlLXJQkFw4m6v2dgB3PRaJlWQo14,412 +django/contrib/admin/static/admin/css/fonts.css,sha256=SnBl3KjeUZqRmZw3F0iNm1YpqFhjrNC_fNN0H2TkuYc,423 +django/contrib/admin/static/admin/css/forms.css,sha256=NtSdGKiwEksxVFU-0XeP8Ijv69Zp9sMGYrZqYTh9_s8,8173 +django/contrib/admin/static/admin/css/login.css,sha256=lHpzTw50VkxttDANxGiCnANx46B8HaROciU_sRHbTRs,1203 +django/contrib/admin/static/admin/css/responsive.css,sha256=UAMABM7h5rRZ8FocJw4bfx36Q5XtIDm4ddXN8lMC4SQ,17894 +django/contrib/admin/static/admin/css/responsive_rtl.css,sha256=kdXYUgMd5uXiLthyjc1pv4VXCu9Wy8Mxk1q_f8eQNz0,1859 +django/contrib/admin/static/admin/css/rtl.css,sha256=4FQYhqc4pttIAS0ealmRFrEIwirPs7v9YK3f7DxqTEQ,3731 +django/contrib/admin/static/admin/css/widgets.css,sha256=FbxIKiGYkWjZwRMm5A_Qv-kKrhsPnfzhsF1j28eSqnA,10340 +django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md,sha256=Py5KwtTr_nv_wJAqcAa1YqXiIY_0XyS08UQXZhXiqNo,1124 +django/contrib/admin/static/admin/css/vendor/select2/select2.css,sha256=xqxV4FDj5tslOz6MV13pdnXgf63lJwViadn__ciKmIs,17604 +django/contrib/admin/static/admin/css/vendor/select2/select2.min.css,sha256=xJOZHfpxLR_uhh1BwYFS5fhmOAdIRQaiOul5F_b7v3s,15196 +django/contrib/admin/static/admin/fonts/LICENSE.txt,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560 +django/contrib/admin/static/admin/fonts/README.txt,sha256=8aTEGqGae4MewJx-muqQ1E4xgkwarj9lGmbjKp2vOpo,137 +django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff,sha256=NPwBegIIh-Ky0wNS1D5R7FNrAOZV6koNgbKynKYRfUM,82564 +django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff,sha256=ZPkI7tYTAgKLZN-hXqCYnBxc5aa-Se3BMBILeYVu6uQ,81348 +django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff,sha256=cX0lRkeH5ff6E_fLaT8SATtvSBNuv7JcQ-5u_Fye3-Q,80304 +django/contrib/admin/static/admin/img/LICENSE,sha256=0RT6_zSIwWwxmzI13EH5AjnT1j2YU3MwM9j3U19cAAQ,1081 +django/contrib/admin/static/admin/img/README.txt,sha256=M5PZqSUBMTJ36I0D8RMKomdAXz3aQhEvoTHXoHfiNM0,318 +django/contrib/admin/static/admin/img/calendar-icons.svg,sha256=gbMu26nfxZphlqKFcVOXpcv5zhv5x_Qm_P4ba0Ze84I,1094 +django/contrib/admin/static/admin/img/icon-addlink.svg,sha256=kBtPJJ3qeQPWeNftvprZiR51NYaZ2n_ZwJatY9-Zx1Q,331 +django/contrib/admin/static/admin/img/icon-alert.svg,sha256=aXtd9PA66tccls-TJfyECQrmdWrj8ROWKC0tJKa7twA,504 +django/contrib/admin/static/admin/img/icon-calendar.svg,sha256=_bcF7a_R94UpOfLf-R0plVobNUeeTto9UMiUIHBcSHY,1086 +django/contrib/admin/static/admin/img/icon-changelink.svg,sha256=clM2ew94bwVa2xQ6bvfKx8xLtk0i-u5AybNlyP8k-UM,380 +django/contrib/admin/static/admin/img/icon-clock.svg,sha256=k55Yv6R6-TyS8hlL3Kye0IMNihgORFjoJjHY21vtpEA,677 +django/contrib/admin/static/admin/img/icon-deletelink.svg,sha256=06XOHo5y59UfNBtO8jMBHQqmXt8UmohlSMloUuZ6d0A,392 +django/contrib/admin/static/admin/img/icon-no.svg,sha256=QqBaTrrp3KhYJxLYB5E-0cn_s4A_Y8PImYdWjfQSM-c,560 +django/contrib/admin/static/admin/img/icon-unknown-alt.svg,sha256=LyL9oJtR0U49kGHYKMxmmm1vAw3qsfXR7uzZH76sZ_g,655 +django/contrib/admin/static/admin/img/icon-unknown.svg,sha256=ePcXlyi7cob_IcJOpZ66uiymyFgMPHl8p9iEn_eE3fc,655 +django/contrib/admin/static/admin/img/icon-yes.svg,sha256=_H4JqLywJ-NxoPLqSqk9aGJcxEdZwtSFua1TuI9kIcM,436 +django/contrib/admin/static/admin/img/inline-delete.svg,sha256=Ni1z8eDYBOveVDqtoaGyEMWG5Mdnt9dniiuBWTlnr5Y,560 +django/contrib/admin/static/admin/img/search.svg,sha256=HgvLPNT7FfgYvmbt1Al1yhXgmzYHzMg8BuDLnU9qpMU,458 +django/contrib/admin/static/admin/img/selector-icons.svg,sha256=0RJyrulJ_UR9aYP7Wbvs5jYayBVhLoXR26zawNMZ0JQ,3291 +django/contrib/admin/static/admin/img/sorting-icons.svg,sha256=cCvcp4i3MAr-mo8LE_h8ZRu3LD7Ma9BtpK-p24O3lVA,1097 +django/contrib/admin/static/admin/img/tooltag-add.svg,sha256=fTZCouGMJC6Qq2xlqw_h9fFodVtLmDMrpmZacGVJYZQ,331 +django/contrib/admin/static/admin/img/tooltag-arrowright.svg,sha256=GIAqy_4Oor9cDMNC2fSaEGh-3gqScvqREaULnix3wHc,280 +django/contrib/admin/static/admin/img/gis/move_vertex_off.svg,sha256=ou-ppUNyy5QZCKFYlcrzGBwEEiTDX5mmJvM8rpwC5DM,1129 +django/contrib/admin/static/admin/img/gis/move_vertex_on.svg,sha256=DgmcezWDms_3VhgqgYUGn-RGFHyScBP0MeX8PwHy_nE,1129 +django/contrib/admin/static/admin/js/SelectBox.js,sha256=xB_jbdmwUFitjqFcGankTIkhcTGaluR9rmBoVy0w4fg,5755 +django/contrib/admin/static/admin/js/SelectFilter2.js,sha256=haJFnUq97-Uat1iVigFh9y0ssqTcIjKjba8NbHkv5fA,12680 +django/contrib/admin/static/admin/js/actions.js,sha256=PveOc3V1J5uCsTIgKlujfaZjXgXh_grkxGNgZUuPV_4,6502 +django/contrib/admin/static/admin/js/actions.min.js,sha256=5yXpKSwzdlPdUsxCu_yrYTa68mJuNyD5Pzs6kbaSeiI,3161 +django/contrib/admin/static/admin/js/autocomplete.js,sha256=LgImTP2VTEaJKqxBqvJKRa-mfenZBjeVg7LnHetaxQU,1124 +django/contrib/admin/static/admin/js/calendar.js,sha256=8ej_F8SBtoFhNmmoLwONpyVwOJHd5JBWUMe1mwgxpwE,7777 +django/contrib/admin/static/admin/js/cancel.js,sha256=A9TJZ9Ih6xWf-3ETNJXwXYgzCRu6BlMQhncwS6KWiSk,204 +django/contrib/admin/static/admin/js/change_form.js,sha256=J-beGDyqR6uyb3iW_OI9Yo0ZFrfwJVqNFFDeL7-njqA,712 +django/contrib/admin/static/admin/js/collapse.js,sha256=089NhKcy5cbhzScg6vWEfoXxItzFpxVsYYJ2C7KMQUE,1151 +django/contrib/admin/static/admin/js/collapse.min.js,sha256=2ouFB9PV4qb6btAYqFc-mMUc651Jq4ZPVXJ7AaF_ZTY,1634 +django/contrib/admin/static/admin/js/core.js,sha256=9XcoubW_oyev18M3x8f82mYQ7S2IyL75jZmu4XaIdBo,7134 +django/contrib/admin/static/admin/js/inlines.js,sha256=l9QepZOAUgZ9rEJ-OcR_3Lh3JQtsza9H8y3k0CLBvqE,13673 +django/contrib/admin/static/admin/js/inlines.min.js,sha256=rQt0u9jd1SyYaNhQWb34UHBxRMctRmtIT1O7WMJK3Rc,5824 +django/contrib/admin/static/admin/js/jquery.init.js,sha256=Gr-yEd61wY6uBDMhOaVq-amfciz7EZhMvJfai_WxrHE,363 +django/contrib/admin/static/admin/js/popup_response.js,sha256=7XyHe9SDYkB8OMxF7fhL6N5l4Oxf-gXqzGlpPK63tcc,569 +django/contrib/admin/static/admin/js/prepopulate.js,sha256=PCNwmurilcnTH8ve8QXdAM0rHHWvLIaCU6HEnyRKJyg,1538 +django/contrib/admin/static/admin/js/prepopulate.min.js,sha256=pVBz-2RAxr0d6ebCNjkfOEiUXtd9f6Ppwtl7HOHw2Pk,372 +django/contrib/admin/static/admin/js/prepopulate_init.js,sha256=uD3_ZoYfJ62mcSgqzHfePA3Y5jaOBjxn7SU0LuYFgEE,495 +django/contrib/admin/static/admin/js/timeparse.js,sha256=oVk0xpGmRjS0V2sMsjGulzMSNDvIr1gQ6_fpivvh_kQ,2984 +django/contrib/admin/static/admin/js/urlify.js,sha256=58xpviBrxcL0ojOn0tAyAUfcqMCcA74qQZtpJ7_gN9c,8729 +django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js,sha256=R2WRhH2444LARslaEB01MB8MyLh_XnRvuUJiVvnAYV0,20283 +django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js,sha256=GEruiyMhTd6Q5pX-C5z3z0Xv4BMcpGFKuonaAYuSW0A,6897 +django/contrib/admin/static/admin/js/vendor/jquery/LICENSE-JQUERY.txt,sha256=GIg3JQapSjFSu38FkC7Wm4cW4HUcvoWPb0YdP5LxKfU,1282 +django/contrib/admin/static/admin/js/vendor/jquery/jquery.js,sha256=laXWtGydpwqJ8JA-X9x2miwmaiKhn8tVmOVEigRNtP4,258648 +django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js,sha256=a23g1Nt4dtEYOj7bR-vTu7-T8VP13humZFBJNIYoEJo,85659 +django/contrib/admin/static/admin/js/vendor/select2/LICENSE-SELECT2.md,sha256=Py5KwtTr_nv_wJAqcAa1YqXiIY_0XyS08UQXZhXiqNo,1124 +django/contrib/admin/static/admin/js/vendor/select2/select2.full.js,sha256=nwWu44AW64pJgDdb4wY7wcWkfUPTfBgwjHkIsnBFUE4,161832 +django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js,sha256=FJuLxhiJiX-5Qgs0c2JYLIyJ5i0o4ccg6DQ6zgitCYY,75005 +django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js,sha256=fgVH5qCYQqvtWwa8MGiOx4VSKCg5d_BkMbaknNoncWw,887 +django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js,sha256=WWCwFlKHxZLGDAAacF2YQr1PG6tyPXg7We5DluFuhy4,701 +django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js,sha256=Lk9-DE7eC6VpLXhcuqR8ggkcZ_AgwJEG3dLADTyMbZs,906 +django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js,sha256=f1f8z2aYYgqr6cv7AUE_opdjU_XIUDAMvzsSvODkZpA,876 +django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js,sha256=6WZZ97shyY3gGqfAXak1RDwtD2lVkMPA0jEwwqR30d0,1236 +django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js,sha256=Q-ozOz1DL2NBOPIypU8vjoCxaCiZqJ2rY7_JBQcjrBk,818 +django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js,sha256=mtjCIpmIYVw5CLf7IpjBWp6VtFzdKh_YtZFtpIeIStc,775 +django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js,sha256=HbjnKG1fGks6EHWR6103C5kk8rMLE5_rsPGx9d1jxKY,1132 +django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js,sha256=B-OOZousHwJa-Uuf48D4XzfPJSKCQ3vH_LidT-9KT0c,827 +django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js,sha256=yqV8yK-bz_cS9XBVDUQmbKSykDsXHcqgxlKbPyxDIdw,871 +django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js,sha256=mewAy-15ytAbjTqxZrEZj3p9KebGjBMphc2mIlpgeAE,775 +django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js,sha256=pmySl5IBT6bSgcOVug5n-518CxqpGf63RUYnwfdq-m8,844 +django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js,sha256=47-FmirjxeJnuR_90g3OU4DyBYdDXSL0_8qjZ2rnI7U,1004 +django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js,sha256=CqyMDXQHszgqi0HzoPM0-DtJQGVKAHFCxQq8JDO7zxY,703 +django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js,sha256=pjC1r5EyH3ebWwWk_DF2mH0Y58yQvOEG6slmjh__SoQ,902 +django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js,sha256=WObjYM2vK4OgLqH8fS5H_25e_GjqvAOwshQEwJiUT_k,800 +django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js,sha256=RHcoZ7GaEGyF6TaLim-eW4FoQHJJZkPX1XCLpxuakDg,951 +django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js,sha256=hTkDBVj8ZSlpkXv7JXNWBN3NWxc8lZPBio3ERyy5NQw,1125 +django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js,sha256=83bnotTzaNwZmyOhQYT6UlRKflq2tqTWn7Wd9SNbY18,839 +django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js,sha256=OiDzwQj-cuXGt3NNDQw1wN2jaOjob4uDPUk2mU8D5Bs,727 +django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js,sha256=4ccurwgeaJOSzk97ZFplJ2j4UePW47_mZ14fd1l9k5Y,752 +django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js,sha256=6XBFQypKZoXi46_cW5oCQVFnbOvV0tmbsylkIuf2jNI,773 +django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js,sha256=0u_2rM4AQ5f31vCb-GyMsqRm5UiioLlYZQML0GJZft0,876 +django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js,sha256=iVNfAjWOdeLGYsPy54JSqQ70Q7LGO7T9BshHeos1YoQ,848 +django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js,sha256=CEd7gx5c131ZQEim-sdwFnM-8R_W4ILk3s3B59pqMcI,1065 +django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js,sha256=PZqna7eaSjadvZWOF-EwX0oQ9MD1jHRpRqsv3ieZXHc,854 +django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js,sha256=4aX2ESzIxXXM_45PjloFzbdOkEBvG8l0Lzbn9a07S-Y,913 +django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js,sha256=m_9yurF2g_oLJPoFsrFyyUOooOjSde5x9jLllVgYa68,872 +django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js,sha256=AzBhv0x9TUGCUeNsuSSN3UnT1wSBZhtgp9B7LoXccHs,979 +django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js,sha256=--btj7UZrXBbhKESfI-z_6YxYJXAlkTxPIEXateVQ54,791 +django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js,sha256=gQM3p_YY-hjZ9own3O0rZJYHqK4CYxFBJTrkTvICyK8,785 +django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js,sha256=4N5ht1J1MjVCGRqU8Dzo81MZhKeQxAo-fvMDqaiQosg,896 +django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js,sha256=ir3_tPNqhQ6ri-J3YyOlsZJrbdBvUC3ibpYsEfdMtgg,925 +django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js,sha256=nfaZQpzSrOFJ0VRsxEmlH6azVlcRQpilM7-uHZbD3r0,853 +django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js,sha256=0Hmb5IG2hPFnhMzYFjMOza5OIqJEiD7WlqHy6YDNzQA,859 +django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js,sha256=oLsIzIZQGT7HZqhJ8DXqoiP1JE4OnSQPRBAMWXhvdSM,909 +django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js,sha256=YOIol4UzD2BGvz28zaarwdUDawpKTmEpIcvkwakmAHQ,1127 +django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js,sha256=T5nCVJX52HimSLw8yrMKTSdvLbSysaopsKtoknIoNhg,1184 +django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js,sha256=s5f_D0U7r2thU6UPBAJJ8rzKFUQmRgzE5Y3K07amhbk,1067 +django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js,sha256=zRM5Y0fpg0u0V7rkR4-ZgHELW2gj4YDEDa0sx_zye2o,938 +django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js,sha256=UEGr4C1Cs20s2iaMBzmWDew9hlVg8h9ZQZvVpwGnwXI,786 +django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js,sha256=TbMY7IxUby7KiZKng-SEHvCavoks7d8hN77192lLfMY,951 +django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js,sha256=yqv5e--8eGpw9uZDk0GAfR0nxYnYdj5qegnFHxSAjM4,720 +django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js,sha256=LsPBQ5q5xisqXxgdV4Yf8CU8FO7mhnYRUxm7tJXNl4E,1117 +django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js,sha256=ZWpJDPBtRbDJ3YyQ4Z02Le6BRnN0gRxSAoFzYqFE7Nw,801 +django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js,sha256=J4dFzbG57aghBD5x1PmkURHSi5y6AytiJgcl9iq-3z0,769 +django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js,sha256=zqyrNXby3B33G7De41AQ-OFpy-Cgi3vTXZm_-IGnsXY,708 +django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE-XREGEXP.txt,sha256=tyAi9RwLIDwjSrjyBhtyJIkgOHWM469_UzZTr1MmRys,1103 +django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js,sha256=TjYx21bQgQXDFTdvSqSUh7S8TkYRjT4L4X-SlWNR8CE,128820 +django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js,sha256=E-Plu9EZfyt0PJCSYrCkHuPquVVj9V7g7jQklIOgGDU,62474 +django/contrib/admin/templates/admin/404.html,sha256=o528Ro8Q0JMgd7mtszp8nl1ADHNA12AyclVdmGQnYGc,268 +django/contrib/admin/templates/admin/500.html,sha256=AUIdN7Ka_1KRAGzvo1GvwAHCSJNIbo8oNSF07cMKcj4,527 +django/contrib/admin/templates/admin/actions.html,sha256=FQYsvoJrq949UZHjL1j65Ne_gnSHmMMbgSfUhE-1ciM,1012 +django/contrib/admin/templates/admin/app_index.html,sha256=BSJsWtgum_H2hCxcb2xe-XJozbVOVpUBN_KTe8pcRts,385 +django/contrib/admin/templates/admin/base.html,sha256=oK_cRQ70cxqj0vFdKS0EulJeGPrnJ_ODnjcKZfy6uLA,3668 +django/contrib/admin/templates/admin/base_site.html,sha256=1v0vGrcN4FNEIF_VBiQE6yf2HPdkKhag2_v0AUsaGmM,316 +django/contrib/admin/templates/admin/change_form.html,sha256=Ta-hNbm9cOOU4ht4OpFaYW5r19mtgWn4jJC79gRB5vY,3356 +django/contrib/admin/templates/admin/change_list.html,sha256=zoB-LaxqWYhG4ftnYmjm7K1EqBr4nXlU-dG4nOnueBc,3253 +django/contrib/admin/templates/admin/change_list_results.html,sha256=jZ9lN7EYWsG9Gt7_4eA-HjXHic46v-Dl-e61ruSFWVE,1553 +django/contrib/admin/templates/admin/date_hierarchy.html,sha256=uW1_ZMd-7biE28Ix2pQiY1lTvRX1VjyZhUkp-IHA0NI,372 +django/contrib/admin/templates/admin/delete_confirmation.html,sha256=-TrukS8C9205zRv63WI7s9WOa0-O42_jsClKCE_SgSA,2405 +django/contrib/admin/templates/admin/delete_selected_confirmation.html,sha256=856nsJUtL_3yArQAFdJFKI2WCiV8Z3VoLd8F8TUCy7s,2320 +django/contrib/admin/templates/admin/filter.html,sha256=A59SgwTTgEf2iYjV0IiDIixSZ7yCu1Fs66n0Vguu-NI,330 +django/contrib/admin/templates/admin/index.html,sha256=lwKJMWsD4tdmZRUeutXWAqUWch-DmFZAJh3dwEnH-Ek,2983 +django/contrib/admin/templates/admin/invalid_setup.html,sha256=58ugkYPi6FHmS--y77fhLAdUr4PyrtGwTg6-hm0_Xxg,437 +django/contrib/admin/templates/admin/login.html,sha256=l5s6CMlDeZ7_9nea9JAarSO8ECJ7JgKyrpdfpYxXjKc,1876 +django/contrib/admin/templates/admin/object_history.html,sha256=tjE0pTYaSM43e8QxjNabL2FmrB5wPKm8V3jpuziwPdI,1444 +django/contrib/admin/templates/admin/pagination.html,sha256=h5ZgDSNezRlvz22KhtaRY-3GCnEe8AjRcjCfEktVgWA,554 +django/contrib/admin/templates/admin/popup_response.html,sha256=DDlE_fEKHsGvPcSRy4zFAw_czr3hcCj6YcKRXBNfQEM,358 +django/contrib/admin/templates/admin/prepopulated_fields_js.html,sha256=Q3QxBgVvxePpiz502FjSHOS3szSlHkvUQoPe8sF1YDs,245 +django/contrib/admin/templates/admin/related_widget_wrapper.html,sha256=0xA6-N9cO3ED4W397pwjvjbj5ZS5yhZjeqe89Ri6VHs,1397 +django/contrib/admin/templates/admin/search_form.html,sha256=umCPvMnvXX_BlHs_296pKniVn7Ycg-nKk3nKwrwNAQc,1027 +django/contrib/admin/templates/admin/submit_line.html,sha256=CvdFFZBKfGcspS2MgJbmmDCwcHv9hG9NPBxJ_MzY530,790 +django/contrib/admin/templates/admin/auth/user/add_form.html,sha256=pMsoxDLGJDzjIkcMmKdTYEnUzZ1ESEhBeDLCW17XN5k,310 +django/contrib/admin/templates/admin/auth/user/change_password.html,sha256=a3gZLx4MfgZJrj_fllruwyfy293mmMmVqjcvmsA5dIc,2347 +django/contrib/admin/templates/admin/edit_inline/stacked.html,sha256=fn7GWmIBXEj3ShZ7zzfsQvNzYk5v_tZtzy1C7rWVqAI,2092 +django/contrib/admin/templates/admin/edit_inline/tabular.html,sha256=AZ8eO6PNTKrrRZaaGrhWNbcublSExIKyvz3eJoeOy7c,3897 +django/contrib/admin/templates/admin/includes/fieldset.html,sha256=-_S9dzsEGnmo10xioe7v833gY3tGHBIphzOJ_8rM1fM,1788 +django/contrib/admin/templates/admin/includes/object_delete_summary.html,sha256=i_I2BADSutoccAxARIwbP4VRlDHsag-llDOi3kjcoXw,188 +django/contrib/admin/templates/admin/widgets/clearable_file_input.html,sha256=xmlmv2ioEI6ozk5KbzBjC75SNKuYlO07EzjANQ8tH4w,574 +django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html,sha256=0-PzMOEe3KSRVOBeivruUc8nJRcziIqWO-DyU8pvgEE,346 +django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html,sha256=w18JMKnPKrw6QyqIXBcdPs3YJlTRtHK5HGxj0lVkMlY,54 +django/contrib/admin/templates/admin/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 +django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html,sha256=QBovkKbXrGTBy7DzbWQ3Q16WihHW8txvWgV6vdumbnw,1406 +django/contrib/admin/templates/admin/widgets/split_datetime.html,sha256=ORI1EM3mf4g49PgEE6GWTpVnXdRpKP-0dPtLCbDEHQ0,240 +django/contrib/admin/templates/admin/widgets/url.html,sha256=HDc93YIZhUNe-2gXKLt4SFwrap_wE68aaJXY5JcXCVs,226 +django/contrib/admin/templates/registration/logged_out.html,sha256=9NdzlTMq7QQpj2ftUqZ7FPeHDv0KYbjETF8qMJVGGqI,374 +django/contrib/admin/templates/registration/password_change_done.html,sha256=ldLa6UAVgn_FiKQ9TkO2EZraTBZx1URJrRGOn-_VZJs,671 +django/contrib/admin/templates/registration/password_change_form.html,sha256=W8eYpuusNCZ6EZRkT--QWyXR5rHDienElsw-cMDjB1w,2050 +django/contrib/admin/templates/registration/password_reset_complete.html,sha256=RD0DbFybLTVfHtkU4yN7HG3YXY-xs_BLVgl3vSB7czU,505 +django/contrib/admin/templates/registration/password_reset_confirm.html,sha256=oEDhtdzhrmIc9BhaAgaxvw0qBcpI4I_BQLt5GE8teXI,1373 +django/contrib/admin/templates/registration/password_reset_done.html,sha256=ofGCzPs--2mOPLlGcTbZJAoZQkEpfwFb5reLxaKq12g,669 +django/contrib/admin/templates/registration/password_reset_email.html,sha256=d_NtuuiWTS9AZu6qObmp-lux0UkUCdA9ZUIUKyYJeHE,582 +django/contrib/admin/templates/registration/password_reset_form.html,sha256=b-wxQ_mk7FtqeJ6KQcXbEeXlMWCaiNGafj-7dPeHfDg,970 +django/contrib/admin/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/admin/templatetags/admin_list.py,sha256=6yW09uGViJQ-yLdvoql3q7JnXKdDD408M4l7jeucTjk,16860 +django/contrib/admin/templatetags/admin_modify.py,sha256=uQy-5HqVSeZWnfH98AjGmjIR6oR1rm9Yt71xQYieMhk,3004 +django/contrib/admin/templatetags/admin_static.py,sha256=yDOpxEP2OK0N0e4-wbVd2vepUUmgGPJ7-SYxAE0rJ_4,304 +django/contrib/admin/templatetags/admin_urls.py,sha256=19YZ6jO3NIhyyfHvmBU2UWCJpkxCILIWbXRB7SWPZiQ,1773 +django/contrib/admin/templatetags/log.py,sha256=mxV6mvfVJo0qRCelkjRBNWfrurLABhZvGQlcp5Bn4IU,2079 +django/contrib/admin/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/admin/views/autocomplete.py,sha256=7uZSnvQ1GPdYx6zDEJjCoqIqng8piIzrSmlIPjOJADM,1964 +django/contrib/admin/views/decorators.py,sha256=J4wYcyaFr_-xY1ANl6QF4cFhOupRvjjmBotN0FshVYg,658 +django/contrib/admin/views/main.py,sha256=9NsN36bB79iNYywLeN5FueTjts1FLgeEETMcKuFl2Fk,16874 +django/contrib/admindocs/__init__.py,sha256=oY-eBzAOwpf5g222-vlH5BWHpDzpkj_DW7_XGDj7zgI,69 +django/contrib/admindocs/apps.py,sha256=rV3aWVevgI6o8_9WY0yQ62O5CSMRRZrVwZFt1gpfKk0,216 +django/contrib/admindocs/middleware.py,sha256=j9Anxm6K7DVThuWTeTHgfadMstpRdR4zizJHw9j_lYs,1296 +django/contrib/admindocs/urls.py,sha256=zdHaV60yJMjuLqO9xU0H-j7hz1PmSsepEWZA2GH-eI0,1310 +django/contrib/admindocs/utils.py,sha256=kfCASCLPgCYySKSH2GumnAHWgnHau9n93D_5PhgKEJ4,7961 +django/contrib/admindocs/views.py,sha256=4iuHM403VE_ucFh_VD7u5KHmSL-B6CmbVhoho3nVYZI,16994 +django/contrib/admindocs/locale/af/LC_MESSAGES/django.mo,sha256=GFydi1uBAAkOzJP0FXBCbQFNzX9jK7xqXNsiK7JsOwM,705 +django/contrib/admindocs/locale/af/LC_MESSAGES/django.po,sha256=7nIsCfz1HabA8oPvLBqaofdN8nlFYRi3roXxDpUe_Hs,4680 +django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo,sha256=IoUExlNwqSYql6zMAuXcFt0cmkjMc_i0fb0qp7cBQlA,7286 +django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po,sha256=KT8AOJeiYBk4dyJCyLnHAQJcOP3Fjw6XHOjmHsJ9pEY,7924 +django/contrib/admindocs/locale/ast/LC_MESSAGES/django.mo,sha256=d4u-2zZXnnueWm9CLSnt4TRWgZk2NMlrA6gaytJ2gdU,715 +django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po,sha256=TUkc-Hm4h1kD0NKyndteW97jH6bWcJMFXUuw2Bd62qo,4578 +django/contrib/admindocs/locale/az/LC_MESSAGES/django.mo,sha256=yWjmqVrGit7XjELYepZ9R48eOKma5Wau2RkkSSiJrgc,1687 +django/contrib/admindocs/locale/az/LC_MESSAGES/django.po,sha256=wGdq-g4u8ssHHvODJB-knjZdrP6noxRW9APn_kmOz7w,4993 +django/contrib/admindocs/locale/be/LC_MESSAGES/django.mo,sha256=KY94OxY-NFsFbfZG9cFw77xw68YLDWyuYs04rxwpyU8,8185 +django/contrib/admindocs/locale/be/LC_MESSAGES/django.po,sha256=ijhluxI7Wn9PcZUDG3O8VpRsRVU6AYwZEdkUBfgXAS0,8707 +django/contrib/admindocs/locale/bg/LC_MESSAGES/django.mo,sha256=n9GdBZljKJBmfups8Zt82lpHgEWvonacXztOS6qbAjM,7837 +django/contrib/admindocs/locale/bg/LC_MESSAGES/django.po,sha256=SrmOtJ6nOi3lrgEwr-s76jYzN7lZs05dbEwh9OFxFHU,8692 +django/contrib/admindocs/locale/bn/LC_MESSAGES/django.mo,sha256=NOKVcE8id9G1OctSly4C5lm64CgEF8dohX-Pdyt4kCM,3794 +django/contrib/admindocs/locale/bn/LC_MESSAGES/django.po,sha256=6M7LjIEjvDTjyraxz70On_TIsgqJPLW7omQ0Fz_zyfQ,6266 +django/contrib/admindocs/locale/br/LC_MESSAGES/django.mo,sha256=dxEi_MIOMsiHtDRZwhHnvst54jP1Y18NPEy4v7B-6uI,706 +django/contrib/admindocs/locale/br/LC_MESSAGES/django.po,sha256=GAovZYbTZJ6wcLz7Wc0u8FhXvFD68nV7Cs7JOCs6McA,4572 +django/contrib/admindocs/locale/bs/LC_MESSAGES/django.mo,sha256=clvhu0z3IF5Nt0tZ85hOt4M37pnGEWeIYumE20vLpsI,1730 +django/contrib/admindocs/locale/bs/LC_MESSAGES/django.po,sha256=1-OrVWFqLpeXQFfh7JNjJtvWjVww7iB2s96dcSgLy90,5042 +django/contrib/admindocs/locale/ca/LC_MESSAGES/django.mo,sha256=RZp6R180mKEuO_zKKaMfhP8qDQge9obnuF4qKxvn7Mk,6681 +django/contrib/admindocs/locale/ca/LC_MESSAGES/django.po,sha256=xZfd_o522aYaeqISmPK9vpSuDAWS4XJ1ODULTzaDFg8,7337 +django/contrib/admindocs/locale/cs/LC_MESSAGES/django.mo,sha256=VNltiwoPS5USDnvrYfs_GfzUEO3FYtqKH_jkle5vAoY,6588 +django/contrib/admindocs/locale/cs/LC_MESSAGES/django.po,sha256=1hoetCtTnTTHxG8SijCTqltOJbguOMnfho-ZvXCaI2A,7150 +django/contrib/admindocs/locale/cy/LC_MESSAGES/django.mo,sha256=sYeCCq0CMrFWjT6rKtmFrpC09OEFpYLSI3vu9WtpVTY,5401 +django/contrib/admindocs/locale/cy/LC_MESSAGES/django.po,sha256=GhdikiXtx8Aea459uifQtBjHuTlyUeiKu0_rR_mDKyg,6512 +django/contrib/admindocs/locale/da/LC_MESSAGES/django.mo,sha256=SWw8DiXbYPQCc8nwUPOt68FRUgrd_Eb7Dw9SqKXWrhY,6458 +django/contrib/admindocs/locale/da/LC_MESSAGES/django.po,sha256=_j2DkNr1pVGMcVLA4F1lzurLyS8ElKR4w8qWyhSlUOw,7062 +django/contrib/admindocs/locale/de/LC_MESSAGES/django.mo,sha256=6KJ9OfmvE6yzBF-n6sboLq4vv_o0uhLeevUEAZj-uEo,6585 +django/contrib/admindocs/locale/de/LC_MESSAGES/django.po,sha256=y2kXww5nrZpLJZtWm45d1hUCCq2HeplU9hAtDiOj9qo,7097 +django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.mo,sha256=jJNiddLBOMe9oeadm1h4iDRUqaTmfbJ28fS3h141VCk,6836 +django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.po,sha256=MQQidlh2Ljp0ChO92tVJ_gkbTC0kpEbNAMOC2F903qM,7314 +django/contrib/admindocs/locale/el/LC_MESSAGES/django.mo,sha256=dJy15irtJqzPFc_yHS3LTeXYmPu0-bIlyrDPfbE5pSE,8598 +django/contrib/admindocs/locale/el/LC_MESSAGES/django.po,sha256=82wcERwp7_v3l66v3GKdlT-lVGhwGs8DK0184SbV3zk,9259 +django/contrib/admindocs/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/admindocs/locale/en/LC_MESSAGES/django.po,sha256=nR84XXUZlLxu-CriBHo6ljWVqGmeARQvZVvyIIF6JHY,10680 +django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.mo,sha256=BQ54LF9Tx88m-pG_QVz_nm_vqvoy6pVJzL8urSO4l1Q,486 +django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.po,sha256=ho7s1uKEs9FGooyZBurvSjvFz1gDSX6R4G2ZKpF1c9Q,5070 +django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.mo,sha256=xKGbswq1kuWCbn4zCgUQUb58fEGlICIOr00oSdCgtU4,1821 +django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.po,sha256=No09XHkzYVFBgZqo7bPlJk6QD9heE0oaI3JmnrU_p24,4992 +django/contrib/admindocs/locale/eo/LC_MESSAGES/django.mo,sha256=cwozZwZY0TylDQe7JguENqwGIqVhq0PCHK0htOixhsA,6391 +django/contrib/admindocs/locale/eo/LC_MESSAGES/django.po,sha256=WvbW_97wH7tBCbQqzDi0sr4hbsL74V621Bn7lFrMQ4U,6879 +django/contrib/admindocs/locale/es/LC_MESSAGES/django.mo,sha256=OYjdorHASk8cvZfzh4S1tzsB8ukZZQqEP8CJ8ZZD_-w,6673 +django/contrib/admindocs/locale/es/LC_MESSAGES/django.po,sha256=0d-YNcIC4QxJ4c0J62mqCjz7CbrgZZx1J_E4t7PPk7M,7516 +django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.mo,sha256=1-41H1OzEb3L-4LV9OfnbazGm0VQ5oPRxjOpxnjvjLA,6691 +django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.po,sha256=VBSHCqICgxdcVhVH4OvIvocIlv5BOP2QI6xQBgWp3Lk,7247 +django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.mo,sha256=KFjQyWtSxH_kTdSJ-kNUDAFt3qVZI_3Tlpg2pdkvJfs,6476 +django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.po,sha256=dwrTVjYmueLiVPu2yiJ_fkFF8ZeRntABoVND5H2WIRI,7038 +django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.mo,sha256=3hZiFFVO8J9cC624LUt4lBweqmpgdksRtvt2TLq5Jqs,1853 +django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.po,sha256=gNmx1QTbmyMxP3ftGXGWJH_sVGThiSe_VNKkd7M9jOY,5043 +django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.mo,sha256=sMwJ7t5GqPF496w-PvBYUneZ9uSwmi5jP-sWulhc6BM,6663 +django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.po,sha256=ZOcE0f95Q6uD9SelK6bQlKtS2c3JX9QxNYCihPdlM5o,7201 +django/contrib/admindocs/locale/et/LC_MESSAGES/django.mo,sha256=cQwLB8r0hRdWCxp2P8atYGambrKLR18GorVlp_O995M,6402 +django/contrib/admindocs/locale/et/LC_MESSAGES/django.po,sha256=Q3hVcRl3jtexQufNAZWacz3F_VRL1IctRMXYxdXArNE,7009 +django/contrib/admindocs/locale/eu/LC_MESSAGES/django.mo,sha256=WHgK7vGaqjO4MwjBkWz2Y3ABPXCqfnwSGelazRhOiuo,6479 +django/contrib/admindocs/locale/eu/LC_MESSAGES/django.po,sha256=718XgJN7UQcHgE9ku0VyFp7Frs-cvmCTO1o-xS5kpqc,7099 +django/contrib/admindocs/locale/fa/LC_MESSAGES/django.mo,sha256=vpV8y738ijv-UNjfjHMQJXWSCFz5TI_x-MxMur26YEA,7527 +django/contrib/admindocs/locale/fa/LC_MESSAGES/django.po,sha256=Sr9omRw87ylh6cltzJUTxaf3XkkgrMMmTgmTiEYOjaw,8193 +django/contrib/admindocs/locale/fi/LC_MESSAGES/django.mo,sha256=-iPQyWSVn46CF-huqytiomENda1cM0VGAnnVRlwlezQ,6413 +django/contrib/admindocs/locale/fi/LC_MESSAGES/django.po,sha256=AG_WPvp2-c8mQy_Gp4tUACvqN-ACKbr-jxMKb86ilKQ,6945 +django/contrib/admindocs/locale/fr/LC_MESSAGES/django.mo,sha256=9zA2vLYc2wdtnOE2fISo6gd6odAfJARyM3jhwptf2hU,6790 +django/contrib/admindocs/locale/fr/LC_MESSAGES/django.po,sha256=ky8I8laqpSvJSPmqWd5S3kaIVb0QVv1aciUeGxlc3vY,7312 +django/contrib/admindocs/locale/fy/LC_MESSAGES/django.mo,sha256=_xVO-FkPPoTla_R0CzktpRuafD9fuIP_G5N-Q08PxNg,476 +django/contrib/admindocs/locale/fy/LC_MESSAGES/django.po,sha256=b3CRH9bSUl_jjb9s51RlvFXp3bmsmuxTfN_MTmIIVNA,5060 +django/contrib/admindocs/locale/ga/LC_MESSAGES/django.mo,sha256=46M_sp2khE2Bq-p-wPmlzv0cLx7lGnshgsVz8JFIERY,1938 +django/contrib/admindocs/locale/ga/LC_MESSAGES/django.po,sha256=xT1ZwLHeW8MKXziKxQjAC3vNUlM4Na9jZS2YSqGGNoI,5149 +django/contrib/admindocs/locale/gd/LC_MESSAGES/django.mo,sha256=g_HxI2sDlCSI4QMkXmCM1BaBLyA_zm605-lrwWklIWI,6995 +django/contrib/admindocs/locale/gd/LC_MESSAGES/django.po,sha256=8EmFRNWJ1zAdwlK6BMgYe6aw7KwGyDkdUujaYyZJxlI,7477 +django/contrib/admindocs/locale/gl/LC_MESSAGES/django.mo,sha256=CYtHrSyH_Lw0YxmmmndEnMPU-cw5TMr-8NHUjz6v7JM,2265 +django/contrib/admindocs/locale/gl/LC_MESSAGES/django.po,sha256=0S2CJju3EIiEp6kqJIn0Jl1IyRAg2-5ovYMOW0YRtVA,5188 +django/contrib/admindocs/locale/he/LC_MESSAGES/django.mo,sha256=4Ym47IXEM19SY2kPynEXhawHxZ0cehjyOW-wD_eDo48,6912 +django/contrib/admindocs/locale/he/LC_MESSAGES/django.po,sha256=vTP_2GdJOAQLefDgnOnV7lLGoJM7LpHWijrKmDOIXOM,7408 +django/contrib/admindocs/locale/hi/LC_MESSAGES/django.mo,sha256=sZhObIxqrmFu5Y-ZOQC0JGM3ly4IVFr02yqOOOHnDag,2297 +django/contrib/admindocs/locale/hi/LC_MESSAGES/django.po,sha256=X6UfEc6q0BeaxVP_C4priFt8irhh-YGOUUzNQyVnEYY,5506 +django/contrib/admindocs/locale/hr/LC_MESSAGES/django.mo,sha256=fMsayjODNoCdbpBAk9GHtIUaGJGFz4sD9qYrguj-BQA,2550 +django/contrib/admindocs/locale/hr/LC_MESSAGES/django.po,sha256=qi2IB-fBkGovlEz2JAQRUNE54MDdf5gjNJWXM-dIG1s,5403 +django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.mo,sha256=ft4a_FXwxSoabWHHBrX9e9g3SzQG5aYBkOAFki6OK0M,6797 +django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.po,sha256=eQY8M7whVdInK2EeqaeyZCWTH33-qlB2a1IU8eF3uLs,7278 +django/contrib/admindocs/locale/hu/LC_MESSAGES/django.mo,sha256=pAK3eTIgFlPjtJw-3rkd765P78o-LhgM94O8yNBJab8,6660 +django/contrib/admindocs/locale/hu/LC_MESSAGES/django.po,sha256=pJnWzCsWYOZhu0MjMdP3CsTe7Fff4REALZR1SmsJ22Y,7196 +django/contrib/admindocs/locale/ia/LC_MESSAGES/django.mo,sha256=KklX2loobVtA6PqHOZHwF1_A9YeVGlqORinHW09iupI,1860 +django/contrib/admindocs/locale/ia/LC_MESSAGES/django.po,sha256=Z7btOCeARREgdH4CIJlVob_f89r2M9j55IDtTLtgWJU,5028 +django/contrib/admindocs/locale/id/LC_MESSAGES/django.mo,sha256=ls_B8o3QtpvZj8Wbjye1ls_LqgOP3oP-6jcuJzHslkE,6367 +django/contrib/admindocs/locale/id/LC_MESSAGES/django.po,sha256=fHTl0NjPK9xFvhLwLZqgfzTRtrvs6QTpLcAtNaZSQmI,6989 +django/contrib/admindocs/locale/io/LC_MESSAGES/django.mo,sha256=5t9Vurrh6hGqKohwsZIoveGeYCsUvRBRMz9M7k9XYY8,464 +django/contrib/admindocs/locale/io/LC_MESSAGES/django.po,sha256=SVZZEmaS1WbXFRlLLGg5bzUe09pXR23TeJtHUbhyl0w,5048 +django/contrib/admindocs/locale/is/LC_MESSAGES/django.mo,sha256=pEr-_MJi4D-WpNyFaQe3tVKVLq_9V-a4eIF18B3Qyko,1828 +django/contrib/admindocs/locale/is/LC_MESSAGES/django.po,sha256=-mD5fFnL6xUqeW4MITzm8Lvx6KXq4C9DGsEM9kDluZ8,5045 +django/contrib/admindocs/locale/it/LC_MESSAGES/django.mo,sha256=AhGl2DDlIiX9AS3VSj14Hpl86Khrh0USuIIrNajfAvA,6480 +django/contrib/admindocs/locale/it/LC_MESSAGES/django.po,sha256=EWpNc6wFL9vzmTjeB323GlnyuIQ3zy3H-5swX9FIPYA,7155 +django/contrib/admindocs/locale/ja/LC_MESSAGES/django.mo,sha256=F4QwDOvTwCEzGa1E9PoX-VHkF5uJoUcHDVzGl-Fkvc0,7377 +django/contrib/admindocs/locale/ja/LC_MESSAGES/django.po,sha256=Cljuw8oHQafTq2Uw6oDhM4C0Lt_JlQKFebkpkr_zWhA,7936 +django/contrib/admindocs/locale/ka/LC_MESSAGES/django.mo,sha256=COGIfQILK7_Xb1pGl4Z98LLQWYr-EH6_TI3IM7Wv5P0,4441 +django/contrib/admindocs/locale/ka/LC_MESSAGES/django.po,sha256=lx9qSUbU-STxRaqOePfwKZn8n9teql4UiyFN3uIZFMc,6795 +django/contrib/admindocs/locale/kab/LC_MESSAGES/django.mo,sha256=XTuWnZOdXhCFXEW4Hp0zFtUtAF0wJHaFpQqoDUTWYGw,1289 +django/contrib/admindocs/locale/kab/LC_MESSAGES/django.po,sha256=lQWewMZncWUvGhpkgU_rtwWHcgAyvhIkrDfjFu1l-d8,4716 +django/contrib/admindocs/locale/kk/LC_MESSAGES/django.mo,sha256=ZgQRp2IwERnwWKnFOSx6L-no9bnndzut_g4-zwhHpgM,1623 +django/contrib/admindocs/locale/kk/LC_MESSAGES/django.po,sha256=704iJamoOiNc3VKDMzV0bwsWjEfxSS1PQru7TP37wAA,5085 +django/contrib/admindocs/locale/km/LC_MESSAGES/django.mo,sha256=Fff1K0qzialXE_tLiGM_iO5kh8eAmQhPZ0h-eB9iNOU,1476 +django/contrib/admindocs/locale/km/LC_MESSAGES/django.po,sha256=E_CaaYc4GqOPgPh2t7iuo0Uf4HSQQFWAoxSOCG-uEGU,4998 +django/contrib/admindocs/locale/kn/LC_MESSAGES/django.mo,sha256=lisxE1zzW-Spdm7hIzXxDAfS7bM-RdrAG_mQVwz9WMU,1656 +django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po,sha256=fbiHUPdw_iXrOvgiIvPTJI3WPLD_T77VBfhqW6gjq1c,5178 +django/contrib/admindocs/locale/ko/LC_MESSAGES/django.mo,sha256=eZaKtL6wL4GjEnx6wKO2wJoV-BrTjGyPpKHx8pZ7Fug,6609 +django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po,sha256=mlCXxR8y6pV9egVZTsCucsKAi4D-wiSSwq1wMGqHjcg,7285 +django/contrib/admindocs/locale/lb/LC_MESSAGES/django.mo,sha256=N0hKFuAdDIq5clRKZirGh4_YDLsxi1PSX3DVe_CZe4k,474 +django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po,sha256=B46-wRHMKUMcbvMCdojOCxqIVL5qVEh4Czo20Qgz6oU,5058 +django/contrib/admindocs/locale/lt/LC_MESSAGES/django.mo,sha256=o7X4bUYV9OhbG1DbQRZ4fSa-bd0QtaQgkqOuMUMXZTA,6673 +django/contrib/admindocs/locale/lt/LC_MESSAGES/django.po,sha256=XIo4qct4l8y7xpJOqWuSd6dTManhrpqX4WVxUvlJvy8,7373 +django/contrib/admindocs/locale/lv/LC_MESSAGES/django.mo,sha256=lHUI2I_Xj9zQQXReg_StrXPNvNxqme0fcjHqQO545jM,6487 +django/contrib/admindocs/locale/lv/LC_MESSAGES/django.po,sha256=uPOUrYKB-osuZ0Hg9vSSvirrKT1gdSOy1gDRHLGe9-g,7049 +django/contrib/admindocs/locale/mk/LC_MESSAGES/django.mo,sha256=8H9IpRASM7O2-Ql1doVgM9c4ybZ2KcfnJr12PpprgP4,8290 +django/contrib/admindocs/locale/mk/LC_MESSAGES/django.po,sha256=Uew7tEljjgmslgfYJOP9JF9ELp6NbhkZG_v50CZgBg8,8929 +django/contrib/admindocs/locale/ml/LC_MESSAGES/django.mo,sha256=iGH5F1BE1GELyWawhc5QFoX318GIJY-2XvgSGtg3Cig,2704 +django/contrib/admindocs/locale/ml/LC_MESSAGES/django.po,sha256=KkLQj0wABCqrFHA9vwv236zstN359cPsg6cjxRZ_OuM,5911 +django/contrib/admindocs/locale/mn/LC_MESSAGES/django.mo,sha256=KqdcvSpqmjRfA8M4nGB9Cnu9Auj4pTu9aH07XtCep3I,7607 +django/contrib/admindocs/locale/mn/LC_MESSAGES/django.po,sha256=PGhlnzDKyAIRzaPCbNujpxSpf_JaOG66LK_NMlnZy6I,8316 +django/contrib/admindocs/locale/mr/LC_MESSAGES/django.mo,sha256=LDGC7YRyVBU50W-iH0MuESunlRXrNfNjwjXRCBdfFVg,468 +django/contrib/admindocs/locale/mr/LC_MESSAGES/django.po,sha256=5cUgPltXyS2Z0kIKF5ER8f5DuBhwmAINJQyfHj652d0,5052 +django/contrib/admindocs/locale/my/LC_MESSAGES/django.mo,sha256=AsdUmou0FjCiML3QOeXMdbHiaSt2GdGMcEKRJFonLOQ,1721 +django/contrib/admindocs/locale/my/LC_MESSAGES/django.po,sha256=c75V-PprKrWzgrHbfrZOpm00U_zZRzxAUr2U_j8MF4w,5189 +django/contrib/admindocs/locale/nb/LC_MESSAGES/django.mo,sha256=-bqqbUhhOeXaLpNaBPdvAOMVOcUycSn_LMc4KQZ3-cI,6346 +django/contrib/admindocs/locale/nb/LC_MESSAGES/django.po,sha256=Pinb5oYBHqxDF0X5PXcZ4ypW2awXBE4q2p3eYVjTDRo,6935 +django/contrib/admindocs/locale/ne/LC_MESSAGES/django.mo,sha256=vx3Rcm4p1TNT1NXHEVk5q6C5Cux_5zK3ozwNorGzUjk,1505 +django/contrib/admindocs/locale/ne/LC_MESSAGES/django.po,sha256=FTpLzGCFoGAAeZjGI-ZlyaLVfUKwsV758Ca8o5AjREQ,5009 +django/contrib/admindocs/locale/nl/LC_MESSAGES/django.mo,sha256=q2AkgM7vSz-4oNmeBdkzlJ6CYeHotSz46pouZzRfrRM,6349 +django/contrib/admindocs/locale/nl/LC_MESSAGES/django.po,sha256=051HnemeTAcVvvNxkFKzYzxQso-WwM0u1pnRPJil688,6998 +django/contrib/admindocs/locale/nn/LC_MESSAGES/django.mo,sha256=Dx-A4dlDEoOKrtvis1mWfvwA2Urj-QAiKNmBy--v0oY,1662 +django/contrib/admindocs/locale/nn/LC_MESSAGES/django.po,sha256=VAHAyol0YEaHd0TaGxaQuVUIR72QB3VUnB1ARtr-AWw,4974 +django/contrib/admindocs/locale/os/LC_MESSAGES/django.mo,sha256=zSQBgSj4jSu5Km0itNgDtbkb1SbxzRvQeZ5M9sXHI8k,2044 +django/contrib/admindocs/locale/os/LC_MESSAGES/django.po,sha256=hZlMmmqfbGmoiElGbJg7Fp791ZuOpRFrSu09xBXt6z4,5215 +django/contrib/admindocs/locale/pa/LC_MESSAGES/django.mo,sha256=yFeO0eZIksXeDhAl3CrnkL1CF7PHz1PII2kIxGA0opQ,1275 +django/contrib/admindocs/locale/pa/LC_MESSAGES/django.po,sha256=DA5LFFLOXHIJIqrrnj9k_rqL-wr63RYX_i-IJFhBuc0,4900 +django/contrib/admindocs/locale/pl/LC_MESSAGES/django.mo,sha256=EesxAXz7TGC7Llv85MWiqgXmJboTTCXcTw-58RvOQH0,6652 +django/contrib/admindocs/locale/pl/LC_MESSAGES/django.po,sha256=F9BXW5MygjhwJ0yw672hRl7c6612caR60KOxfcaZcKM,7455 +django/contrib/admindocs/locale/pt/LC_MESSAGES/django.mo,sha256=WcXhSlbGdJgVMvydkPYYee7iOQ9SYdrLkquzgIBhVWU,6566 +django/contrib/admindocs/locale/pt/LC_MESSAGES/django.po,sha256=J98Hxa-ApyzRevBwcAldK9bRYbkn5DFw3Z5P7SMEwx0,7191 +django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.mo,sha256=7R52AIZM0NjoASXDmNLzv4x1fePtn9Fj3HJy3iSOsz4,6601 +django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.po,sha256=gIraoQfr6DLWV418adqzym7untmC4fN42WT6X057_A4,7404 +django/contrib/admindocs/locale/ro/LC_MESSAGES/django.mo,sha256=OahWPVuzae_CG3hTXkqycHG97TIIfkS4hnVe8SXQ_cg,6804 +django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po,sha256=tgjbrXGCnM5K-vDsAMLO46G6AMPijNz-0Y0hQgctX0I,7416 +django/contrib/admindocs/locale/ru/LC_MESSAGES/django.mo,sha256=m6sfSIxFI5WJjxdSXZvDcm9A1xIxXJD2r5-UdeIbdlc,8569 +django/contrib/admindocs/locale/ru/LC_MESSAGES/django.po,sha256=i0xEq4zScDKrmRJODgIewx_kUMkmeIPxPNE42Vw9AsI,9226 +django/contrib/admindocs/locale/sk/LC_MESSAGES/django.mo,sha256=_hYfHHwypg7psErP-3c2TY2xITIxaLaAfNofrfoboTA,6637 +django/contrib/admindocs/locale/sk/LC_MESSAGES/django.po,sha256=zIULDrr3lkg5PGLyjXEXM_VGrAUtfmYMHo8G0H6zrRg,7286 +django/contrib/admindocs/locale/sl/LC_MESSAGES/django.mo,sha256=FMg_s9ZpeRD42OsSF9bpe8pRQ7wP7-a9WWnaVliqXpU,6508 +django/contrib/admindocs/locale/sl/LC_MESSAGES/django.po,sha256=JWO_WZAwBpXw-4FoB7rkWXGhi9aEVq1tH2fOC69rcgg,7105 +django/contrib/admindocs/locale/sq/LC_MESSAGES/django.mo,sha256=lbUhjyQWbGARQ6BggqWH1tO6kNi5lMwu-523mC9JCMA,6565 +django/contrib/admindocs/locale/sq/LC_MESSAGES/django.po,sha256=ZA_o7xIUMTVYadovn4Yxl7W54nGzPnIBjkrL66V8pAE,7081 +django/contrib/admindocs/locale/sr/LC_MESSAGES/django.mo,sha256=GnfckcHcuOaXYY1wNmI6VQmGjPX3dpnhgtANIdz8NrE,2217 +django/contrib/admindocs/locale/sr/LC_MESSAGES/django.po,sha256=bYCdRzdUTTmg-UYF-IWSHvA1H0g7C0T2Z3wrWbLwGkw,5425 +django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=au90IT43VR162L2jEsYqhRpso2dvOjpCPSCFiglokTc,1932 +django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.po,sha256=tJ4tHLJj0tDaVZba3WIkI0kg95_jEYWTmqXD0rFb6T8,5140 +django/contrib/admindocs/locale/sv/LC_MESSAGES/django.mo,sha256=cxjvRWC4s9h6TWzY4OE6pec3wh9gbMI_cpKNcfi3RSI,5661 +django/contrib/admindocs/locale/sv/LC_MESSAGES/django.po,sha256=t11gzFzreJ2Z7TWPvUTD2Lc8DXDlOQUj7TfSYjGG21w,6672 +django/contrib/admindocs/locale/sw/LC_MESSAGES/django.mo,sha256=pyJfGL7UdPrJAVlCB3YimXxTjTfEkoZQWX-CSpDkcWc,1808 +django/contrib/admindocs/locale/sw/LC_MESSAGES/django.po,sha256=SIywrLX1UGx4OiPxoxUYelmQ1YaY2LMa3dxynGQpHp8,4929 +django/contrib/admindocs/locale/ta/LC_MESSAGES/django.mo,sha256=8SjQ9eGGyaZGhkuDoZTdtYKuqcVyEtWrJuSabvNRUVM,1675 +django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po,sha256=k593yzVqpSQOsdpuF-rdsSLwKQU8S_QFMRpZXww__1A,5194 +django/contrib/admindocs/locale/te/LC_MESSAGES/django.mo,sha256=eAzNpYRy_G1erCcKDAMnJC4809ITRHvJjO3vpyAC_mk,1684 +django/contrib/admindocs/locale/te/LC_MESSAGES/django.po,sha256=oDg_J8JxepFKIe5m6lDKVC4YWQ_gDLibgNyQ3508VOM,5204 +django/contrib/admindocs/locale/th/LC_MESSAGES/django.mo,sha256=bHK49r45Q1nX4qv0a0jtDja9swKbDHHJVLa3gM13Cb4,2167 +django/contrib/admindocs/locale/th/LC_MESSAGES/django.po,sha256=_GMgPrD8Zs0lPKQOMlBmVu1I59yXSV42kfkrHzeiehY,5372 +django/contrib/admindocs/locale/tr/LC_MESSAGES/django.mo,sha256=qK7BooitjyWEj-KtIR6mkGVfqrAh92un_D2RDYqHfK0,6625 +django/contrib/admindocs/locale/tr/LC_MESSAGES/django.po,sha256=9Q2F3sWt8Y5WA6y8is8BZb74g80PaazArlZmim7X40E,7235 +django/contrib/admindocs/locale/tt/LC_MESSAGES/django.mo,sha256=pQmAQOPbrBVzBqtoQ0dsFWFwC6LxA5mQZ9QPqL6pSFw,1869 +django/contrib/admindocs/locale/tt/LC_MESSAGES/django.po,sha256=NCLv7sSwvEficUOSoMJlHGqjgjYvrvm2V3j1Gkviw80,5181 +django/contrib/admindocs/locale/udm/LC_MESSAGES/django.mo,sha256=hwDLYgadsKrQEPi9HiuMWF6jiiYUSy4y-7PVNJMaNpY,618 +django/contrib/admindocs/locale/udm/LC_MESSAGES/django.po,sha256=29fpfn4p8KxxrBdg4QB0GW_l8genZVV0kYi50zO-qKs,5099 +django/contrib/admindocs/locale/uk/LC_MESSAGES/django.mo,sha256=uAW0HQdedzkV7MlXBeG9-wlinGHmPKYEn1_-4GVwTc4,8342 +django/contrib/admindocs/locale/uk/LC_MESSAGES/django.po,sha256=KD3jmpidDrTxzOPlqygz760kW1TztPYb-KPq_fi1dUs,9125 +django/contrib/admindocs/locale/ur/LC_MESSAGES/django.mo,sha256=VNg9o_7M0Z2LC0n3_-iwF3zYmncRJHaFqqpxuPmMq84,1836 +django/contrib/admindocs/locale/ur/LC_MESSAGES/django.po,sha256=QTg85c4Z13hMN_PnhjaLX3wx6TU4SH4hPTzNBfNVaMU,5148 +django/contrib/admindocs/locale/vi/LC_MESSAGES/django.mo,sha256=F6dyo00yeyUND_w1Ocm9SL_MUdXb60QQpmAQPto53IU,1306 +django/contrib/admindocs/locale/vi/LC_MESSAGES/django.po,sha256=JrVKjT848Y1cS4tpH-eRivFNwM-cUs886UEhY2FkTPw,4836 +django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=ofyr93DAtNADnsn3OWY5fo8Rh6VL8w9DRJXeUe2zod8,6110 +django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.po,sha256=bMvp2QdcvV36p7SOvqGgCE6ov1nPyU-EDiHJzNVGTHI,6761 +django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=R7NJ9FsGg7h6sETHiXL8jCN6vk_R5AP5vSY9u6R2d1I,4747 +django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.po,sha256=lFWmaYFnY4pf8HQ1WJSAlX6HrOGIdHp_aqMb4e5pgVY,6138 +django/contrib/admindocs/templates/admin_doc/bookmarklets.html,sha256=KbUjr9cygmTvlCiilIGvDTvLuYDdvi4HqzLLK_UBAHw,1333 +django/contrib/admindocs/templates/admin_doc/index.html,sha256=o1Z-Z6Dx8jzLwjihNnhROUOUKK_ILALjWGlMYz4U8u8,1313 +django/contrib/admindocs/templates/admin_doc/missing_docutils.html,sha256=LA8fyI_q_kRmE0e99XgiIDry3GRQ7ZjAu9EYBuCLT3Q,734 +django/contrib/admindocs/templates/admin_doc/model_detail.html,sha256=OfrSMc1vE_qItQrHO6GBBkwlhOQKex03ogvJJSyr2Jg,1824 +django/contrib/admindocs/templates/admin_doc/model_index.html,sha256=ow10WgNZUa6fUCp23ZmvR-kVdYUL29i3HBJ_iwlezfw,1322 +django/contrib/admindocs/templates/admin_doc/template_detail.html,sha256=xN-QihBsDVvpAI3C219Q__FMijnxw8j-wevYkk_mxMQ,995 +django/contrib/admindocs/templates/admin_doc/template_filter_index.html,sha256=PAzC_vpGSddmcza2UXWRuoSkhd0YVYiK_EEtP3eWJQo,1751 +django/contrib/admindocs/templates/admin_doc/template_tag_index.html,sha256=hmLoj_nh53MVJdnqrrlIg36rgSXj4k0IlimMSsQQmVE,1707 +django/contrib/admindocs/templates/admin_doc/view_detail.html,sha256=4mNkUt1_Q8ZGsvsZ1XMirPWNzJyptYMXZVIdPo9UVMc,896 +django/contrib/admindocs/templates/admin_doc/view_index.html,sha256=McuormWD-bVpIiSbnRvy09A-AURhMJeEhy9YX-kbzfs,1684 +django/contrib/auth/__init__.py,sha256=ADkkXnZcCe1qdMn77UgkgKnxZLTjk6gYocI5ZvEcpDE,9206 +django/contrib/auth/admin.py,sha256=5ibrsi934r3-9V7KhSYDm-59mcIaCm6jOXZ2AFTFwHg,8682 +django/contrib/auth/apps.py,sha256=fJNu_-e4MK2zPm9EvUfMBVrW9rw74zsiYih4SmhufW4,956 +django/contrib/auth/backends.py,sha256=_P9ZSQ0NeMFMuRdCsTuXSbnpVFdSQnm7nAZmtv4I06g,6684 +django/contrib/auth/base_user.py,sha256=DS1kB_lYyHW_CbibFanrC7Ow0Lubp8Wifkvsu6uIKYU,4561 +django/contrib/auth/checks.py,sha256=eml6rKyw4rEIHxBJUcqChUdvfEh69Monyjkm9FDTOoY,6355 +django/contrib/auth/common-passwords.txt.gz,sha256=EQsJeKUVEhNdKz_y83Tyip8sTs6R2eIKEAZpfmI66LE,3876 +django/contrib/auth/context_processors.py,sha256=Vb91feuKV9a3BBgR0hrrGmZvVPw0JyYgeA_mRX9QK1c,1822 +django/contrib/auth/decorators.py,sha256=m7U2K7FSMimPdRQd6ozp_asje5srCBmNnvlxh7wfqek,2893 +django/contrib/auth/forms.py,sha256=Op7cZFagwd45v0ZCC9l13xNPLUosJ-2PAlOmT0vcZgQ,15003 +django/contrib/auth/hashers.py,sha256=rq942WSDgrRntTMeGpdYxtP6Z16ADGXFqgeKP8nnHG0,22132 +django/contrib/auth/middleware.py,sha256=ihtkwdqyINaDDix1w3WKE9GayaGABY88j6drV0mHGDs,5399 +django/contrib/auth/mixins.py,sha256=NE4XTW5ooDIkFynB7bYvPmn2nZ4rfmf1No7oSmXCVOE,3809 +django/contrib/auth/models.py,sha256=cNiEZ8zgI9rDGsc4mKqMC9d0NECuoemroE7Dcabn71E,14263 +django/contrib/auth/password_validation.py,sha256=QNm-95BUKXU3naaKGtF9666EU2FTyoKHAPmSyZ3Ar8s,7464 +django/contrib/auth/signals.py,sha256=_QNYY-RzkwTvY3FRo01AW1S-D9l8lVb3ebt6F1GBfMU,227 +django/contrib/auth/tokens.py,sha256=YFS_0l8A2Fpdm0BR9vmRgMjPmdchgEWgPXfmux7XcPo,2823 +django/contrib/auth/urls.py,sha256=6M54eTFdCFEqW0pzzKND4R5-8S9JrzoPcaVt0qA3JXc,1054 +django/contrib/auth/validators.py,sha256=AXlNhfwEd2sonzVAsitbBvKLnBc9CqdGuAmjUB8mEPM,685 +django/contrib/auth/views.py,sha256=cmzrxmsp3zvuB4FYvLh1tDBLC_O3GzgfswfjxrNlICg,22468 +django/contrib/auth/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/auth/handlers/modwsgi.py,sha256=h0T065RiZwMAh3ai2IMeiEQdzmWK62qah7WmOlou6CI,1298 +django/contrib/auth/locale/af/LC_MESSAGES/django.mo,sha256=35F25KM8TCmA0iGFdN_v_SI-3BExezOffEgr_urb06Y,649 +django/contrib/auth/locale/af/LC_MESSAGES/django.po,sha256=cuKRtpHnljceWKGqx8qZAb08XeHd5co3CHRO2V_m4CI,4879 +django/contrib/auth/locale/ar/LC_MESSAGES/django.mo,sha256=lw7pjDDz5lRnSE6bvyGjdcuX06-mUxRZ6AOGreBP8o0,8705 +django/contrib/auth/locale/ar/LC_MESSAGES/django.po,sha256=3RZUD_C65heRnHppLoljc8REA_l1Df-vJ5rvhjEPr-g,9762 +django/contrib/auth/locale/ast/LC_MESSAGES/django.mo,sha256=Pt3gYY3j8Eroo4lAEmf-LR6u9U56mpE3vqLhjR4Uq-o,2250 +django/contrib/auth/locale/ast/LC_MESSAGES/django.po,sha256=Kiq4s8d1HnYpo3DQGlgUl3bOkxmgGW8CvGp9AbryRk8,5440 +django/contrib/auth/locale/az/LC_MESSAGES/django.mo,sha256=ljzBNGFBc9lV1K2goFd5o2GZf1T46_zCYylYRiKr9eE,5859 +django/contrib/auth/locale/az/LC_MESSAGES/django.po,sha256=hMBPuh7FKj4JPV-i45h44r_6ctuRNQCGq1e61bzYOJY,6828 +django/contrib/auth/locale/be/LC_MESSAGES/django.mo,sha256=YmJ7Gh14qYbk1OTHXqR4GEVdHcxGRHnpgf7xqzUKCR8,10008 +django/contrib/auth/locale/be/LC_MESSAGES/django.po,sha256=vPm5UJWEbhpoAslJhfvHyeTw6MGAfkrvSMd3EbnnmGk,10285 +django/contrib/auth/locale/bg/LC_MESSAGES/django.mo,sha256=ZwwXfAeWM92GObhxU6zzGu36KJUpkGOuEeprRMu5mZc,8751 +django/contrib/auth/locale/bg/LC_MESSAGES/django.po,sha256=_a2hoIiJRbvW3ymKAkAp-UZNk5AiUy5HqPBBby74Jew,9492 +django/contrib/auth/locale/bn/LC_MESSAGES/django.mo,sha256=cJSawQn3rNh2I57zK9vRi0r1xc598Wr26AyHh6D50ZQ,5455 +django/contrib/auth/locale/bn/LC_MESSAGES/django.po,sha256=5Vqd4n9ab98IMev4GHLxpO7f4r9nnhC3Nfx27HQNd8s,7671 +django/contrib/auth/locale/br/LC_MESSAGES/django.mo,sha256=iQPFHHrb3nWLLStmlg8shzOkpQ959Gx1pION6tEwBvA,1144 +django/contrib/auth/locale/br/LC_MESSAGES/django.po,sha256=unynO4-jNqwaRC7j8xp-tLbGu8vdHNfqbvT0Bc394XQ,5051 +django/contrib/auth/locale/bs/LC_MESSAGES/django.mo,sha256=1i1CxyXwfskDZtItZQuEpZFlV3cpIo6Ls7Ocs0X3VTA,2963 +django/contrib/auth/locale/bs/LC_MESSAGES/django.po,sha256=C5CQ5vqjuLscWSKHVu0niGzmhxX0y-pf_eiuEr-ZmGU,5793 +django/contrib/auth/locale/ca/LC_MESSAGES/django.mo,sha256=jyns0csr6qPjXSwGuP0PCaz2Ag1a1ZZsm5ZohyT8T3M,7313 +django/contrib/auth/locale/ca/LC_MESSAGES/django.po,sha256=0rG9MwaIJYcLa01txFBOK_wy6Aq1i5eDfnPQhVQznDs,7791 +django/contrib/auth/locale/cs/LC_MESSAGES/django.mo,sha256=1ujTab5YmMkipbkj_DMzigtnHTGc_aVTjviCpvitbBs,7621 +django/contrib/auth/locale/cs/LC_MESSAGES/django.po,sha256=mr9Rbn-dtvmF7I4DW-jvKUvIuELCYnReNOex4u_TPv0,8000 +django/contrib/auth/locale/cy/LC_MESSAGES/django.mo,sha256=lSfCwEVteW4PDaiGKPDxnSnlDUcGMkPfsxIluExZar0,4338 +django/contrib/auth/locale/cy/LC_MESSAGES/django.po,sha256=-LPAKGXNzB77lVHfCRmFlH3SUaLgOXk_YxfC0BomcEs,6353 +django/contrib/auth/locale/da/LC_MESSAGES/django.mo,sha256=uavulGt9dlP0FcOlQMvNTjF7nNcMNEJEd13EGrKjrmM,7452 +django/contrib/auth/locale/da/LC_MESSAGES/django.po,sha256=agG-MuUFTaZ_hFpqomiNhGQx5BKFOQL8z43QnGGFVB0,7765 +django/contrib/auth/locale/de/LC_MESSAGES/django.mo,sha256=Z4KFdT7BIn3DIVkwpdodfiFcvWTeVQEPUWU4QgMOYcc,7514 +django/contrib/auth/locale/de/LC_MESSAGES/django.po,sha256=plqGyseVxlR310SFqvPrkXParg-7Z-MfdNBk1UiD52Y,7919 +django/contrib/auth/locale/dsb/LC_MESSAGES/django.mo,sha256=BAAXuvUHRZYPdNoKFh1UiqBYAbyOC2SQRCpQGuW1zR4,8096 +django/contrib/auth/locale/dsb/LC_MESSAGES/django.po,sha256=UopznBtYDxdKbSenij3cIiBcdnsDhzyCnieIdVlkJEU,8350 +django/contrib/auth/locale/el/LC_MESSAGES/django.mo,sha256=OI3Z-VdpAfDr3oU6x6SdSOGzzEqeykqqP-Wkx4qUKnI,9665 +django/contrib/auth/locale/el/LC_MESSAGES/django.po,sha256=yvuBOwLGg3z7oC4dSbbA9pdKRxl1vNeJlPtgl6mVvBQ,10373 +django/contrib/auth/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/auth/locale/en/LC_MESSAGES/django.po,sha256=m_pwsxUew88m8RWQ-67V473WosKFWfV2nkSTWxIyt50,7918 +django/contrib/auth/locale/en_AU/LC_MESSAGES/django.mo,sha256=74v8gY8VcSrDgsPDaIMET5frCvtzgLE8oHgX1xNWUvw,3650 +django/contrib/auth/locale/en_AU/LC_MESSAGES/django.po,sha256=lg-LFEeZXxGsNNZ656ePDvAAncjuy0LKuQxUFvQCUJk,5921 +django/contrib/auth/locale/en_GB/LC_MESSAGES/django.mo,sha256=p57gDaYVvgEk1x80Hq4Pn2SZbsp9ly3XrJ5Ttlt2yOE,3179 +django/contrib/auth/locale/en_GB/LC_MESSAGES/django.po,sha256=-yDflw5-81VOlyqkmLJN17FRuwDrhYXItFUJwx2aqpE,5787 +django/contrib/auth/locale/eo/LC_MESSAGES/django.mo,sha256=1lSTFZiD5KczQ4FfsgDg6pDo7W4gYn9XeimIf-tum84,7019 +django/contrib/auth/locale/eo/LC_MESSAGES/django.po,sha256=zwyShsKg1ngFq2TlraR2iinx47K7Z87RjiujsNDut2A,7438 +django/contrib/auth/locale/es/LC_MESSAGES/django.mo,sha256=fu-Qpqz4XyYu1_irM742YYT4KUFa2niDZuVo1bbXpTM,7766 +django/contrib/auth/locale/es/LC_MESSAGES/django.po,sha256=U3C1QK5ZVLREVepW6oLVnD3hBNhdlv7ZrjzzMyDLcY4,8427 +django/contrib/auth/locale/es_AR/LC_MESSAGES/django.mo,sha256=DnK67G_cBQ62T8FzOeT9UAe5dkYOOYo__cUoCRAcv8w,7920 +django/contrib/auth/locale/es_AR/LC_MESSAGES/django.po,sha256=vcwNz5PSwMs5vOIFR-xN4ZIjYfzTOAmiYTJHAFFDaxU,8146 +django/contrib/auth/locale/es_CO/LC_MESSAGES/django.mo,sha256=K5VaKTyeV_WoKsLR1x8ZG4VQmk3azj6ZM8Phqjs81So,6529 +django/contrib/auth/locale/es_CO/LC_MESSAGES/django.po,sha256=qJywTaYi7TmeMB1sjwsiwG8GXtxAOaOX0voj7lLVZRw,7703 +django/contrib/auth/locale/es_MX/LC_MESSAGES/django.mo,sha256=B5WKjfMrvFMcj7xi7-0BsH-G_KhGvTcSycyzjQGC2WA,7514 +django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po,sha256=Dsj4cZ0E2KsZphTh3zgJjy45CgWwj85O1QmMmPaJYAA,7936 +django/contrib/auth/locale/es_VE/LC_MESSAGES/django.mo,sha256=GwpZytNHtK7Y9dqQKDiVi4SfA1AtPlk824_k7awqrdI,7415 +django/contrib/auth/locale/es_VE/LC_MESSAGES/django.po,sha256=G3mSCo_XGRUfOAKUeP_UNfWVzDPpbQrVYQt8Hv3VZVM,7824 +django/contrib/auth/locale/et/LC_MESSAGES/django.mo,sha256=DgY1GY3M_oBtdW692gk2RxcrGMiy7Eqdg2mD0iHsNVo,7432 +django/contrib/auth/locale/et/LC_MESSAGES/django.po,sha256=Wvqd4XplrtEA2dXg1SLGFgWcchkh3gPHgj8cOovQ3XU,7842 +django/contrib/auth/locale/eu/LC_MESSAGES/django.mo,sha256=JUzadyH5nBxQQON6vHo6fYVD0jPoB0KuSAxiRxzaot8,7406 +django/contrib/auth/locale/eu/LC_MESSAGES/django.po,sha256=b7aQGkp-u3VHd6LC1LHsZ1uCkKXqo5duvUFy-UhHMi0,7778 +django/contrib/auth/locale/fa/LC_MESSAGES/django.mo,sha256=I82T66B_dQGhcrQkJFNA8wB1nGmqFCTo2XLQzzvD-bA,8263 +django/contrib/auth/locale/fa/LC_MESSAGES/django.po,sha256=nxq_eDjLj3fBZpKW5UYFCGOMdgSMztHrUIRE1plBrlI,8733 +django/contrib/auth/locale/fi/LC_MESSAGES/django.mo,sha256=xjjxjOsXyJ4is_tTXHdiA46lKK_-23F9qMTPn5ivF20,7195 +django/contrib/auth/locale/fi/LC_MESSAGES/django.po,sha256=AFYR_nqn9iYHL8OgxF1WQD3IrifkNjLGL2aK4TF_l94,7650 +django/contrib/auth/locale/fr/LC_MESSAGES/django.mo,sha256=3sYnsgpWnJRUbbcoGfTHnwPrxH74VZv-O9zfOFxYQ3o,8114 +django/contrib/auth/locale/fr/LC_MESSAGES/django.po,sha256=4Oy8cvyYG5ep2xvE6hEmEszu1wJJ7oHEgUdY6MCsteI,8449 +django/contrib/auth/locale/fy/LC_MESSAGES/django.mo,sha256=95N-77SHF0AzQEer5LuBKu5n5oWf3pbH6_hQGvDrlP4,476 +django/contrib/auth/locale/fy/LC_MESSAGES/django.po,sha256=8XOzOFx-WerF7whzTie03hgO-dkbUFZneyrpZtat5JY,3704 +django/contrib/auth/locale/ga/LC_MESSAGES/django.mo,sha256=Nd02Ed9ACCY6JCCSwtiWl3DTODLFFu9Mq6JVlr5YbYk,3572 +django/contrib/auth/locale/ga/LC_MESSAGES/django.po,sha256=FQJMR5DosuKqo4vvF0NAQnjfqbH54MSzqL2-4BO4-uM,6127 +django/contrib/auth/locale/gd/LC_MESSAGES/django.mo,sha256=VviVmi6nVpH5U3za23353_MXTIkExdVJOFzdu1FDCgo,8720 +django/contrib/auth/locale/gd/LC_MESSAGES/django.po,sha256=Vn_dHeBR4q-Nb-Z14MGE9xFiDKK7eaNa8ySM0dhT-2Q,9018 +django/contrib/auth/locale/gl/LC_MESSAGES/django.mo,sha256=Lm4HI1LS28Nw5ZHcVjdMgEsFjeV6UqQwI14ZeEgbK9A,3891 +django/contrib/auth/locale/gl/LC_MESSAGES/django.po,sha256=4V3U-_ZcnXpNQOOfLls18ACidluItzXxFaGfJlu0YM8,6299 +django/contrib/auth/locale/he/LC_MESSAGES/django.mo,sha256=tEK7AbBitn98v0SWBP9kLob5fNMgbxSXuUKMo1PGU7E,8170 +django/contrib/auth/locale/he/LC_MESSAGES/django.po,sha256=qqAb7YNgjfhvy6O7LrJBPwoeJFZSc6hvhbvtbuqSQuU,8432 +django/contrib/auth/locale/hi/LC_MESSAGES/django.mo,sha256=7CxV1H37hMbgKIhnAWx-aJmipLRosJe1qg8BH2CABfw,5364 +django/contrib/auth/locale/hi/LC_MESSAGES/django.po,sha256=DU5YM6r1kd5fo40yqFXzEaNh42ezFQFQ-0dmVqkaKQ0,7769 +django/contrib/auth/locale/hr/LC_MESSAGES/django.mo,sha256=GEap3QClwCkuwQZKJE7qOZl93RRxmyyvTTnOTYaAWUo,5894 +django/contrib/auth/locale/hr/LC_MESSAGES/django.po,sha256=ALftoYSaI1U90RNDEvnaFATbw1SL0m8fNXAyl6DkSvo,7355 +django/contrib/auth/locale/hsb/LC_MESSAGES/django.mo,sha256=PanVy6rcRBJ_Mr-BVKk8GIQOFZvtNz5Frga_GC5Ulmc,7925 +django/contrib/auth/locale/hsb/LC_MESSAGES/django.po,sha256=ZctqPoxjR1ofZ35OjDqaFi4QWcPXW6U_uGkudpOiAAc,8170 +django/contrib/auth/locale/hu/LC_MESSAGES/django.mo,sha256=JG0ZJ06LWE0XHjm7oS2n5tycMRkNGAV1qDJVkR7O45I,7691 +django/contrib/auth/locale/hu/LC_MESSAGES/django.po,sha256=3GSfUuXh7T7xH4_bLtgihH575dP63o1pSH0o7c8df2o,7999 +django/contrib/auth/locale/ia/LC_MESSAGES/django.mo,sha256=oTzOm7fRjn79_pU9zy6D_Ehex5FK7hjQYe4soeHhRkk,3314 +django/contrib/auth/locale/ia/LC_MESSAGES/django.po,sha256=LzJOXjj1Fa61zk3v2d-aWS48eva2S0b0jJ9r5CqiFDY,5881 +django/contrib/auth/locale/id/LC_MESSAGES/django.mo,sha256=iLbDPmfr31uL7Uddi1Pby-r4RYMa-W2feB-1Pii4ft4,6905 +django/contrib/auth/locale/id/LC_MESSAGES/django.po,sha256=vTmla-e84YuBcTlZYQmoeXvf4XX9m_Nij1PkA4hHJI8,7399 +django/contrib/auth/locale/io/LC_MESSAGES/django.mo,sha256=YwAS3aWljAGXWcBhGU_GLVuGJbHJnGY8kUCE89CPdks,464 +django/contrib/auth/locale/io/LC_MESSAGES/django.po,sha256=W36JXuA1HQ72LspixRxeuvxogVxtk7ZBbT0VWI38_oM,3692 +django/contrib/auth/locale/is/LC_MESSAGES/django.mo,sha256=04pHypFYzzOUc9O0fS0n9EiPjG5w3KV96ffMYtXddrA,7540 +django/contrib/auth/locale/is/LC_MESSAGES/django.po,sha256=Pdy1izQ1K718XqGdb8OZaxY7yoTnzq300x-etW9mdvo,7890 +django/contrib/auth/locale/it/LC_MESSAGES/django.mo,sha256=msIGxB__lTtLXQT_SdoVxBN6j2RbXrbXWHxxZIhGHxA,7583 +django/contrib/auth/locale/it/LC_MESSAGES/django.po,sha256=EQqX3Zr1LsRLAdW6zqOIKl8BmS-3WBPfJe0vNM4laJ0,8067 +django/contrib/auth/locale/ja/LC_MESSAGES/django.mo,sha256=Y-VZ90RSHfLpf0DDBhf3BS_OY_6E2nPDUte5Ufw3Wxc,8061 +django/contrib/auth/locale/ja/LC_MESSAGES/django.po,sha256=uJ1M0Xnlw7-fB_4W2okaAqxJNNomkGCRd9zsWcxC7j4,8289 +django/contrib/auth/locale/ka/LC_MESSAGES/django.mo,sha256=KjxMsgKo8oENzzjbFvGDdVmUfePS7kGBc3qsC8c6KJc,7469 +django/contrib/auth/locale/ka/LC_MESSAGES/django.po,sha256=oXdeF4_XUZpmmefS9TEf84Xzsv6yUnRk3_3ywkiRQSI,9142 +django/contrib/auth/locale/kab/LC_MESSAGES/django.mo,sha256=9qKeQ-gDByoOdSxDpSbLaM4uSP5sIi7qlTn8tJidVDs,2982 +django/contrib/auth/locale/kab/LC_MESSAGES/django.po,sha256=8cq5_rjRXPzTvn1jPo6H_Jcrv6IXkWr8n9fTPvghsS8,5670 +django/contrib/auth/locale/kk/LC_MESSAGES/django.mo,sha256=wHr5bBn3AUg5n8nrFrYOEEYL9eawegKsucA3_HAn0vc,3578 +django/contrib/auth/locale/kk/LC_MESSAGES/django.po,sha256=UqbVs6vZEsq36xliqcIrd5Tkc5fBkXXncnQs6iJ6kxc,6329 +django/contrib/auth/locale/km/LC_MESSAGES/django.mo,sha256=FahcwnCgzEamtWcDEPOiJ4KpXCIHbnSowfSRdRQ2F9U,2609 +django/contrib/auth/locale/km/LC_MESSAGES/django.po,sha256=lvRHHIkClbt_8-9Yn0xY57dMxcS72z4sUkxLb4cohP0,5973 +django/contrib/auth/locale/kn/LC_MESSAGES/django.mo,sha256=u0YygqGJYljBZwI9rm0rRk_DdgaBEMA1etL-Lk-7Mls,4024 +django/contrib/auth/locale/kn/LC_MESSAGES/django.po,sha256=HKQ1t2yhh9OwsqvMft337VpPmi8KU8PhF2M8gKOdtXw,6951 +django/contrib/auth/locale/ko/LC_MESSAGES/django.mo,sha256=r1de3B_rb-ImWCAmmZ8_c1y7bUK3Hyi7kRvcSKCTiFg,7612 +django/contrib/auth/locale/ko/LC_MESSAGES/django.po,sha256=V4hYbR-Vj32MeFWyD4D1iQ7HhbdPx4ZNLT1FKGxepkU,8205 +django/contrib/auth/locale/lb/LC_MESSAGES/django.mo,sha256=OFhpMA1ZXhrs5fwZPO5IjubvWDiju4wfwWiV94SFkiA,474 +django/contrib/auth/locale/lb/LC_MESSAGES/django.po,sha256=dOfY9HjTfMQ0nkRYumw_3ZaywbUrTgT-oTXAnrRyfxo,3702 +django/contrib/auth/locale/lt/LC_MESSAGES/django.mo,sha256=TL-YXmT-4SL3SQnfoSDj3ZXigEDUOeaH6BNLQ4MgfY0,7929 +django/contrib/auth/locale/lt/LC_MESSAGES/django.po,sha256=ByL1FwqJjhhbXeXXLaJky1d-QaqET22VdCwgO5Fhpew,8370 +django/contrib/auth/locale/lv/LC_MESSAGES/django.mo,sha256=C4vwTheGFS-olcfQNMeNPYqa9WK9NHxOXb1dH8410LQ,7601 +django/contrib/auth/locale/lv/LC_MESSAGES/django.po,sha256=jofkfLKbcFtLRTI_Zdg23Nt0wA2vo8DommZE18ZAYZ8,7874 +django/contrib/auth/locale/mk/LC_MESSAGES/django.mo,sha256=XS9dslnD_YBeD07P8WQkss1gT7GIV-qLiCx4i5_Vd_k,9235 +django/contrib/auth/locale/mk/LC_MESSAGES/django.po,sha256=QOLgcwHub9Uo318P2z6sp69MI8syIIWCcr4VOom9vfs,9799 +django/contrib/auth/locale/ml/LC_MESSAGES/django.mo,sha256=wwy7Yrk5EIlcAhTXvsdCL0jdgLcHQyutnmXFvp9R88Q,12518 +django/contrib/auth/locale/ml/LC_MESSAGES/django.po,sha256=lXrI-ijDEft9yR2EzPfFAvb0mlxFNHAVMBICabzCziA,12967 +django/contrib/auth/locale/mn/LC_MESSAGES/django.mo,sha256=hBYT0p3LcvIKKPtIn2NzPk_2di9L8jYrUt9j3TcVvaY,9403 +django/contrib/auth/locale/mn/LC_MESSAGES/django.po,sha256=R3wAEwnefEHZsma8J-XOn4XlLtuWYKDPLwJ99DUYmvE,9913 +django/contrib/auth/locale/mr/LC_MESSAGES/django.mo,sha256=zGuqUTqcWZZn8lZY56lf5tB0_lELn7Dd0Gj78wwO5T4,468 +django/contrib/auth/locale/mr/LC_MESSAGES/django.po,sha256=yLW9WuaBHqdp9PXoDEw7c05Vt0oOtlks5TS8oxYPAO8,3696 +django/contrib/auth/locale/my/LC_MESSAGES/django.mo,sha256=gYzFJKi15RbphgG1IHbJF3yGz3P2D9vaPoHZpA7LoH8,1026 +django/contrib/auth/locale/my/LC_MESSAGES/django.po,sha256=lH5mrq-MyY8gvrNkH2_20rkjFnbviq23wIUqIjPIgFI,5130 +django/contrib/auth/locale/nb/LC_MESSAGES/django.mo,sha256=Lg5Yf7DbiD8m_MUIYyD8u5GE3yuL5NE2DYLZ9fcaMrk,7222 +django/contrib/auth/locale/nb/LC_MESSAGES/django.po,sha256=zy1cf3zV3nFpE8ZwKKKJea2LxBw0VWZQ_F38OzlSfTY,7570 +django/contrib/auth/locale/ne/LC_MESSAGES/django.mo,sha256=HjSDANdwt_kfQcRUP6UCAH4MpCIut9IsvV43I9HDDjY,6446 +django/contrib/auth/locale/ne/LC_MESSAGES/django.po,sha256=OsLI1fkijl6UjQxSLj0jlzw4D6fDTFiau5-Tv176tHc,8023 +django/contrib/auth/locale/nl/LC_MESSAGES/django.mo,sha256=TAQwgOYLysAewTxS1dvUfAz84Orr9ucxxBhGsQjt6_k,7149 +django/contrib/auth/locale/nl/LC_MESSAGES/django.po,sha256=HPOTVHrMT_eP39W8b-tSWVo0l5_hIPTE0LZI0a4w5M8,7952 +django/contrib/auth/locale/nn/LC_MESSAGES/django.mo,sha256=020nmL8b1yQL0ZyrDAdr0ZOsEGmNxvUpp9ISPBOVI8U,2801 +django/contrib/auth/locale/nn/LC_MESSAGES/django.po,sha256=SKgBiBM1llWFIvVjWRR0r2i3O8VcAdWe-PUhxckqmbE,5590 +django/contrib/auth/locale/os/LC_MESSAGES/django.mo,sha256=DVsYGz-31nofEjZla4YhM5L7qoBnQaYnZ4TBki03AI4,4434 +django/contrib/auth/locale/os/LC_MESSAGES/django.po,sha256=Akc1qelQWRA1DE6xseoK_zsY7SFI8SpiVflsSTUhQLw,6715 +django/contrib/auth/locale/pa/LC_MESSAGES/django.mo,sha256=PeOLukzQ_CZjWBa5FGVyBEysat4Gwv40xGMS29UKRww,3666 +django/contrib/auth/locale/pa/LC_MESSAGES/django.po,sha256=7ts9PUSuvfXGRLpfyVirJLDtsQcsVWFXDepVKUVlmtc,6476 +django/contrib/auth/locale/pl/LC_MESSAGES/django.mo,sha256=IcLJy8lUmTL9r4pr4nLyBbul9Xs8XpX-G_XpJVTM15E,7920 +django/contrib/auth/locale/pl/LC_MESSAGES/django.po,sha256=JIvbUKlDSMiHhnA8rz0Befg8IbIBXXYFCZ-AwtQej_g,8605 +django/contrib/auth/locale/pt/LC_MESSAGES/django.mo,sha256=oyKCSXRo55UiO3-JKcodMUnK7fuOuQxQrXcU7XkWidA,7756 +django/contrib/auth/locale/pt/LC_MESSAGES/django.po,sha256=tEazw0kctJ3BaP21IblsMhno6qooOGW54zwende522Q,8128 +django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.mo,sha256=Laj_VAYZZX8xYAKcYotpIvPLTECd6tRQS3RjQJuO9MU,7564 +django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.po,sha256=AaOc5jr5L7JwCOukc9WOWZNQvTHiMPopqQy-herWno0,8386 +django/contrib/auth/locale/ro/LC_MESSAGES/django.mo,sha256=GTrhRGvEd1NNoSSFhdA-ao-PB5E7vIeiQKMAgmb1Rqg,7577 +django/contrib/auth/locale/ro/LC_MESSAGES/django.po,sha256=O4kxImnFkz_CjgOIBYknzqudNOb8mSNEkMWif1IkowA,8140 +django/contrib/auth/locale/ru/LC_MESSAGES/django.mo,sha256=tfK9L7EYNZd9d1k_EGQrDcr8ruUGJ1JbRJ3-TvJ6cR8,10482 +django/contrib/auth/locale/ru/LC_MESSAGES/django.po,sha256=nQnaxPKmCJ6N2VVJzNDNt6oeqwSxG0lfY60DSDotJ94,10959 +django/contrib/auth/locale/sk/LC_MESSAGES/django.mo,sha256=shT_E4LFHMuUSjvTtFtaTFfFREhuTS8FjFhje5ZF5yo,7651 +django/contrib/auth/locale/sk/LC_MESSAGES/django.po,sha256=aanpDooZWeV-wuByaJ6TB-Qa7fpjc-bshcpM_qgcRrU,7977 +django/contrib/auth/locale/sl/LC_MESSAGES/django.mo,sha256=Ey2oRfp3vCJ3_IesSu4wOnP5XiP_9nzbYU_1r3U2x34,7251 +django/contrib/auth/locale/sl/LC_MESSAGES/django.po,sha256=zHNt3AOf2qICzP4pPtlHKOvwiBZTemQjwHk43k9LpXE,7787 +django/contrib/auth/locale/sq/LC_MESSAGES/django.mo,sha256=Nrfoks9rpAdeYtAvbd78imw20YrBQLbqXezC28GG5Xg,7846 +django/contrib/auth/locale/sq/LC_MESSAGES/django.po,sha256=DMF3vHqmlERrwKnlOjkWYZlChWHzcS1x2Ldcx63hD2E,8115 +django/contrib/auth/locale/sr/LC_MESSAGES/django.mo,sha256=XPJB-rwpS8c7sEH7RChft-DHllMWqUEoTFLA06Q_noc,9754 +django/contrib/auth/locale/sr/LC_MESSAGES/django.po,sha256=HPk2yuyvr9krU3CEf6p5v_4cLFG-Cu1lXsFTs1C9vmo,10010 +django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=hwAo5ishpZZ9kb9WHrSMHdxmWV9afdxOHgVEwWqb4VE,3293 +django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.po,sha256=qccS0IkO-JT504Y2uVGY5nPYfN8EA_58I9z492iQHKI,5934 +django/contrib/auth/locale/sv/LC_MESSAGES/django.mo,sha256=tuAuMr-3VSXhfmQP0k_3UWderNnNajDkXWDFbBtiHZY,7114 +django/contrib/auth/locale/sv/LC_MESSAGES/django.po,sha256=kG2_emZy-aAnZVZY4ZmIjYs4mJLvfpIdWyqGUGyFSUY,7758 +django/contrib/auth/locale/sw/LC_MESSAGES/django.mo,sha256=I_lEsKuMGm07X1vM3-ReGDx2j09PGLkWcG0onC8q1uQ,5029 +django/contrib/auth/locale/sw/LC_MESSAGES/django.po,sha256=TiZS5mh0oN0e6dFEdh-FK81Vk-tdv35ngJ-EbM1yX80,6455 +django/contrib/auth/locale/ta/LC_MESSAGES/django.mo,sha256=T1t5CKEb8hIumvbOtai-z4LKj2et8sX-PgBMd0B3zuA,2679 +django/contrib/auth/locale/ta/LC_MESSAGES/django.po,sha256=X8UDNmk02X9q1leNV1qWWwPNakhvNd45mCKkQ8EpZQQ,6069 +django/contrib/auth/locale/te/LC_MESSAGES/django.mo,sha256=i9hG4thA0P-Hc-S2oX7GufWFDO4Y_LF4RcdQ22cbLyE,2955 +django/contrib/auth/locale/te/LC_MESSAGES/django.po,sha256=txND8Izv2oEjSlcsx3q6l5fEUqsS-zv-sjVVILB1Bmc,6267 +django/contrib/auth/locale/th/LC_MESSAGES/django.mo,sha256=zRpZ2xM5JEQoHtfXm2_XYdhe2FtaqH-hULJadLJ1MHU,6013 +django/contrib/auth/locale/th/LC_MESSAGES/django.po,sha256=Yhh_AQS_aM_9f_yHNNSu_3THbrU-gOoMpfiDKhkaSHo,7914 +django/contrib/auth/locale/tr/LC_MESSAGES/django.mo,sha256=MqxtamKKi0P7UmWiiNz9jGOp_obhLij6WBMZwS5La-I,7480 +django/contrib/auth/locale/tr/LC_MESSAGES/django.po,sha256=Mz7mRvzk7qBnn1yF62en2OiMlgLNuaIbwDzwz7tzhV0,8027 +django/contrib/auth/locale/tt/LC_MESSAGES/django.mo,sha256=g4pTk8QLQFCOkU29RZvR1wOd1hkOZe_o5GV9Cg5u8N4,1371 +django/contrib/auth/locale/tt/LC_MESSAGES/django.po,sha256=owkJ7iPT-zJYkuKLykfWsw8j7O8hbgzVTOD0DVv956E,5222 +django/contrib/auth/locale/udm/LC_MESSAGES/django.mo,sha256=zey19UQmS79AJFxHGrOziExPDDpJ1AbUegbCRm0x0hM,462 +django/contrib/auth/locale/udm/LC_MESSAGES/django.po,sha256=gLVgaMGg0GA3Tey1_nWIjV1lnM7czLC0XR9NFBgL2Zk,3690 +django/contrib/auth/locale/uk/LC_MESSAGES/django.mo,sha256=2Ihvae_DFOKfxd_lWW6dpR-i9QdG2Lk8wnnnpy4bN-U,9698 +django/contrib/auth/locale/uk/LC_MESSAGES/django.po,sha256=vGh5I8B2p7ZsOeyKjDMKkl070m2Z6St1bkCAuwqjV5k,10274 +django/contrib/auth/locale/ur/LC_MESSAGES/django.mo,sha256=rippTNHoh49W19c4HDUF8G5Yo3SknL3C87Afu8YXxzA,698 +django/contrib/auth/locale/ur/LC_MESSAGES/django.po,sha256=gwSd8noEwbcvDE1Q4ZsrftvoWMwhw1J15gvdtK6E9ns,4925 +django/contrib/auth/locale/vi/LC_MESSAGES/django.mo,sha256=4YOb_ZbCI90UB01DpNsBAe6qqrc3P209Bz22FSVqvog,4703 +django/contrib/auth/locale/vi/LC_MESSAGES/django.po,sha256=1YjTrGYr04j9GtG8w0c7v71pHjHU8mHzT7tChroyfaw,6723 +django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=m8Z9joKBAtYCmTUNIk5cW1zU5LXRAWT8CqlbGxFtfwc,6487 +django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po,sha256=pXmwS9J3vhg_2MUZ0w50gz7x_QzU2N2hEo3uWbtcuPo,7088 +django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=6nzvm0k9hv0Y5eFCmJhnFkCs_mbQ3ebJgIm5wmp7GGg,6435 +django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po,sha256=g88Ny9_ar1ut6gENTRbShIzlxKTRv_qzjgXRnKFUVkE,6979 +django/contrib/auth/management/__init__.py,sha256=ubESj2X1ZwPmRdesZtlTfE4_v14RfqUTCaXOmCfr1GE,4601 +django/contrib/auth/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/auth/management/commands/changepassword.py,sha256=GHKZIJ2YBzQW4SvqezkjTPj-W7VwNFD1wokko9rFQFI,2581 +django/contrib/auth/management/commands/createsuperuser.py,sha256=be_zrcb9NXycAYTafDW2nTgb8t8ZiS6X1Hx8DNHYEqo,8531 +django/contrib/auth/migrations/0001_initial.py,sha256=bz7B12K5Ovs0aiXfZGMEbVtWAeV05JyLKDGyMrhCd_c,4960 +django/contrib/auth/migrations/0002_alter_permission_name_max_length.py,sha256=xSlhMiUbrVCPMOwmwVNAUgYjZih3t-ieALNm7rQ1OI0,347 +django/contrib/auth/migrations/0003_alter_user_email_max_length.py,sha256=bPcpCTPAJV2NgrwEa6WFfxkhbPmj5J-EqU1HM3RXtq0,389 +django/contrib/auth/migrations/0004_alter_user_username_opts.py,sha256=aN0oHoA5q2bKpJN8SnI8T9GNtTBKzLRFozL87tNh8_I,785 +django/contrib/auth/migrations/0005_alter_user_last_login_null.py,sha256=0s9ZPGWNP9HT7TmXAuChMLLwL1Ml5SdQwNs9qfy5dN4,381 +django/contrib/auth/migrations/0006_require_contenttypes_0002.py,sha256=_S7o_MhU0lAnPhDEt0kh1sBmpCLXW88VBuATERiMBlk,370 +django/contrib/auth/migrations/0007_alter_validators_add_error_messages.py,sha256=JeJpm_jyu2CbBckw4xJt0DlwQ4SDg2fyHqduRLZ1HFI,740 +django/contrib/auth/migrations/0008_alter_user_username_max_length.py,sha256=KpeVuknt_7WErQO_WLDSCMg1sJkXCXjNQ5I4u_l99kc,752 +django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py,sha256=rwLs5SDzFJsDKtCfyMP6XueUPHiRvRMein3wXMzHeDk,386 +django/contrib/auth/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/auth/templates/auth/widgets/read_only_password_hash.html,sha256=cMrG-iMsrVQ6Qd6T_Xz21b6WIWhXxaIwgNDW2NpDpuM,185 +django/contrib/auth/templates/registration/password_reset_subject.txt,sha256=j8rO05woNdwv8-_F6EMy6FTZGMf-Dp9usdUJXSZHs7Q,124 +django/contrib/contenttypes/__init__.py,sha256=OVcoCHYF9hFs-AnFfg2tjmdetuqx9-Zhi9pdGPAgwH4,75 +django/contrib/contenttypes/admin.py,sha256=ktSb2Pj0gFwoxA-gkvSn19l-0qy4WFSFfYYTGYwe7HM,5212 +django/contrib/contenttypes/apps.py,sha256=lVmnJW7DgIc42uc0V5vZL8qxnsnVijQmgelhs3nybIE,797 +django/contrib/contenttypes/checks.py,sha256=ooW997jE1y5goWgO3dzc7tfJt5Z4tJPWRRSG1P1-AcU,1234 +django/contrib/contenttypes/fields.py,sha256=X-VUW7-3ynJvafPujw0pkAgU6xsfONIfiCttw7rTkn8,26607 +django/contrib/contenttypes/forms.py,sha256=9Lk374J-AHUP1P97oTnbTqQrU_Z0NcsqBsILzYco1pU,3557 +django/contrib/contenttypes/models.py,sha256=QX-nY08YMDN5cUqKNFf6G0IVFs9oIeKa8hOIl5jkTjE,6491 +django/contrib/contenttypes/views.py,sha256=2IwvlE6KGhDUJMGTFkY6iXShu_jpATDM-kQcc3MDpLU,3634 +django/contrib/contenttypes/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 +django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po,sha256=dnZ6zKmthl5qt6fhnexYool7hu1YdO8TQj5tPLC6q10,985 +django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.mo,sha256=YXeD6WDlMQ7No_1PbR1PYE7As6GYXSQBVKkWdF_bHMo,1259 +django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po,sha256=PHvyo3UF4beWdczghk7xqrtJEu-u4802Yn6fmQvKbtA,1504 +django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.mo,sha256=y88CPGGbwTVRmZYIipCNIWkn4OuzuxEk2QCYsBhc7RY,643 +django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po,sha256=H-qMo5ikva84ycnlmBT4XXEWhzMIw-r7J_zuqxo3wu4,1088 +django/contrib/contenttypes/locale/az/LC_MESSAGES/django.mo,sha256=aaKSEUnbZZMDDl4lrNpG6e18R73kD_-nY2A_dAtHtxw,1101 +django/contrib/contenttypes/locale/az/LC_MESSAGES/django.po,sha256=txoRBy2uMeiT7aUzjADfXnf8FF3zjmCr_mLsFbVcpXs,1314 +django/contrib/contenttypes/locale/be/LC_MESSAGES/django.mo,sha256=lQjyKyBbwBjIl1rn6itLToQIKMvG-v-TjECiGepZrnw,1394 +django/contrib/contenttypes/locale/be/LC_MESSAGES/django.po,sha256=V04WIP5qYaBOaku2AV2tNSsGKFoloDHmOjskG2o3uEM,1575 +django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.mo,sha256=yVH2saAhE3bVtamkCeIBDQuJpn2awfF2M7ISujswiRU,1267 +django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.po,sha256=YdzC82ifG-pPY5Iy4mXIBj9Qq583g37OqZir-jpbUpc,1576 +django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.mo,sha256=2Z1GL6c1ukKQCMcls7R0_n4eNdH3YOXZSR8nCct7SLI,1201 +django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.po,sha256=PLjnppx0FxfGBQMuWVjo0N4sW2QYc2DAEMK6ziGWUc8,1491 +django/contrib/contenttypes/locale/br/LC_MESSAGES/django.mo,sha256=rvGRznrZFfJMa6J5btjn8KusuGfyf5enHi5riU3PkeE,466 +django/contrib/contenttypes/locale/br/LC_MESSAGES/django.po,sha256=-XOhrrNUB3sVOViU-XWriDZM_kDHcx9Ofq3d6GXP5tw,981 +django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.mo,sha256=klj9n7AKBkTf7pIa9m9b-itsy4UlbYPnHiuvSLcFZXY,700 +django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.po,sha256=pmJaMBLWbYtYFFXYBvPEvwXkTPdjQDv2WkFI5jNGmTI,1151 +django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.mo,sha256=SMwTCqtIJedetZYstY4lcKqTD9xoE4vuvyOaDRENcTg,1134 +django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.po,sha256=__UUPN27_GLZxOATgFO_THR-H9e5JARo52vGyuGXrFs,1360 +django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.mo,sha256=LI0-cpzOVLuvK9CVX8ueIB0l8vfe4ypW1285QAE2PsI,1089 +django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.po,sha256=We7jqbXO1c0EUfAa7WezsSHy1dNIrjZZjeOs2k3BU-8,1306 +django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.mo,sha256=2QyCWeXFyymoFu0Jz1iVFgOIdLtt4N1rCZATZAwiH-8,1159 +django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.po,sha256=ZWDxQTHJcw1UYav1C3MX08wCFrSeJNNI2mKjzRVd6H0,1385 +django/contrib/contenttypes/locale/da/LC_MESSAGES/django.mo,sha256=wIEwYctl3CsjBou71rpRvGiR24jcVSEgQW1kNeb1Lsg,1081 +django/contrib/contenttypes/locale/da/LC_MESSAGES/django.po,sha256=k_ztS6LIORMJ0T45_XMFHMDWdvh4rMfURYbKV37Bo7Y,1346 +django/contrib/contenttypes/locale/de/LC_MESSAGES/django.mo,sha256=WdGKHOdSGoscynVfOmjXD3_NRPOoTzZNWYjYdEVzahY,1092 +django/contrib/contenttypes/locale/de/LC_MESSAGES/django.po,sha256=141sVDNz98hS_QxjyM5GEEfpvHnL8Dvbmjb_P-RtkFk,1299 +django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.mo,sha256=JfVRcAuhU7jt3iv8orjFpzFZUEWa9Tf98Z0KwKynBB0,1169 +django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.po,sha256=2vfMUWWYDKZ9K8ujm1OgYSwl04cVDUUE5-942VGz150,1346 +django/contrib/contenttypes/locale/el/LC_MESSAGES/django.mo,sha256=cGjt7dcY9L6GusXl9eQgezR9phjMqfTUixC9hFC4ORc,1323 +django/contrib/contenttypes/locale/el/LC_MESSAGES/django.po,sha256=VWwuQYX1La2lvPZJwp-cprA-jyxe0qTxxT0neb9AegM,1634 +django/contrib/contenttypes/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/contenttypes/locale/en/LC_MESSAGES/django.po,sha256=ENzOpatkejwQ6F1IwZAYsMWNGtTHAVPlKCKcVrTygSI,1106 +django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 +django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.po,sha256=wmxyIJtz628AbsxgkB-MjdImcIJWhcW7NV3tWbDpedg,1001 +django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.mo,sha256=_uM-jg43W7Pz8RQhMcR_o15wRkDaYD8aRcl2_NFGoNs,1053 +django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.po,sha256=SyzwSvqAgKF8BEhXYh4598GYP583OK2GUXH1lc4iDMk,1298 +django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.mo,sha256=MFC-mQeWLeFry7d2EXeAf2G47YRLLKFhenGLCwo5O9A,1087 +django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.po,sha256=BgQ7lRtsjD-XHaNvlHMu9AxCCqx38XdOCG4zYpKgDn4,1279 +django/contrib/contenttypes/locale/es/LC_MESSAGES/django.mo,sha256=rG5-Lt7Mutoa42O_5I2rjcQ5p0rnA2T-cDMbgxaJsYU,1142 +django/contrib/contenttypes/locale/es/LC_MESSAGES/django.po,sha256=iR5eAl6d6Ol2Ufd9hQWfau8vNG0pPKvSgTToqvGMGK8,1417 +django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.mo,sha256=iSq2trgItDc4apHlZdZey4vVJF2k38KrKQRorDvHmG8,1121 +django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.po,sha256=ejs7IoMryYl-stXjIx7slZ3pESU-3X3NUogwIbSDHBo,1328 +django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.mo,sha256=aACo1rOrgs_BYK3AWzXEljCdAc4bC3BXpyXrwE4lzAs,1158 +django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.po,sha256=vemhoL-sESessGmIlHoRvtWICqF2aO05WvcGesUZBRM,1338 +django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.mo,sha256=hfjH_3T9YfIhOGEE25TflbKWoiZZvmagaVW2YcNDKq8,1109 +django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.po,sha256=Tkt5m04QFdBiPVbRWRh9tiyVL4K6E9Qe42xdmeVaRxQ,1303 +django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.mo,sha256=TVGDydYVg_jGfnYghk_cUFjCCtpGchuoTB4Vf0XJPYk,1152 +django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.po,sha256=vJW37vuKYb_KpXBPmoNSqtNstFgCDlKmw-8iOoSCenU,1342 +django/contrib/contenttypes/locale/et/LC_MESSAGES/django.mo,sha256=Rs8vsaZp2RX68U_dQge4wkZQMfH8Dh1br4IWkKzfECA,1066 +django/contrib/contenttypes/locale/et/LC_MESSAGES/django.po,sha256=AIl4zK9fs3_euQMwu0ORQZWPyBrIikvQfq-fhiRu2ug,1323 +django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.mo,sha256=K0f1cXEhfg_djPzgCL9wC0iHGWF_JGIhWGFL0Y970g0,1077 +django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.po,sha256=sSuVV0o8MeWN6BxlaeKcjKA3h4H29fCo1kKEtkczEp4,1344 +django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.mo,sha256=eVhLFdG5NJQB8-cYHcMlR0AdGXXlBnkBIqqe3IgkU4M,1165 +django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.po,sha256=_xEtLhrIwJ7Ahg15NSgMLN-NqbSKnt-gDg34mxLr7x4,1421 +django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.mo,sha256=yZNZ0btS15XQPW5sGVQWqUbQ3_ZIGD0JjgMcz2-_xgU,1073 +django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.po,sha256=LTt_nF73_BxrerGmK4ly__1PeesGNpWlH3CSLETMvuI,1316 +django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.mo,sha256=--hcS97AwKMSkriQKcZ9hdSF9swN732tII_b7JszY4k,1112 +django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.po,sha256=yk486-Y0VCwUGQy3DjfvpM0o2UlHREVXy_SufqkkWKQ,1367 +django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 +django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.po,sha256=SB07aEGG7n4oX_5rqHB6OnjpK_K0KwFM7YxaWYNpB_4,991 +django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.mo,sha256=EAAOl8HU8C0iFiXVZbPg3AGXdtWM7ap_YUZYFneSdDE,1083 +django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.po,sha256=5C7iIB2OJBRPy-mnj4S1AzZL8_7c8ccZZGstHryg5Qw,1335 +django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.mo,sha256=GXwvJ2csT38SBvqMB_YoPQ_Swcy7mhZYDEr1nQBNOgc,1191 +django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.po,sha256=H4U-T07ZGgSF2LjOng5g8N-jC92SFeO5Fg9u1-g954g,1346 +django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.mo,sha256=gMDLuxVazSNvwLmi5AqJEsxugmDVLk8DlxseHRRoQoc,1072 +django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.po,sha256=hFPL2GH-o6XN0SKu5kqgiEaGT8lKnbi_zmlUNCn3Obg,1364 +django/contrib/contenttypes/locale/he/LC_MESSAGES/django.mo,sha256=X_d2S4YQ-5G3dniw7i4fo-LX-JFMjM1HPsDBuYe2VxU,1162 +django/contrib/contenttypes/locale/he/LC_MESSAGES/django.po,sha256=8vyWhH8zO7PLwpEDI9ZNNUpA5ihgtl8BfQEUvPZ_Vjk,1380 +django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.mo,sha256=KAZuQMKOvIPj3a7GrNJE3yhT70O2abCEF2GOsbwTE5A,1321 +django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.po,sha256=PcsNgu2YmT0biklhwOF_nSvoGTvWVKw2IsBxIwSVAtI,1577 +django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.mo,sha256=DbOUA8ks3phsEwQvethkwZ9-ymrd36aQ6mP7OnGdpjU,1167 +django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.po,sha256=722KxvayO6YXByAmO4gfsfzyVbT-HqqrLYQsr02KDc8,1445 +django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.mo,sha256=IEjKVQBez7h6phH_ozALY0sNjQmcDSAtCFn7JbBOFMg,1143 +django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.po,sha256=VlIhdng3HZ-r9XzbdJWtQ4m1UMpmdnpBLWInGMTciZE,1320 +django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.mo,sha256=3fpAT3FGjXjajM3Omz_vcIZ7uqmvSgr4zfB7lfMfhas,1103 +django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.po,sha256=zLI8xh3t_p23EITZnZ7Dme2MXexL9Rt8chxpj8W7w9g,1336 +django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.mo,sha256=3yDFJFxh16B2WigXeJxZV9vOyRxnjZ4MAUq3T_-PHGs,1079 +django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.po,sha256=4JsXrJxsMVVu9Y6OuFrwMV5L4Dglh9XJ5sp9CHDGHaA,1288 +django/contrib/contenttypes/locale/id/LC_MESSAGES/django.mo,sha256=9o50TqX6hHloHvBJbf4pkK4a554L5UmiJnp9vGfq25k,1066 +django/contrib/contenttypes/locale/id/LC_MESSAGES/django.po,sha256=xMRNmOipOt-18KLux7PrJn8NS25qMCVLxmmceR1P93s,1374 +django/contrib/contenttypes/locale/io/LC_MESSAGES/django.mo,sha256=3SSRXx4tYiMUc00LZ9kGHuvTgaWpsICEf5G208CEqgg,1051 +django/contrib/contenttypes/locale/io/LC_MESSAGES/django.po,sha256=1ku9WPcenn47DOF05HL2eRqghZeRYfklo2huYUrkeJ0,1266 +django/contrib/contenttypes/locale/is/LC_MESSAGES/django.mo,sha256=Lzl9gXdkji1Eg4vKahCW8ZIJY8U1hBs52O2hQftopPc,1086 +django/contrib/contenttypes/locale/is/LC_MESSAGES/django.po,sha256=YY0C2qJRSc1cX__k-vm4LXhJZJl731NXYe2w3gTSCGU,1351 +django/contrib/contenttypes/locale/it/LC_MESSAGES/django.mo,sha256=gr8UGpZMY39rE8z0vNEDQyxh_ZD7lC3Py8Dj4B24iHg,1098 +django/contrib/contenttypes/locale/it/LC_MESSAGES/django.po,sha256=wycvlyGUXqjmDSg0FluwvM4XpY2NU0oaKob02Q7236s,1391 +django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.mo,sha256=U-RemvFRnmWnRDBADa3r4tlbwUFBIUCf7aLdd3sJazE,1239 +django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.po,sha256=V6smnquz_1esdvNi-dmuHzRNXqs-AjfWSKq2NJq2GPY,1469 +django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.mo,sha256=1_yGL68sK0QG_mhwFAVdksiDlB57_1W5QkL7NGGE5L0,1429 +django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.po,sha256=fr8rGQDWgUQSv-ZjXhSAR5P_zWLhQ7bq1cHLKIzY4bY,1649 +django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.mo,sha256=gSqcLKqq8Uc5ZYs8x3gMPIBXmU-uCoO1_yTdKjNEnZA,663 +django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.po,sha256=9J7K6vTsq3MiJfdb0zu_6YPTEm2Xuqrg_6y9OIhD0lU,1125 +django/contrib/contenttypes/locale/km/LC_MESSAGES/django.mo,sha256=BXifukxf48Lr0t0V3Y0GJUMhD1KiHN1wwbueoK0MW1A,678 +django/contrib/contenttypes/locale/km/LC_MESSAGES/django.po,sha256=fTPlBbnaNbLZxjzJutGvqe33t6dWsEKiHQYaw27m7KQ,1123 +django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.mo,sha256=a4sDGaiyiWn-1jFozYI4vdAvuHXrs8gbZErP_SAUk9Y,714 +django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po,sha256=QDD_q_loZtGRlhmaqgNDtJ_5AjVFQ8fSmypvaWLOwp4,1162 +django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.mo,sha256=N6Keqbx9NmPby_m9jswXWPLTdeeM-_9SQlFbheRzpC8,1127 +django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po,sha256=bLGMv1dLIEKhsoBfuWXs_FQly0prT4udebB5uu4CexU,1338 +django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 +django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po,sha256=dwVKpCRYmXTD9h69v5ivkZe-yFtvdZNZ3VfuyIl4olY,989 +django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.mo,sha256=dGhfE64u9frd0haBj9I-SyDbvUtbp5bF6eKwa1Dbl7M,1147 +django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.po,sha256=ZRyyj9yLNnKOVqX7x3BKwB8_FD-gzPNhkK5sDRS7aic,1417 +django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.mo,sha256=4Qk6bGcd2qjhz6j6RYGdB3E7z7X4yVZTH2X-ob7QRYI,1090 +django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.po,sha256=22qvaurZjlCA-z3JXBUikzIhAmcmdW9h-pbk0ujvQSg,1299 +django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.mo,sha256=KTFZWm0F4S6lmi1FX76YKOyJqIZN5cTsiTBI_D4ADHs,1258 +django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.po,sha256=mQZosS90S-Bil6-EoGjs9BDWYlvOF6mtUDZ8h9NxEdE,1534 +django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.mo,sha256=rtmLWfuxJED-1KuqkUT8F5CU1KGJP0Of718n2Gl_gI0,1378 +django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.po,sha256=Z-kL9X9CD7rYfa4Uoykye2UgCNQlgyql0HTv1eUXAf4,1634 +django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.mo,sha256=J6kKYjUOsQxptNXDcCaY4d3dHJio4HRibRk3qfwO6Xc,1225 +django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.po,sha256=x8aRJH2WQvMBBWlQt3T3vpV4yHeZXLmRTT1U0at4ZIk,1525 +django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 +django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.po,sha256=FgZKD9E-By0NztUnBM4llpR59K0MJSIMZIrJYGKDqpc,983 +django/contrib/contenttypes/locale/my/LC_MESSAGES/django.mo,sha256=YYa2PFe9iJygqL-LZclfpgR6rBmIvx61JRpBkKS6Hrs,1554 +django/contrib/contenttypes/locale/my/LC_MESSAGES/django.po,sha256=6F3nXd9mBc-msMchkC8OwAHME1x1O90xrsZp7xmynpU,1732 +django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.mo,sha256=RMxLSKOqQ6omrnSlAoRohWOEC0SBwYwJyO6QGaPo5KU,1081 +django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.po,sha256=xgm6KYjgFPyYM0HXu3qY6uamoyeuhJ8xR_KBWLZ6IY0,1382 +django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.mo,sha256=-zZAn5cex4PkScoZVqS74PUMThJJuovZSk3WUKZ8hnw,1344 +django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.po,sha256=1ZCUkulQ9Gxb50yMKFKWaTJli2SinBeNj0KpXkKpsNE,1519 +django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.mo,sha256=GNmKVTDJDUPkYa8OZCY0FMdE0I-Gz3tXkO8SHRLDM7s,1095 +django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.po,sha256=aP9U2fAeZIOfui-xAUoBqKK02_aYvVqmjSHXQQ5qVKc,1373 +django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.mo,sha256=jfxiglKOxjX2xdbLDnJhujJiGcbDJv3NDcUUCWrZmuU,1054 +django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.po,sha256=c1sz3ssHULL1c5gpbEOy4Xo2Nh0_2ar_Zg4nECouM4k,1299 +django/contrib/contenttypes/locale/os/LC_MESSAGES/django.mo,sha256=QV533Wu-UpjV3XiCe83jlz7XGuwgRviV0ggoeMaIOIY,1116 +django/contrib/contenttypes/locale/os/LC_MESSAGES/django.po,sha256=UZahnxo8z6oWJfEz4JNHGng0EAifXYtJupB6lx0JB60,1334 +django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.mo,sha256=qacd7eywof8rvJpstNfEmbHgvDiQ9gmkcyG7gfato8s,697 +django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.po,sha256=Kq2NTzdbgq8Q9jLLgV-ZJaSRj43D1dDHcRIgNnJXu-s,1145 +django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.mo,sha256=a57HnU25bDdtrep5ksckyx7BsCQSHbBvZ-W3Hp6CVDQ,1251 +django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.po,sha256=KC_XKtt7QieDVfsu-uEY3eT9miIIQfs1Ied7ebQaK7A,1539 +django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.mo,sha256=MjyyKlA75YtEG9m6hm0GxKhU-cF3m1PA_j63BuIPPlE,1125 +django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.po,sha256=X2Rec6LXIqPa9AVqF4J2mzYrwfls1BdUfN8XOe0zkdQ,1379 +django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.mo,sha256=fPCrA5N-k2uOHyZtBVolLM-CiFyv7luskvTKoJiDF4o,1137 +django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.po,sha256=x-dcuvjBVXVe4zBNxd4vbwYAMzeOCNzVFLc7S_te_fI,1414 +django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.mo,sha256=sCthDD10v7GY2cui9Jj9HK8cofVEg2WERCm6aktOM-4,1142 +django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.po,sha256=n-BPEfua0Gd6FN0rsP7qAlTGbQEZ14NnDMA8jI2844Y,1407 +django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.mo,sha256=EYIBQ4DumWdn6zC8Oy2QDdMsdwDZz4patKbuhFxN1AY,1426 +django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.po,sha256=YULjNSTutYL3FhT4njhz9pQiP_xmoAVuJTBb1Hzio04,1728 +django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.mo,sha256=l17JNwlQmm8X-fgAYOhPB2QGLuZwPewUKcWo0xMhI48,1097 +django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.po,sha256=rrW-DlZKHoH5rcu3zIlrlfDZ6Oqxwd-Ojs3nP5Sxkjk,1347 +django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.mo,sha256=sMML-ubI_9YdKptzeri1du8FOdKcEzJbe4Tt0J4ePFI,1147 +django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.po,sha256=0zxiyzRWWDNVpNNLlcwl-OLh5sLukma1vm-kYrGHYrE,1392 +django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.mo,sha256=xXE5L6OmOz3oI9xYKyS8VKb37NDJ8buQOhjwtuMnwNs,1103 +django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.po,sha256=_z4SsvtdEmT91TqVd-GXMzNK86H-6LmnWTUK4ZBi878,1276 +django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.mo,sha256=30cZcBCG80SyqkJnUa6jDLt3zsNQM_QFKMExL_2AFS4,1200 +django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.po,sha256=Z4OrUiZJjXUyezsMCG0EQQy544VjttcSisErfl5R9Do,1449 +django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=vcI1t6JnIHne3zm62a9mK-JsPbNIi7UAJCQoSpK7nYs,1113 +django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.po,sha256=8NppRxgViJC45KSIoKhK-gEsRcv3Bk35DpS1zX_57ig,1362 +django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.mo,sha256=Vxpt3I_YJ8DtIqlRSJAvl8GgQ8LM7mZ-L7QVrilDeqU,1067 +django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.po,sha256=5vvFP5ivC-iPmp5mGx5jmzvVS33tb9vg-KjzUQkb9ZA,1307 +django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.mo,sha256=XLPle0JYPPkmm5xpJRmWztMTF1_3a2ZubWE4ur2sav8,563 +django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.po,sha256=jRc8Eh6VuWgqc4kM-rxjbVE3yV9uip6mOJLdD6yxGLM,1009 +django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.mo,sha256=L3eF4z9QSmIPqzEWrNk8-2uLteQUMsuxiD9VZyRuSfo,678 +django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po,sha256=iDb9lRU_-YPmO5tEQeXEZeGeFe-wVZy4k444sp_vTgw,1123 +django/contrib/contenttypes/locale/te/LC_MESSAGES/django.mo,sha256=S_UF_mZbYfScD6Z36aB-kwtTflTeX3Wt4k7z_pEcOV8,690 +django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po,sha256=aAGMMoJPg_pF9_rCNZmda5A_TvDCvQfYEL64Xdoa4jo,1135 +django/contrib/contenttypes/locale/th/LC_MESSAGES/django.mo,sha256=qilt-uZMvt0uw-zFz7-eCmkGEx3XYz7NNo9Xbq3s7uI,1186 +django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po,sha256=42F34fNEn_3yQKBBJnCLttNeyktuLVpilhMyepOd6dg,1444 +django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.mo,sha256=97r7jUJMbkhpnk4fEy-sg3oMDQU8N8A76qrXKX7CNxg,1121 +django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po,sha256=fS_Vgpat2dLaXgpT4bsUPjJx_1B_6vb25qH0vH92ZVk,1355 +django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.mo,sha256=_LQ1N04FgosdDLUYXJOEqpCB2Mg92q95cBRgYPi1MyY,659 +django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.po,sha256=L7wMMpxGnpQiKd_mjv2bJpE2iqCJ8XwiXK0IN4EHSbM,1110 +django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 +django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.po,sha256=YVyej0nAhhEf7knk4vCeRQhmSQeGZLhMPPXyIyWObnM,977 +django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.mo,sha256=pspQZ5Ppnsu-qsoR7IGqgL_G2cLUzZ2Yo6aQ8GdL2OM,1275 +django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.po,sha256=pBDlyBCEOeDPfKYs-gxtrgd_bwUgwpu4BaYHuYgAPG8,1553 +django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.mo,sha256=OJs_EmDBps-9a_KjFJnrS8IqtJfd25LaSWeyG8u8UfI,671 +django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.po,sha256=f0FnsaAM_qrBuCXzLnkBrW5uFfVc6pUh7S-qp4918Ng,1122 +django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.mo,sha256=kGYgEI1gHkyU4y_73mBJN1hlKC2JujVXMg6iCdWncDg,1155 +django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.po,sha256=RIDUgsElfRF8bvBdUKtshizuMnupdMGAM896s7qZKD4,1439 +django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=KTYCw4pEOPOfAObHiyBQTzZBX1mY0r9095QLAZfjvQM,1062 +django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po,sha256=bJp1GCxJwVfqD-rMAWTBg9OLIKginTCMs0V6mESrVrc,1353 +django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=fPIlKpeLGhOtsbLsJOef5d5Y8jCyT9hFiOfZ1v9yFTQ,1083 +django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po,sha256=Jwtnwk0R2c2Kh7KUg0t0GKjQrMO48YUNntbCT6dIHAM,1329 +django/contrib/contenttypes/management/__init__.py,sha256=KKf4YWuuvUAOf5l2Xn5zEIR4WHA8vKQ5R5paVfYAPeM,4857 +django/contrib/contenttypes/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py,sha256=2YgWYGPx8YQPbXuyE_iLNUwvPTczlKTSyNlOqAqFCxg,3340 +django/contrib/contenttypes/migrations/0001_initial.py,sha256=o3bVVr-O_eUNiloAC1z-JIHDoCJQ4ifdA-6DhdVUrp8,1157 +django/contrib/contenttypes/migrations/0002_remove_content_type_name.py,sha256=4h1AUWSWAvwfEMAaopJZce-yNj1AVpCYFAk2E-Ur-wM,1103 +django/contrib/contenttypes/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/flatpages/__init__.py,sha256=pa6Mmr3sfZ2KBkXHAvYIw_haRx8tSqTNZluUKg5zQCk,69 +django/contrib/flatpages/admin.py,sha256=m_TsFRA36bunPrg2dSdxDJpWLfJkiaVmE3kcYAO9trY,654 +django/contrib/flatpages/apps.py,sha256=EMKrGuulQwqXlcGKRvmISVaiqSNVwwUetEeEo3PTjxA,198 +django/contrib/flatpages/forms.py,sha256=nPf6qYRonlEWjWMNwIPP-MH0fp8CbB4KSqtdlOUqM30,2017 +django/contrib/flatpages/middleware.py,sha256=aXeOeOkUmpdkGOyqZnkR-l1VrDQ161RWIWa3WPBhGac,784 +django/contrib/flatpages/models.py,sha256=LDnyMzLbmSmpmEemdgzrx2urg8PtnRgY2jxbC-uQH9g,1483 +django/contrib/flatpages/sitemaps.py,sha256=0WGMLfr61H5aVX1inE4X_BJhx2b_lw4LKMO4OQGiDX4,554 +django/contrib/flatpages/urls.py,sha256=v_bP8Axlf0XLgb2kJVdEPDqW8WY7RkwSwm7_BH_0eWE,179 +django/contrib/flatpages/views.py,sha256=DLrol_x7lYfvd_b8EYgFeOYled3TgSoR-KZOOaTzJAQ,2747 +django/contrib/flatpages/locale/af/LC_MESSAGES/django.mo,sha256=BSKjpE5gwL80eq94I3LQEcOBNZtO24gViYsX0rnAoqo,498 +django/contrib/flatpages/locale/af/LC_MESSAGES/django.po,sha256=oXnvhSmWyQR78N4EdWHNydolwiGFZlugkGBmT0BYPto,1541 +django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo,sha256=G1GCOfhvPoJA5XpI3hE6zIxyhgec1ZUjHEt4lprfRr4,2475 +django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po,sha256=ZypIMRzRQA72sV4lVB8RVUtLjcmbqhow97-e20R02uk,2732 +django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo,sha256=4SEsEE2hIZJwQUNs8jDgN6qVynnUYJUIE4w-usHKA6M,924 +django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po,sha256=5UlyS59bVo1lccM6ZgdYSgHe9NLt_WeOdXX-swLKubU,1746 +django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo,sha256=sJvplYk3-3shfvnTKzCiCEQGbCa_aFLatZZHtop_4FI,2208 +django/contrib/flatpages/locale/az/LC_MESSAGES/django.po,sha256=Pn2wkV8ks1JO7GJwsfH1VilE4vS6u6Xd0IC2qaKYPwA,2452 +django/contrib/flatpages/locale/be/LC_MESSAGES/django.mo,sha256=N1snVmwE9oa2Hi_77quF7DhOFJwFNdv07x6pSXF_hKE,2801 +django/contrib/flatpages/locale/be/LC_MESSAGES/django.po,sha256=4iBnHyRJ1XkixqUWrmxfMlmKsqyZYhMb3zsI0aLIJwY,2933 +django/contrib/flatpages/locale/bg/LC_MESSAGES/django.mo,sha256=p3RZmS9PAqdlAmbc7UswSoG0t1eeuXYDp1WZ3mWfFow,2569 +django/contrib/flatpages/locale/bg/LC_MESSAGES/django.po,sha256=DqRp9KTLxks9tNEXs2g_jvIp7dI92jXLkKNDNyLhHac,2779 +django/contrib/flatpages/locale/bn/LC_MESSAGES/django.mo,sha256=2oK2Rm0UtAI7QFRwpUR5aE3-fOltE6kTilsTbah737Y,2988 +django/contrib/flatpages/locale/bn/LC_MESSAGES/django.po,sha256=QrbX69iqXOD6oByLcgPkD1QzAkfthpfTjezIFQ-6kVg,3172 +django/contrib/flatpages/locale/br/LC_MESSAGES/django.mo,sha256=_m3TodHXctSnFhWgDjhjR_UYM_3ubQY3R3I2LzWQlNU,552 +django/contrib/flatpages/locale/br/LC_MESSAGES/django.po,sha256=zU2tcXdz1_jX7J7AVnc0SXPqiZmDQt_qOJHNhJugY_E,1582 +django/contrib/flatpages/locale/bs/LC_MESSAGES/django.mo,sha256=bd7ID7OsEhp57JRw_TXoTwsVQNkFYiR_sxSkgi4WvZU,1782 +django/contrib/flatpages/locale/bs/LC_MESSAGES/django.po,sha256=IyFvI5mL_qesEjf6NO1nNQbRHhCAZQm0UhIpmGjrSwQ,2233 +django/contrib/flatpages/locale/ca/LC_MESSAGES/django.mo,sha256=j1mWP6oP9vPMYYiWzroFogBkdJ44L8vo8a51BlyvnVk,2109 +django/contrib/flatpages/locale/ca/LC_MESSAGES/django.po,sha256=VaR3IToa3T7mKaUkiS7JK_LUmHuHofyAE2WxY9Vae3M,2366 +django/contrib/flatpages/locale/cs/LC_MESSAGES/django.mo,sha256=9n_6uvEk16UHLssYV8HlpcJKar0HnHm0TIURgNJZ-bQ,2165 +django/contrib/flatpages/locale/cs/LC_MESSAGES/django.po,sha256=Y6T7KviH4wdsDZnuwkyswJKEyEwhCU7S5-_NMex9W5s,2380 +django/contrib/flatpages/locale/cy/LC_MESSAGES/django.mo,sha256=zr_2vsDZsrby3U8AmvlJMU3q1U_4IrrTmz6oS29OWtQ,2163 +django/contrib/flatpages/locale/cy/LC_MESSAGES/django.po,sha256=E_NC_wtuhWKYKB3YvYGB9ccJgKI3AfIZlB2HpXSyOsk,2370 +django/contrib/flatpages/locale/da/LC_MESSAGES/django.mo,sha256=7vFgp-kRn7fAnvAWhJFylN6D0SrQi9EB2HFT_FPYVnw,2126 +django/contrib/flatpages/locale/da/LC_MESSAGES/django.po,sha256=x8IOaIO2_-sBInHl6NtwOXK9UjUdha8dxXeB3fMwjxQ,2381 +django/contrib/flatpages/locale/de/LC_MESSAGES/django.mo,sha256=v4pUUVzPH3UBtzBuCBSJsHYzaltnzB-0rI-ls6h1e1M,2216 +django/contrib/flatpages/locale/de/LC_MESSAGES/django.po,sha256=ArWO6LbvSwJmStJLmdUXeXuMS_EtHeQc-4V235941Bk,2378 +django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.mo,sha256=oOMFAVGXlFSVKb7tP5lXzpsa-Oe89kEOrPMw4D94MzI,2238 +django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.po,sha256=3ZUiORps5eyxizvpaZCtEk_QM05vW98VhARAZuL20Z8,2367 +django/contrib/flatpages/locale/el/LC_MESSAGES/django.mo,sha256=pvt5Rt9LI2rMQgw5ewp-0_CB62JGvTlkt53sB27iC8c,2672 +django/contrib/flatpages/locale/el/LC_MESSAGES/django.po,sha256=AibJM9Y833DnSXMriBKsFwNhsw_gEaMWUtnu01KLKzM,2933 +django/contrib/flatpages/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/flatpages/locale/en/LC_MESSAGES/django.po,sha256=hsfxD-TQ_jPyo2ASN8f2Ukhf8HNL_l2zXJBhuLjhfAs,2037 +django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.mo,sha256=cuifXT2XlF4c_bR6ECRhlraSZyA7q4ZLhUgwvW73miw,486 +django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.po,sha256=ZMAJRrjovd_cdWvzkuEiJ-9ZU9rqRTwoA3x8uY2khcs,1533 +django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.mo,sha256=7zyXYOsqFkUGxclW-VPPxrQTZKDuiYQ7MQJy4m8FClo,1989 +django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.po,sha256=oHrBd6lVnO7-SdnO-Taa7iIyiqp_q2mQZjkuuU3Qa_s,2232 +django/contrib/flatpages/locale/eo/LC_MESSAGES/django.mo,sha256=WzjywoFu5mUt8Kpy6Xsbu1nn9fb4kUOZ58v81JyBsFE,2159 +django/contrib/flatpages/locale/eo/LC_MESSAGES/django.po,sha256=ydx_XVE9E9qPCnYDFa3xSoRiLNxolyTovaaZoFT7BWs,2380 +django/contrib/flatpages/locale/es/LC_MESSAGES/django.mo,sha256=SrjGOoAsyqXCSt3oLJMyodrJohU3Enlpbnd7g3ufvdg,2131 +django/contrib/flatpages/locale/es/LC_MESSAGES/django.po,sha256=DZnMRB9gSqjxTiywwOsLMTCCDfCoKphQnywWwqIuhVE,2448 +django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.mo,sha256=Mo9LtJd1QNX-GR6qjIluDEHmGF-djq7NXMIebz01uBE,2128 +django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.po,sha256=kGM0_ssp3T5xAPZOgiJ6xtbwtOtoaon1_AFKmaV61VQ,2289 +django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.mo,sha256=jt8wzeYky5AEnoNuAv8W4nGgd45XsMbpEdRuLnptr3U,2140 +django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.po,sha256=xrbAayPoxT7yksXOGPb-0Nc-4g14UmWANaKTD4ItAFA,2366 +django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.mo,sha256=Y5IOKRzooJHIhJzD9q4PKOe39Z4Rrdz8dBKuvmGkqWU,2062 +django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.po,sha256=Y-EXhw-jISttA9FGMz7gY_kB-hQ3wEyKEaOc2gu2hKQ,2246 +django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.mo,sha256=EI6WskepXUmbwCPBNFKqLGNcWFVZIbvXayOHxOCLZKo,2187 +django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.po,sha256=ipG6a0A2d0Pyum8GcknA-aNExVLjSyuUqbgHM9VdRQo,2393 +django/contrib/flatpages/locale/et/LC_MESSAGES/django.mo,sha256=1pqbiN3UlyuN26dXLazlUUZudJEjyjaPEb2D2jejd38,2095 +django/contrib/flatpages/locale/et/LC_MESSAGES/django.po,sha256=4yQAnUtnnqzAjRAAZD95Z69gLqkXgDVko4xeg24dOaU,2302 +django/contrib/flatpages/locale/eu/LC_MESSAGES/django.mo,sha256=rxbI25MXmkDh7FbLDiXBzjkw-6nF1eBKldVjgvMSKEs,2099 +django/contrib/flatpages/locale/eu/LC_MESSAGES/django.po,sha256=XT4Br06IcCptR5w5Mbtw-e_sOKvSLJFCq5Rg0M-jl6g,2326 +django/contrib/flatpages/locale/fa/LC_MESSAGES/django.mo,sha256=Zc-OsiwBJYrvVY6tefxec0VC97uD8__foLTLT_V0rCY,2459 +django/contrib/flatpages/locale/fa/LC_MESSAGES/django.po,sha256=H48bg8qlnzAQn22fEYZbYV_PhTiTao7KAezN5BekDyE,2717 +django/contrib/flatpages/locale/fi/LC_MESSAGES/django.mo,sha256=K_-A8ccHnFcWnViuPAKR7IxhcG0YWNG7iCKYOxxXgMg,2127 +django/contrib/flatpages/locale/fi/LC_MESSAGES/django.po,sha256=-Ik04K4va6HcOoG8bWukAsHThf3IWREZGeRzewYfC7o,2366 +django/contrib/flatpages/locale/fr/LC_MESSAGES/django.mo,sha256=tkV7tWmHWkJdlD62Xd8qdBhIvYO2kTG1ueQqE-OTg_4,2265 +django/contrib/flatpages/locale/fr/LC_MESSAGES/django.po,sha256=ZweF8qPKLnPd5LZhj0YyiMLT2vKnzZqkn_0Gok-h_9c,2521 +django/contrib/flatpages/locale/fy/LC_MESSAGES/django.mo,sha256=DRsFoZKo36F34XaiQg_0KUOr3NS_MG3UHptzOI4uEAU,476 +django/contrib/flatpages/locale/fy/LC_MESSAGES/django.po,sha256=9JIrRVsPL1m0NPN6uHiaAYxJXHp5IghZmQhVSkGo5g8,1523 +django/contrib/flatpages/locale/ga/LC_MESSAGES/django.mo,sha256=KKvDhZULHQ4JQ_31ltLkk88H2BKUbBXDQFSvdKFqjn8,2191 +django/contrib/flatpages/locale/ga/LC_MESSAGES/django.po,sha256=Yat7oU2XPQFQ8vhNq1nJFAlX2rqfxz4mjpU5TcnaYO8,2400 +django/contrib/flatpages/locale/gd/LC_MESSAGES/django.mo,sha256=FC4qtdjuLYBtEtORo74AaRAQF4FUdj4RWg6Bn1wpY3c,2295 +django/contrib/flatpages/locale/gd/LC_MESSAGES/django.po,sha256=SYC8csqVmTyI1OYFj41YSHcm_WEo0O8BK_VbIBC1Cng,2423 +django/contrib/flatpages/locale/gl/LC_MESSAGES/django.mo,sha256=VXyPsc6cXB97dJJFGfD8Oh2lYpn8TFYjIOeFUQeYpVU,2039 +django/contrib/flatpages/locale/gl/LC_MESSAGES/django.po,sha256=MzE7lepmRu60wy9gn6Wxx-LtKIO9JwScSdJ3SyLRU9s,2366 +django/contrib/flatpages/locale/he/LC_MESSAGES/django.mo,sha256=M5oju900kd_9dwqlSx9HNke8y0Jc1o3e1EC0bm4wDHc,2275 +django/contrib/flatpages/locale/he/LC_MESSAGES/django.po,sha256=BpycciP76QNqeVXjqWPmqv21MI4zX4ruJpCNX1S1BVg,2494 +django/contrib/flatpages/locale/hi/LC_MESSAGES/django.mo,sha256=w29ukoF48C7iJ6nE045YoWi7Zcrgu_oXoxT-r6gcQy8,2770 +django/contrib/flatpages/locale/hi/LC_MESSAGES/django.po,sha256=nXq5y1FqMGVhpXpQVdV3uU5JcUtBc2BIrf-n__C2q30,3055 +django/contrib/flatpages/locale/hr/LC_MESSAGES/django.mo,sha256=Mt4gpBuUXvcBl8K714ls4PimHQqee82jFxY1BEAYQOE,2188 +django/contrib/flatpages/locale/hr/LC_MESSAGES/django.po,sha256=ZbUMJY6a-os-xDmcDCJNrN4-YqRe9b_zJ4V5gt2wlGI,2421 +django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.mo,sha256=I6UXOeEqgMtWQ_A7NFAKO-EPJ-9CtPkWfVVaoi9tAYY,2230 +django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.po,sha256=d1GMjWo_zvZF12npVhHcYQpiDdjzrThsLcNrbGxRHOQ,2359 +django/contrib/flatpages/locale/hu/LC_MESSAGES/django.mo,sha256=S_cyw_dLh5sDX50qBwW7Zx4dieBsDV0JFbbGfbNzbNA,2147 +django/contrib/flatpages/locale/hu/LC_MESSAGES/django.po,sha256=dtTflYcyVqoGY4m6OwZVQwIsjH_o1ONrvl1oYvfoXGg,2364 +django/contrib/flatpages/locale/ia/LC_MESSAGES/django.mo,sha256=bochtCPlc268n0WLF0bJtUUT-XveZLPOZPQUetnOWfU,500 +django/contrib/flatpages/locale/ia/LC_MESSAGES/django.po,sha256=gOJ850e8sFcjR2G79zGn3_0-9-KSy591i7ketBRFjyw,1543 +django/contrib/flatpages/locale/id/LC_MESSAGES/django.mo,sha256=In75DDfKVuNVdDttaXMrI1CgOY6r3dcqM8cTiEhvRJU,2085 +django/contrib/flatpages/locale/id/LC_MESSAGES/django.po,sha256=_tD-pxVJDZBMytzB4G7MHCrTnkwm998u7Hl4ak3fSXw,2309 +django/contrib/flatpages/locale/io/LC_MESSAGES/django.mo,sha256=N8R9dXw_cnBSbZtwRbX6Tzw5XMr_ZdRkn0UmsQFDTi4,464 +django/contrib/flatpages/locale/io/LC_MESSAGES/django.po,sha256=_pJveonUOmMu3T6WS-tV1OFh-8egW0o7vU3i5YqgChA,1511 +django/contrib/flatpages/locale/is/LC_MESSAGES/django.mo,sha256=11iv2x1miXJ_z-eeP8PW6WSgXVe6Xa9SZc0GZCou6e0,2113 +django/contrib/flatpages/locale/is/LC_MESSAGES/django.po,sha256=6w9mwwDYZbWElNI6W25XmlmYvre7hvz-WZW1iiHeXXQ,2326 +django/contrib/flatpages/locale/it/LC_MESSAGES/django.mo,sha256=-k6ntTZ3GIGMy8Y8qO33vI8OQb637Gyf4PZjv4nQtmg,2099 +django/contrib/flatpages/locale/it/LC_MESSAGES/django.po,sha256=gB7uHMzrbBgOy3SXO2lp7Z1f1E5xEcSLQ6doVWo-Kq4,2284 +django/contrib/flatpages/locale/ja/LC_MESSAGES/django.mo,sha256=Xzvu1WllXyp-WQsDHaoagMUDgc6KCjJ_4y9dqsK05VU,2303 +django/contrib/flatpages/locale/ja/LC_MESSAGES/django.po,sha256=nC-PDQ8ec_H9bqSmY9n7YgN2BJl0fnFz_xLvRrmrOig,2529 +django/contrib/flatpages/locale/ka/LC_MESSAGES/django.mo,sha256=R4OSbZ-lGxMdeJYsaXVXpo6-KSZWeKPuErKmEsUvEQE,3022 +django/contrib/flatpages/locale/ka/LC_MESSAGES/django.po,sha256=YCVnkX9uayvAQjYy_2jS7fYb36meoMJTKSc2lfoUbeM,3301 +django/contrib/flatpages/locale/kk/LC_MESSAGES/django.mo,sha256=lF8VW--EOBeVKjUWE3KEczl03OJ4-86Ik7jyzaP6li4,2494 +django/contrib/flatpages/locale/kk/LC_MESSAGES/django.po,sha256=UIq5mqQ-Zr5GEuAFDcskzfRcIfOdgI30jV1-BRCEVIg,2697 +django/contrib/flatpages/locale/km/LC_MESSAGES/django.mo,sha256=FYRfhNSqBtavYb10sHZNfB-xwLwdZEfVEzX116nBs-k,1942 +django/contrib/flatpages/locale/km/LC_MESSAGES/django.po,sha256=d2AfbR78U0rJqbFmJQvwiBl_QvYIeSwsPKEnfYM4JZA,2471 +django/contrib/flatpages/locale/kn/LC_MESSAGES/django.mo,sha256=n5HCZEPYN_YIVCXrgA1qhxvfhZtDbhfiannJy5EkHkI,1902 +django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po,sha256=o9xnLjwDw7L49Mkyr8C6aQZ13Yq5MYx1JYXEtcIsiWU,2437 +django/contrib/flatpages/locale/ko/LC_MESSAGES/django.mo,sha256=joCZXqODbZSmwhc5j9NAzsnKYBom-rAg_PqvxLNx0BA,2183 +django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po,sha256=CI4VoUAU2FgPi9fN3igFE4R1Wm0OffrbI5gQ_Cs50pU,2497 +django/contrib/flatpages/locale/lb/LC_MESSAGES/django.mo,sha256=Wkvlh5L_7CopayfNM5Z_xahmyVje1nYOBfQJyqucI_0,502 +django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po,sha256=gGeTuniu3ZZ835t9HR-UtwCcd2s_Yr7ihIUm3jgQ7Y0,1545 +django/contrib/flatpages/locale/lt/LC_MESSAGES/django.mo,sha256=rv76BjAoYYM5OlPpXk1QUvRo9TSmLkUnynY7ySWQ1cY,2272 +django/contrib/flatpages/locale/lt/LC_MESSAGES/django.po,sha256=L3El0c8USYE6T4Wm4hZr-6hFOFeU90NJwtPY4-KQw0s,2529 +django/contrib/flatpages/locale/lv/LC_MESSAGES/django.mo,sha256=fYcpSppdN1c6qe1OGc5OObIT3ojSxJ-HiUJ6KDE98K4,2190 +django/contrib/flatpages/locale/lv/LC_MESSAGES/django.po,sha256=GEzjTZID0XbIwVuxtb_RFODLK4G5plSra8FD2If3wpw,2351 +django/contrib/flatpages/locale/mk/LC_MESSAGES/django.mo,sha256=55H8w6fB-B-RYlKKkGw3fg2m-djxUoEp_XpupK-ZL70,2699 +django/contrib/flatpages/locale/mk/LC_MESSAGES/django.po,sha256=OhHJ5OVWb0jvNaOB3wip9tSIZ1yaPPLkfQR--uUEyUI,2989 +django/contrib/flatpages/locale/ml/LC_MESSAGES/django.mo,sha256=b2-4gs63dCf0Twzj9HuYlac89PnnHc27C4ygeAZ7FZA,3228 +django/contrib/flatpages/locale/ml/LC_MESSAGES/django.po,sha256=4u8TlRINfXHYSfxQkU2w0qzFJhP-iuvDVgDbcaCcM80,3461 +django/contrib/flatpages/locale/mn/LC_MESSAGES/django.mo,sha256=Ogm4nShs2OSRqtHyfxpTa88HBHUDVAHeUZeScxk1cKw,2600 +django/contrib/flatpages/locale/mn/LC_MESSAGES/django.po,sha256=FwnRhnzmufcD50ua9K3hASBMlMXAG4uGZs5BskzbU3g,2830 +django/contrib/flatpages/locale/mr/LC_MESSAGES/django.mo,sha256=GvSfsp0Op7st6Ifd8zp8Cj4tTHoFMltQb4p64pebrqI,468 +django/contrib/flatpages/locale/mr/LC_MESSAGES/django.po,sha256=sayU0AfVaSFpBj0dT32Ri55LRafQFUHLi03K06kI7gc,1515 +django/contrib/flatpages/locale/my/LC_MESSAGES/django.mo,sha256=OcbiA7tJPkyt_WNrqyvoFjHt7WL7tMGHV06AZSxzkho,507 +django/contrib/flatpages/locale/my/LC_MESSAGES/django.po,sha256=EPWE566Vn7tax0PYUKq93vtydvmt-A4ooIau9Cwcdfc,1550 +django/contrib/flatpages/locale/nb/LC_MESSAGES/django.mo,sha256=kKYaglGpmMbp6txY0IAFusugcXp_JKhJx2k_8kgqagE,2092 +django/contrib/flatpages/locale/nb/LC_MESSAGES/django.po,sha256=mNXJFfnCRfH4FwvEQokXLntyhha9I-vZ98L5Aj5stWk,2374 +django/contrib/flatpages/locale/ne/LC_MESSAGES/django.mo,sha256=gDZKhcku1NVlSs5ZPPupc7RI8HOF7ex0R4Rs8tMmrYE,1500 +django/contrib/flatpages/locale/ne/LC_MESSAGES/django.po,sha256=GWlzsDaMsJkOvw2TidJOEf1Fvxx9WxGdGAtfZIHkHwk,2178 +django/contrib/flatpages/locale/nl/LC_MESSAGES/django.mo,sha256=u0BmOl8D3l0MLNM0zsFIA2i2XyiOXDHg5ZJdkmsfm7Q,2115 +django/contrib/flatpages/locale/nl/LC_MESSAGES/django.po,sha256=ybQ5HXn9NkjatZJvQkcUnPdBQ7KTCHJsfwPe66lIZnY,2473 +django/contrib/flatpages/locale/nn/LC_MESSAGES/django.mo,sha256=A50zQJ-0YYPjPCeeEa-gwqA2N5eON13YW8SJZvtJBZc,1693 +django/contrib/flatpages/locale/nn/LC_MESSAGES/django.po,sha256=H5hnBsH3sUdlPkMjxiqNnh8izcrTSAs6o-ywlNCTKtw,2119 +django/contrib/flatpages/locale/os/LC_MESSAGES/django.mo,sha256=cXGTA5M229UFsgc7hEiI9vI9SEBrNQ8d3A0XrtazO6w,2329 +django/contrib/flatpages/locale/os/LC_MESSAGES/django.po,sha256=m-qoTiKePeFviKGH1rJRjZRH-doJ2Fe4DcZ6W52rG8s,2546 +django/contrib/flatpages/locale/pa/LC_MESSAGES/django.mo,sha256=69_ZsZ4nWlQ0krS6Mx3oL6c4sP5W9mx-yAmOhZOnjPU,903 +django/contrib/flatpages/locale/pa/LC_MESSAGES/django.po,sha256=N6gkoRXP5MefEnjywzRiE3aeU6kHQ0TUG6IGdLV7uww,1780 +django/contrib/flatpages/locale/pl/LC_MESSAGES/django.mo,sha256=T_OGt7vhizxrtAcSWmBLL6FUrWe4kt2oJes0R2X6y0k,2302 +django/contrib/flatpages/locale/pl/LC_MESSAGES/django.po,sha256=y3NQanfR8fBGD87ukbs9GRCCzqBZgnvYuigQrzEo_Zw,2562 +django/contrib/flatpages/locale/pt/LC_MESSAGES/django.mo,sha256=xD2pWdS3XMg7gAqBrUBmCEXFsOzEs0Npe8AJnlpueRY,2115 +django/contrib/flatpages/locale/pt/LC_MESSAGES/django.po,sha256=-K2jipPUWjXpfSPq3upnC_bvtaRAeOw0OLRFv03HWFY,2326 +django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.mo,sha256=3HkwLPl8gJx5NysmUHdIY2HaqAmhYtq33HKhCN7ht0M,2130 +django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.po,sha256=nCm3nt3DT5r-Dl8QUsgqPRJULNs0H8jFk9Ba_yL6N3E,2584 +django/contrib/flatpages/locale/ro/LC_MESSAGES/django.mo,sha256=nMOBt3XPjuoBGujcURWhYAyZVT7_5X0EEnbaFUWTu3M,2197 +django/contrib/flatpages/locale/ro/LC_MESSAGES/django.po,sha256=8td78SC46GvgmjsoHP_bsB_rYkOsfCfSeTc-Ib_F-KQ,2460 +django/contrib/flatpages/locale/ru/LC_MESSAGES/django.mo,sha256=KLrfdIDEPg_YqAiMIozJna_5UORc1VtIqQdsRiBiBa4,2741 +django/contrib/flatpages/locale/ru/LC_MESSAGES/django.po,sha256=sJrfCiup7Jt-FSZgpe9ulDWjv1BBjJf9A8R3r-nO-eQ,3029 +django/contrib/flatpages/locale/sk/LC_MESSAGES/django.mo,sha256=fah0acDTuIuhH3mfTJOKgHj7cIOD1EjYKVjKNOW6UAY,2155 +django/contrib/flatpages/locale/sk/LC_MESSAGES/django.po,sha256=5G2EKb5cvzJFGtITe8XUaRHOhojdCNH4Fjg8j24qtCs,2367 +django/contrib/flatpages/locale/sl/LC_MESSAGES/django.mo,sha256=MBjwhw6wppQUl0Lb_rShXZj_Sq-JLSkdYU5Xhi0OtYY,2173 +django/contrib/flatpages/locale/sl/LC_MESSAGES/django.po,sha256=6zbOXzkLTsdWRKAhuLzBVBc53n6MQKpvOeHw4cRrAlc,2400 +django/contrib/flatpages/locale/sq/LC_MESSAGES/django.mo,sha256=XZyziioVIY30Evbjp4CEZM3wrdfkz1i7ttY2rsZ2Yt0,2181 +django/contrib/flatpages/locale/sq/LC_MESSAGES/django.po,sha256=JWg31JWs6D9N3C2ZhTFOWrKHml1qEo8lJ7_8GV_ECzM,2353 +django/contrib/flatpages/locale/sr/LC_MESSAGES/django.mo,sha256=mnUUlaDt-hkiJ7orA11ULhHyUk9AKCP_JiezKE1b6fI,2513 +django/contrib/flatpages/locale/sr/LC_MESSAGES/django.po,sha256=Mvp8LVG262rcobi4IPSi8Hh6-osv6MI3hCuAPYC_vhw,2763 +django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=9iKmAQk1hlW0W_BmRr4_hSiGd9RdwiDZFS4giqW7On8,2125 +django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.po,sha256=Mr83YokpIM_KFfcRmMhaBov9MmkR0yMrHhwWFZmChos,2378 +django/contrib/flatpages/locale/sv/LC_MESSAGES/django.mo,sha256=j827YPTO2kPrexfXi28gRnfghHuK7cvy5DT6SAvFWAQ,2132 +django/contrib/flatpages/locale/sv/LC_MESSAGES/django.po,sha256=XSfmwVTEukv3zW4_1noCiYGFc4rabIWX-Vngo-Vd06k,2372 +django/contrib/flatpages/locale/sw/LC_MESSAGES/django.mo,sha256=Lhf99AGmazKJHzWk2tkGrMInoYOq0mtdCd8SGblnVCQ,1537 +django/contrib/flatpages/locale/sw/LC_MESSAGES/django.po,sha256=cos3eahuznpTfTdl1Vj_07fCOSYE8C9CRYHCBLYZrVw,1991 +django/contrib/flatpages/locale/ta/LC_MESSAGES/django.mo,sha256=nNuoOX-FPAmTvM79o7colM4C7TtBroTFxYtETPPatcQ,1945 +django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po,sha256=XE4SndPZPLf1yXGl5xQSb0uor4OE8CKJ0EIXBRDA3qU,2474 +django/contrib/flatpages/locale/te/LC_MESSAGES/django.mo,sha256=bMxhDMTQc_WseqoeqJMCSNy71o4U5tJZYgD2G0p-jD0,1238 +django/contrib/flatpages/locale/te/LC_MESSAGES/django.po,sha256=tmUWOrAZ98B9T6Cai8AgLCfb_rLeoPVGjDTgdsMOY1Y,2000 +django/contrib/flatpages/locale/th/LC_MESSAGES/django.mo,sha256=mct17_099pUn0aGuHu8AlZG6UqdKDpYLojqGYDLRXRg,2698 +django/contrib/flatpages/locale/th/LC_MESSAGES/django.po,sha256=PEcRx5AtXrDZvlNGWFH-0arroD8nZbutdJBe8_I02ag,2941 +django/contrib/flatpages/locale/tr/LC_MESSAGES/django.mo,sha256=Mlha5uTnMJybOxODh03SXHnOc9ORncJ5fSCKrAuaZKw,2136 +django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po,sha256=Bn8ASUcnuOWD8YNEgjoZ7GU_WzhCYKuAG6WUP-WAB-A,2383 +django/contrib/flatpages/locale/tt/LC_MESSAGES/django.mo,sha256=9RfCKyn0ZNYsqLvFNmY18xVMl7wnmDq5uXscrsFfupk,2007 +django/contrib/flatpages/locale/tt/LC_MESSAGES/django.po,sha256=SUwalSl8JWI9tuDswmnGT8SjuWR3DQGND9roNxJtH1o,2402 +django/contrib/flatpages/locale/udm/LC_MESSAGES/django.mo,sha256=7KhzWgskBlHmi-v61Ax9fjc3NBwHB17WppdNMuz-rEc,490 +django/contrib/flatpages/locale/udm/LC_MESSAGES/django.po,sha256=zidjP05Hx1OpXGqWEmF2cg9SFxASM4loOV85uW7zV5U,1533 +django/contrib/flatpages/locale/uk/LC_MESSAGES/django.mo,sha256=TnZ0ya0EGbkIFAcZFW-YVBOiiwlxg9Ci9Q8Ud9_ZbgI,2624 +django/contrib/flatpages/locale/uk/LC_MESSAGES/django.po,sha256=5deZ17O4Gtj1UG6Edzj7HJoLiJfA4fV_oNZQSUtVfRY,2897 +django/contrib/flatpages/locale/ur/LC_MESSAGES/django.mo,sha256=Li4gVdFoNOskGKAKiNuse6B2sz6ePGqGvZu7aGXMNy0,1976 +django/contrib/flatpages/locale/ur/LC_MESSAGES/django.po,sha256=hDasKiKrYov9YaNIHIpoooJo0Bzba___IuN2Hl6ofSc,2371 +django/contrib/flatpages/locale/vi/LC_MESSAGES/django.mo,sha256=FsFUi96oGTWGlZwM4qSMpuL1M2TAxsW51qO70TrybSM,1035 +django/contrib/flatpages/locale/vi/LC_MESSAGES/django.po,sha256=ITX3MWd7nlWPxTCoNPl22_OMLTt0rfvajGvTVwo0QC8,1900 +django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=4PBYHqvZ8tsWOppfMjHvA4fhchWqPSJdaYm96_Xu734,1994 +django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.po,sha256=2z96jKF7PQrb2IXZO1p2Ta77e95vA-epdnB3wK3wcYo,2279 +django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=a-KLBISo2n7mn10SuNfT0K883RTjKjPYCpHCAivUz18,2053 +django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.po,sha256=GtvYArHRgiEQo5KSIYd4lsOeHCrXkWaZIiKFH4m1peM,2283 +django/contrib/flatpages/migrations/0001_initial.py,sha256=dLSlPpjfc6jMKhxYPsw6yKohxn4ejRXVOJ1VyJf12r4,1710 +django/contrib/flatpages/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/flatpages/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/flatpages/templatetags/flatpages.py,sha256=AH29WWZNLWH2B2GMt7cHoN9-Bmxn5k1w9Qi48Uhn-kc,3576 +django/contrib/gis/__init__.py,sha256=GTSQJbKqQkNiljWZylYy_ofRICJeqIkfqmnC9ZdxZ2I,57 +django/contrib/gis/apps.py,sha256=wEquhS1IKyUphVzs9QL4J-94onezMkC5tK_WkrUEa3o,396 +django/contrib/gis/feeds.py,sha256=vCYhNC7qRvPIPGLw8GnAqi-c1SCwQJlwuBtZ36n7LSY,5733 +django/contrib/gis/geometry.py,sha256=sTXZdh3D1UGGDBP-WZ2jvLUVstcJ_2Kn1_PlKJshNDo,677 +django/contrib/gis/measure.py,sha256=BLWTkDMMunvaN9lR8QDujmKOxUyhBQKy10Auo0npDaQ,11948 +django/contrib/gis/ptr.py,sha256=3YoUTosG8oZ2comaW7OczuCtAQMyioRPjDjbIqs0gLI,1276 +django/contrib/gis/shortcuts.py,sha256=fHf3HYP6MP8GeuBW6G3y6d30Mjxa6IL2xtmblDjS8k4,1027 +django/contrib/gis/views.py,sha256=GpOJ8W5gk-xbB8y3wPe2dvoVutPKZqswhcMWCETBnx0,698 +django/contrib/gis/admin/__init__.py,sha256=Hni2JCw5ihVuor2HupxDffokiBOG11tu74EcKhiO89w,486 +django/contrib/gis/admin/options.py,sha256=TBV8szg0bCDSYfYupX_wwPf55pBo-8k_KfuM5FUV8vU,5330 +django/contrib/gis/admin/widgets.py,sha256=_X3Li-k9q0m7soBvu0Vu3jwwmODZWTx9A3IswYKeXLM,4720 +django/contrib/gis/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/db/backends/utils.py,sha256=y4q0N0oDplot6dZQIFnjGPqVsTiGyLTmEMt5-xj-2b4,784 +django/contrib/gis/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/db/backends/base/adapter.py,sha256=gzUjdM_lU9pBK3NlrX_Fx1W96TT1cYJdWZjhV7eQZ4s,482 +django/contrib/gis/db/backends/base/features.py,sha256=F4Xhc-OSHsV-IjB2PbcU_DcVmRITXYnOe2xgXOj_iHo,3406 +django/contrib/gis/db/backends/base/models.py,sha256=vkDweNsExmKWkHNSae9G6P-fT-SMdIgHZ85i31ihXg0,3962 +django/contrib/gis/db/backends/base/operations.py,sha256=v3jyAGBz8oqtShYzvoYLa8oyWjmKcwl-HQB-usnPT8w,6321 +django/contrib/gis/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/db/backends/mysql/base.py,sha256=rz8tnvXJlY4V6liWxYshuxQE-uTNuKSBogCz_GtXoaY,507 +django/contrib/gis/db/backends/mysql/features.py,sha256=zyl131i6rwEqn3prTzMMOgy7AuUfcCCNx4lKj9YmXQ4,756 +django/contrib/gis/db/backends/mysql/introspection.py,sha256=-Ff3nDRI7Rz3Cc33UlD0TgajjNH5rde9u0SKTMwuAUw,1771 +django/contrib/gis/db/backends/mysql/operations.py,sha256=RRD37VSAMHbVoBfU7TA1LI_9x4Wox8Yw_Cw0Evj3tnE,4077 +django/contrib/gis/db/backends/mysql/schema.py,sha256=I8eJcKXqiyv15ATHLs5qVsHfWDE07lf0_-iaNdGv0ew,2890 +django/contrib/gis/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/db/backends/oracle/adapter.py,sha256=y9ewCXAoQZ4iXCHzf_bsRwSXpCHdK9HJyUZy_1AiA40,1872 +django/contrib/gis/db/backends/oracle/base.py,sha256=NQYlEvE4ioobvMd7u2WC7vMtDiRq_KtilGprD6qfJCo,516 +django/contrib/gis/db/backends/oracle/features.py,sha256=lHjxvF4bQqlv8VQGgXhCNrfnDgbUUm6GwjYeva4HKMc,420 +django/contrib/gis/db/backends/oracle/introspection.py,sha256=NrjdXhbXbEtYEYQfohbBlxD1pMlhmcW44S_z_ZL09Ns,1839 +django/contrib/gis/db/backends/oracle/models.py,sha256=qn2TayTuC67MD7gEZo954DKa5ddB9CNS4rTkXkdXo8E,2084 +django/contrib/gis/db/backends/oracle/operations.py,sha256=wMg1U6JAJga-n_16Ht-CCsngxi4I2xnozNao8ye25oE,8269 +django/contrib/gis/db/backends/oracle/schema.py,sha256=wnb56CJ9Er40E4Yw7RK1hOOYZAHRJJFbNGNK9E9IHRk,3916 +django/contrib/gis/db/backends/postgis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/db/backends/postgis/adapter.py,sha256=Qa1z5H2p2iDegEmuQDH_yUR8sbmYvg1S51F7BArng7g,2154 +django/contrib/gis/db/backends/postgis/base.py,sha256=sFCNoMHRzd-a_MRc9hv-tyVHEODmGveyIopbP6CTPCg,937 +django/contrib/gis/db/backends/postgis/const.py,sha256=a536866Z3EPWtcjYUXewOe0QjyfFIhxRTk_tFmRu1NA,1484 +django/contrib/gis/db/backends/postgis/features.py,sha256=iBZqX6o1YBrmw5pSUYeft-ga6FGa05J-9ADFNsRtLgk,422 +django/contrib/gis/db/backends/postgis/introspection.py,sha256=EMl6H0OOQzzKLMKDOuMQXwaxo6S0JMQ4WRmynFcmxEA,5410 +django/contrib/gis/db/backends/postgis/models.py,sha256=EE3RLh8ywcJ7NAYhPAQbORChwsgntssvDqXkLxDGR2A,1962 +django/contrib/gis/db/backends/postgis/operations.py,sha256=r0RfufIz-seq2JPpzdiz_lEy5Jrw9wYrL9dMbkpnPqA,15946 +django/contrib/gis/db/backends/postgis/pgraster.py,sha256=xo7S1sR_xaaUGCZOcZlNriSLb_Rw7yTkPHgcy-9o7Xo,4586 +django/contrib/gis/db/backends/postgis/schema.py,sha256=8OLvoGWRnm8WNhVzfd_4hk58I_IErPMdvswL2D4DG2I,2647 +django/contrib/gis/db/backends/spatialite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/db/backends/spatialite/adapter.py,sha256=y74p_UEgLtoYjNZEi72mwcJOh_b-MzJ7sZd68WJXBiY,317 +django/contrib/gis/db/backends/spatialite/base.py,sha256=UeWmlPtr1VUZgogPV-S-poAds4hgcGcrAhIBzery3f4,2875 +django/contrib/gis/db/backends/spatialite/client.py,sha256=NsqD2vAnfjqn_FbQnCQeAqbGyZf9oa6gl7EPsMTPf8c,138 +django/contrib/gis/db/backends/spatialite/features.py,sha256=UcNZz6Pn5ULxxafA35EqapaopfrG1A77LDfadKUuwX0,783 +django/contrib/gis/db/backends/spatialite/introspection.py,sha256=hfvLrbpXfCJaEHnajPR4UNS69bHL_WGvQi6s0vYsy0A,3169 +django/contrib/gis/db/backends/spatialite/models.py,sha256=Im-NSbDbUMjvZgZpABrOMuKqmygbcKxTZv0k1YZf1gE,1890 +django/contrib/gis/db/backends/spatialite/operations.py,sha256=nnET48MGuG6ZP2YUVJaVYvlEtdNbm-MTjvuCPIO-BGY,8309 +django/contrib/gis/db/backends/spatialite/schema.py,sha256=WLvCcCOqdTcBmsjaBNt15YwVzE05vXzQVvfGva6q1Xo,6838 +django/contrib/gis/db/models/__init__.py,sha256=BR3kQAefIv4O1NksiVCUShwlSO4OCNoUGan6dCRGIyU,817 +django/contrib/gis/db/models/aggregates.py,sha256=6pu08PWnXFhFe2yWOoaBKVk87pcIm5LSKSlIlM3hJ24,2583 +django/contrib/gis/db/models/fields.py,sha256=dXgNMhVzzoqMxrTv8lOb-7yxBVX-jr1CzxzuKk9gRFQ,13514 +django/contrib/gis/db/models/functions.py,sha256=1mpm9lPWFUmZoF1EsFYKQJlYPql6R8n5TiDG7R6giJo,16264 +django/contrib/gis/db/models/lookups.py,sha256=vmQVxVe62O0hcTIsd-03bQl2R7JdwYx6Fzz4MMKa7g8,10878 +django/contrib/gis/db/models/proxy.py,sha256=F_y7gVePcxpywNxMMEzS0A_t4LCbkhfrOllQZ0ZDPgU,3172 +django/contrib/gis/db/models/sql/__init__.py,sha256=oYJYL-5DAO-DIcpIQ7Jmeq_cuKapRB83V1KLVIs_5iU,139 +django/contrib/gis/db/models/sql/conversion.py,sha256=gG1mTUWb33YK_Uf1ZJRg5MRhkCTLtgajD3xxi7thODA,2400 +django/contrib/gis/forms/__init__.py,sha256=fREam1OSkDWr9ugUMNZMFn8Y9TufpRCn3Glj14DTMbQ,298 +django/contrib/gis/forms/fields.py,sha256=0cXtGt9PdutO4Ouk-q6qddReN2C-64lFSUPfuHqTvco,4114 +django/contrib/gis/forms/widgets.py,sha256=Lt4WZC58wtrZw8BCg-_1exsaocMujJC4m47EusatfwI,3515 +django/contrib/gis/gdal/LICENSE,sha256=VwoEWoNyts1qAOMOuv6OPo38Cn_j1O8sxfFtQZ62Ous,1526 +django/contrib/gis/gdal/__init__.py,sha256=Zs9bOGm9RStYhhlWCnqRNChJG4K_oWDPRXYylplur1Q,1760 +django/contrib/gis/gdal/base.py,sha256=yymyL0vZRMBfiFUzrehvaeaunIxMH5ucGjPRfKj-rAo,181 +django/contrib/gis/gdal/datasource.py,sha256=ItTc0jrMn0fTDBIoHVjhjskIrRjKKYEXaP5G6t21LHY,4490 +django/contrib/gis/gdal/driver.py,sha256=iBp2Vk6UV-fPJWsIxBc-pUdVmG51GHTSgOyDD-Dg9lc,3262 +django/contrib/gis/gdal/envelope.py,sha256=ZsX4QPtg60yVl5MMjc_mbolnbA0lWWV-85ZW4IHWIbU,6973 +django/contrib/gis/gdal/error.py,sha256=WNtvm0k-Msbo5pW2rO1_5fDvLRqoF8D5ka9UC6hfclM,1575 +django/contrib/gis/gdal/feature.py,sha256=41qBdM1bVmKh4W-5QO6-3mrEbyL-1lCEGgclsOIJAzg,3927 +django/contrib/gis/gdal/field.py,sha256=64_BJ1SyJXqByVPiQB2HU6_5KiPSe2IE-5Wq4heKbEo,6699 +django/contrib/gis/gdal/geometries.py,sha256=tvtVLuW-W23tlp-rGGj4Fx6aNqFNxDqr2hAlAjdjO2Y,24515 +django/contrib/gis/gdal/geomtype.py,sha256=wV9vW9lalMtMSEja161xMdZVqmaf6rR-PC2GdzeIwMs,3175 +django/contrib/gis/gdal/layer.py,sha256=NeFb78T4O8KBuAUfMdR2t-tK5UO4GCCSGd3ZY5Temyo,8537 +django/contrib/gis/gdal/libgdal.py,sha256=H0sugVJuTEPvjJZ2S3SUjZOs_9yn4Yq5FDYV4UNOEhw,3612 +django/contrib/gis/gdal/srs.py,sha256=jJDIApRPMhm6gQNVKmqCzrgufx1MFo44Eu7tk_Elu7k,11540 +django/contrib/gis/gdal/prototypes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/gdal/prototypes/ds.py,sha256=AAu7QnwigZ-3Dme-uHsOySlT1TGvAYSvqF1pZtauMto,4413 +django/contrib/gis/gdal/prototypes/errcheck.py,sha256=81MQSCm3lvq8LYMi7t901Z82X9ChgApD0MC6jh2TKT4,4151 +django/contrib/gis/gdal/prototypes/generation.py,sha256=WmFEbrwQQJpdHd5bBZYYO07bsR_3Sv8ZFQXNjGgffGA,4612 +django/contrib/gis/gdal/prototypes/geom.py,sha256=ELRO7bR8RxO3HIuxtitr06yhsG4DxYTlRsTa6NenTqI,4946 +django/contrib/gis/gdal/prototypes/raster.py,sha256=aXOXg3B_NcFt4AoX6sDSr0u_yEvhWPF2D00qhxCFnzc,5763 +django/contrib/gis/gdal/prototypes/srs.py,sha256=yzAqWOFjP626Kovwd1HOlJuWcT3kuLCFq_PCVNN7Gaw,3540 +django/contrib/gis/gdal/raster/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/gdal/raster/band.py,sha256=jGoWznyK-4MYElT3KpuUTyWjGmv_Eou_c76BqBXMMR4,8304 +django/contrib/gis/gdal/raster/base.py,sha256=VJk16KfArc2SbTjRK3iLuFmzXW1B7VUSctG0Jc6m4Vg,3014 +django/contrib/gis/gdal/raster/const.py,sha256=D976ENrWFWdoH1fS5DuyhcS8ix7zJB8UIu4_NvEJtgI,2889 +django/contrib/gis/gdal/raster/source.py,sha256=3URK_Vp9VsObLWLDB5tT59XVAUs-pBUsJrojeD6fdJE,16854 +django/contrib/gis/geoip2/__init__.py,sha256=uIUWQyMsbSrYL-oVqFsmhqQkYGrh7pHLIVvIM3W_EG4,822 +django/contrib/gis/geoip2/base.py,sha256=BuT-N9PuRqjuP8kohfKxvnft-nI7J7orPzLrOUDF2qE,9033 +django/contrib/gis/geoip2/resources.py,sha256=UFle7-6gOKg-En5z_uaO3VzlUmhGoSxWsy_hbIh-tjQ,651 +django/contrib/gis/geos/LICENSE,sha256=CL8kt1USOK4yUpUkVCWxyuua0PQvni0wPHs1NQJjIEU,1530 +django/contrib/gis/geos/__init__.py,sha256=DXFaljVp6gf-E0XAbfO1JnYjPYSDfGZQ2VLtGYBcUZQ,648 +django/contrib/gis/geos/base.py,sha256=NdlFg5l9akvDp87aqzh9dk0A3ZH2TI3cOq10mmmuHBk,181 +django/contrib/gis/geos/collections.py,sha256=OHpBZoruCk_rySBZ4gpEA2ZWLODFCHwkOyGIn1wxGJc,4162 +django/contrib/gis/geos/coordseq.py,sha256=cMGg3XPm2x3VYjkYys8rojRG7uzMez8FpOr2HD-Jy8Q,6419 +django/contrib/gis/geos/error.py,sha256=r3SNTnwDBI6HtuyL3mQ_iEEeKlOqqqdkHnhNoUkMohw,104 +django/contrib/gis/geos/factory.py,sha256=f6u2m1AtmYYHk_KrIC9fxt7VGsJokJVoSWEx-DkPWx0,961 +django/contrib/gis/geos/geometry.py,sha256=Gbz_K0_QMluq69V-wxp2AQwScueIz5K5bBgxkLXY__g,24845 +django/contrib/gis/geos/io.py,sha256=Om5DBSlttixUc3WQAGZDhzPdb5JTe82728oImIj_l3k,787 +django/contrib/gis/geos/libgeos.py,sha256=AtMP5GPGgjPPQzgzk8G-fxDFWlhd7e-LWR4idA3dXh8,5127 +django/contrib/gis/geos/linestring.py,sha256=xBs4p9osA_zUK6xCdgg_nBLBmbvZ_Qxa7aZ8T5ao0vs,5960 +django/contrib/gis/geos/mutable_list.py,sha256=_dHOe_CF9jQGv0UFbKUwSqLWcl4EQBFLJ0wtO8cf5Y4,10489 +django/contrib/gis/geos/point.py,sha256=vBBmdajc7GXisTdRDriHEJRc0irjNJsTF8qDtHr5o4U,4443 +django/contrib/gis/geos/polygon.py,sha256=qYVaXi9rxs3yUQH-z2Kqr4vw5Pjd-HneTa7iB6r-86c,6691 +django/contrib/gis/geos/prepared.py,sha256=rJf35HOTxPrrk_yA-YR9bQlL_pPDKecuhwZlcww8lxY,1575 +django/contrib/gis/geos/prototypes/__init__.py,sha256=0jfLanLmI1q-3NIpdIZr3EHnMzhPRXMhbCNIHf3glfI,1221 +django/contrib/gis/geos/prototypes/coordseq.py,sha256=jd8jmxXbhZjNmWRad9917ar8ozDIih-EnFvmamgLxm0,2989 +django/contrib/gis/geos/prototypes/errcheck.py,sha256=YTUBFoHU5pZOAamBPgogFymDswgnMr1_KL59sZfInYo,2654 +django/contrib/gis/geos/prototypes/geom.py,sha256=FoWEduMbbWb6_blM2IJOP_WkYCVISLksuXOaFAL_9c8,3565 +django/contrib/gis/geos/prototypes/io.py,sha256=q9LPSy0ZKDGag8pn8XhswRI8E42EzBy3kqmWTTxYRM4,11118 +django/contrib/gis/geos/prototypes/misc.py,sha256=7Xwk0HG__JtPt6wJD-ieMkD-7KxpnofYrHSk6NEUeJo,1161 +django/contrib/gis/geos/prototypes/predicates.py,sha256=Ya06ir7LZQBSUypB05iv9gpvZowOSLIKa4fhCnhZuYY,1587 +django/contrib/gis/geos/prototypes/prepared.py,sha256=SC7g9_vvsW_ty7LKqlMzJfF9v3EvsJX9-j3kpSeCRfY,1184 +django/contrib/gis/geos/prototypes/threadsafe.py,sha256=mMS57uRZmYrsWluD4Y8Sej5gH7IFiGCHjERfQMsE6Ak,2389 +django/contrib/gis/geos/prototypes/topology.py,sha256=AD9s3yytjEaF6YZpa7nBufZlxaC7lM8q7GfXaEWRvxY,2139 +django/contrib/gis/locale/af/LC_MESSAGES/django.mo,sha256=TN3GddZjlqXnhK8UKLlMoMIXNw2szzj7BeRjoKjsR5c,470 +django/contrib/gis/locale/af/LC_MESSAGES/django.po,sha256=XPdXaQsZ6yDPxF3jVMEI4bli_5jrEawoO-8DHMk8Q_A,1478 +django/contrib/gis/locale/ar/LC_MESSAGES/django.mo,sha256=q0DhiLoyS8WBktN150bvtusd885p2E7e23VMFAqJPj0,2428 +django/contrib/gis/locale/ar/LC_MESSAGES/django.po,sha256=rnZPCzub0GRmC3FwmfyhATesLcm4yTRNr8jDSvM9wBQ,2639 +django/contrib/gis/locale/ast/LC_MESSAGES/django.mo,sha256=8o0Us4wR14bdv1M5oBeczYC4oW5uKnycWrj1-lMIqV4,850 +django/contrib/gis/locale/ast/LC_MESSAGES/django.po,sha256=0beyFcBkBOUNvPP45iqewTNv2ExvCPvDYwpafCJY5QM,1684 +django/contrib/gis/locale/az/LC_MESSAGES/django.mo,sha256=Fa4dVabHbnYIaJNor3mac1dXOHEEiO2MN9LqGe-r5kg,1211 +django/contrib/gis/locale/az/LC_MESSAGES/django.po,sha256=Xj1cR_yGYeqHDiNU-UVoWjVevwAfT7bOTj5Cbbx49pk,1801 +django/contrib/gis/locale/be/LC_MESSAGES/django.mo,sha256=ySlqE1WXTqM5DGsE_fEF5pipbyqj4A10SZgvQlFAyKc,2488 +django/contrib/gis/locale/be/LC_MESSAGES/django.po,sha256=HzR5MKPYfc-xeRnb0oPIi9OLa-iA86_IbbM3Poj8h_k,2651 +django/contrib/gis/locale/bg/LC_MESSAGES/django.mo,sha256=1A5wo7PLz0uWsNMHv_affxjNnBsY3UQNz7zHszu56do,2452 +django/contrib/gis/locale/bg/LC_MESSAGES/django.po,sha256=5Onup09U6w85AFWvjs2QKnYXoMhnnw9u4eUlIa5QoXU,2670 +django/contrib/gis/locale/bn/LC_MESSAGES/django.mo,sha256=7oNsr_vHQfsanyP-o1FG8jZTSBK8jB3eK2fA9AqNOx4,1070 +django/contrib/gis/locale/bn/LC_MESSAGES/django.po,sha256=PTa9EFZdqfznUH7si3Rq3zp1kNkTOnn2HRTEYXQSOdM,1929 +django/contrib/gis/locale/br/LC_MESSAGES/django.mo,sha256=dKdyM_SsEERl7fEYUej6idqQpQVVm2oeBdQwzcxGU8s,466 +django/contrib/gis/locale/br/LC_MESSAGES/django.po,sha256=mcr1XLHBS7WvX4S086rope0RX_WhkpZd93t-1S9A0O0,1512 +django/contrib/gis/locale/bs/LC_MESSAGES/django.mo,sha256=9EdKtZkY0FX2NlX_q0tIxXD-Di0SNQJZk3jo7cend0A,1308 +django/contrib/gis/locale/bs/LC_MESSAGES/django.po,sha256=eu_qF8dbmlDiRKGNIz80XtIunrF8QIOcy8O28X02GvQ,1905 +django/contrib/gis/locale/ca/LC_MESSAGES/django.mo,sha256=_ghgN_u_2yqPFt8oKksLPQeJxn1dz_o23Z-OAa3xKTQ,2043 +django/contrib/gis/locale/ca/LC_MESSAGES/django.po,sha256=o5dQ-gYO9WPYQf4EFhpl3GLHzu-KU3MDYAn3Y_YVpMs,2313 +django/contrib/gis/locale/cs/LC_MESSAGES/django.mo,sha256=fxe9guXFqd6Vc8c-srZ-h-FEK9P00CfogO1PlP5AmiA,2058 +django/contrib/gis/locale/cs/LC_MESSAGES/django.po,sha256=C7CHSputPGEzUKZ3Q6dX5xOBtwkiqOsjHxHz-oUuMkg,2259 +django/contrib/gis/locale/cy/LC_MESSAGES/django.mo,sha256=vUG_wzZaMumPwIlKwuN7GFcS9gnE5rpflxoA_MPM_po,1430 +django/contrib/gis/locale/cy/LC_MESSAGES/django.po,sha256=_QjXT6cySUXrjtHaJ3046z-5PoXkCqtOhvA7MCZsXxk,1900 +django/contrib/gis/locale/da/LC_MESSAGES/django.mo,sha256=qSfQxrORzIWKkcgjsCOOsTGhr8qU7DhqbWRxbQzkGXI,1934 +django/contrib/gis/locale/da/LC_MESSAGES/django.po,sha256=5vF_PjA29rtkd3WaIcwT4w0_69hqSN-1GFhKVtoAHh0,2176 +django/contrib/gis/locale/de/LC_MESSAGES/django.mo,sha256=mI3SuiIrcN27uvquzq7O9wtKIjaVQjHAesncCgBg8_g,1999 +django/contrib/gis/locale/de/LC_MESSAGES/django.po,sha256=4m3n1PEqvjKftQWz4s_ElJzZuCVzdWGbIKEHoBrhEy4,2151 +django/contrib/gis/locale/dsb/LC_MESSAGES/django.mo,sha256=69wcPviGvpI2TxiSEux2GnUo1tu0CeZgQKBjJZrEeRk,2109 +django/contrib/gis/locale/dsb/LC_MESSAGES/django.po,sha256=koNMmuvSPrHBxNsE0EH4zPcDZeFAyBHR_qQnp3HT80o,2226 +django/contrib/gis/locale/el/LC_MESSAGES/django.mo,sha256=8QAS4MCktYLFsCgcIVflPXePYAWwr6iEZ7K8_axi_5U,2519 +django/contrib/gis/locale/el/LC_MESSAGES/django.po,sha256=6JVoYCUCUznxgQYlOCWJw1Ad6SR3Fa9jlorSCYkiwLw,2886 +django/contrib/gis/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/gis/locale/en/LC_MESSAGES/django.po,sha256=xQNCkGkE6LwUS33QmgHTaLg0TQNbO9IPElF6RkYrY9c,2223 +django/contrib/gis/locale/en_AU/LC_MESSAGES/django.mo,sha256=IPn5kRqOvv5S7jpbIUw8PEUkHlyjEL-4GuOANd1iAzI,486 +django/contrib/gis/locale/en_AU/LC_MESSAGES/django.po,sha256=x_58HmrHRia2LoYhmmN_NLb1J3f7oTDvwumgTo0LowI,1494 +django/contrib/gis/locale/en_GB/LC_MESSAGES/django.mo,sha256=WkORQDOsFuV2bI7hwVsJr_JTWnDQ8ZaK-VYugqnLv3w,1369 +django/contrib/gis/locale/en_GB/LC_MESSAGES/django.po,sha256=KWPMoX-X-gQhb47zoVsa79-16-SiCGpO0s4xkcGv9z0,1910 +django/contrib/gis/locale/eo/LC_MESSAGES/django.mo,sha256=qls9V1jybymGCdsutcjP6fT5oMaI-GXnt_oNfwq-Yhs,1960 +django/contrib/gis/locale/eo/LC_MESSAGES/django.po,sha256=WPSkCxwq3ZnR-_L-W-CnS0_Qne3ekX7ZAZVaubiWw5s,2155 +django/contrib/gis/locale/es/LC_MESSAGES/django.mo,sha256=l88snQomLTK7JQQ5MGdUWGf_6MqiyZWqnCuZPAMctoQ,2056 +django/contrib/gis/locale/es/LC_MESSAGES/django.po,sha256=e4YW5wz0R2oI8VmEZGgMsLVycbmv3ILDjetpjS8ZXl4,2423 +django/contrib/gis/locale/es_AR/LC_MESSAGES/django.mo,sha256=-SlY9HeeMlg87yZM-mtG-drnsT_jncUOeoY4PPHkjrk,2069 +django/contrib/gis/locale/es_AR/LC_MESSAGES/django.po,sha256=XfXzSvB-x2nMclRwxMDWhPqw8vQMRtWVr4SyvD1XFn8,2219 +django/contrib/gis/locale/es_CO/LC_MESSAGES/django.mo,sha256=P79E99bXjthakFYr1BMobTKqJN9S1aj3vfzMTbGRhCY,1865 +django/contrib/gis/locale/es_CO/LC_MESSAGES/django.po,sha256=tyu8_dFA9JKeQ2VCpCUy_6yX97SPJcDwVqqAuf_xgks,2347 +django/contrib/gis/locale/es_MX/LC_MESSAGES/django.mo,sha256=bC-uMgJXdbKHQ-w7ez-6vh9E_2YSgCF_LkOQlvb60BU,1441 +django/contrib/gis/locale/es_MX/LC_MESSAGES/django.po,sha256=MYO9fGclp_VvLG5tXDjXY3J_1FXI4lDv23rGElXAyjA,1928 +django/contrib/gis/locale/es_VE/LC_MESSAGES/django.mo,sha256=5YVIO9AOtmjky90DAXVyU0YltfQ4NLEpVYRTTk7SZ5o,486 +django/contrib/gis/locale/es_VE/LC_MESSAGES/django.po,sha256=R8suLsdDnSUEKNlXzow3O6WIT5NcboZoCjir9GfSTSQ,1494 +django/contrib/gis/locale/et/LC_MESSAGES/django.mo,sha256=RuQYV9MWvWzcX0lI4ot2cY2_49yJPOqeExNx05MpeFg,1961 +django/contrib/gis/locale/et/LC_MESSAGES/django.po,sha256=4yl0Zfmt0mOSJluCw97oJdiWmf3x84a3qtSQDsUZYv8,2239 +django/contrib/gis/locale/eu/LC_MESSAGES/django.mo,sha256=EChDnXv1Tgk0JvMp3RuDsk-0LkgZ2Xig8nckmikewLA,1973 +django/contrib/gis/locale/eu/LC_MESSAGES/django.po,sha256=sj_W9oCmbYENT-zGnTNtAT-ZsI3z7IOhgUxooQNFbpc,2191 +django/contrib/gis/locale/fa/LC_MESSAGES/django.mo,sha256=ecBNKfMWmDppr1J-RArykdidJZtNxbzfGpxEGhmsp3s,2275 +django/contrib/gis/locale/fa/LC_MESSAGES/django.po,sha256=lYBduv3O2QN7oZtoUzyBxx8e9f2_VGFU0CcpGNom5Ps,2583 +django/contrib/gis/locale/fi/LC_MESSAGES/django.mo,sha256=L_1vFA-I0vQddIdLpNyATweN04E5cRw-4Xr81D67Q_c,1946 +django/contrib/gis/locale/fi/LC_MESSAGES/django.po,sha256=WSrldLannVh0Vnmm18X5FwHoieLQYXz0CoF2SY52w0M,2127 +django/contrib/gis/locale/fr/LC_MESSAGES/django.mo,sha256=asAhstLR7EmVyuijAii40LOtdcsapHaChkfIvhlsdrQ,2082 +django/contrib/gis/locale/fr/LC_MESSAGES/django.po,sha256=GvRJJNZL55BRARg2TozwQjRprLUNMQxtzfB94Qs0Ye8,2290 +django/contrib/gis/locale/fy/LC_MESSAGES/django.mo,sha256=2kCnWU_giddm3bAHMgDy0QqNwOb9qOiEyCEaYo1WdqQ,476 +django/contrib/gis/locale/fy/LC_MESSAGES/django.po,sha256=7ncWhxC5OLhXslQYv5unWurhyyu_vRsi4bGflZ6T2oQ,1484 +django/contrib/gis/locale/ga/LC_MESSAGES/django.mo,sha256=m6Owcr-5pln54TXcZFAkYEYDjYiAkT8bGFyw4nowNHA,1420 +django/contrib/gis/locale/ga/LC_MESSAGES/django.po,sha256=I0kyTnYBPSdYr8RontzhGPShJhylVAdRLBGWRQr2E7g,1968 +django/contrib/gis/locale/gd/LC_MESSAGES/django.mo,sha256=GR9860LI6qrGdaqUYG8GskC_EeGHBetVojk0TSTIIO8,2142 +django/contrib/gis/locale/gd/LC_MESSAGES/django.po,sha256=l9fNaI3A5mmULDsg-D-cc-hhlGOYlP4JrxJJn4YU4hM,2260 +django/contrib/gis/locale/gl/LC_MESSAGES/django.mo,sha256=4OUuNpkYRWjKz_EoY1zDzKOK8YptrwUutQqFvSKsLUs,1421 +django/contrib/gis/locale/gl/LC_MESSAGES/django.po,sha256=s9tiYQLnv1_uzyLpi3qqV_zwJNic1AGFsUGc3FhJbMo,2006 +django/contrib/gis/locale/he/LC_MESSAGES/django.mo,sha256=Lv18lxyH_Fnq9kfqbthOhc5ZyFj4cP2BKAPmT8zF-rk,2142 +django/contrib/gis/locale/he/LC_MESSAGES/django.po,sha256=p3lU7h8Y9VDBBSDGhYCKyF3ohDmVkUCWSHWUiwmXgg8,2296 +django/contrib/gis/locale/hi/LC_MESSAGES/django.mo,sha256=3nsy5mxKTPtx0EpqBNA_TJXmLmVZ4BPUZG72ZEe8OPM,1818 +django/contrib/gis/locale/hi/LC_MESSAGES/django.po,sha256=jTFG2gqqYAQct9-to0xL2kUFQu-ebR4j7RGfxn4sBAg,2372 +django/contrib/gis/locale/hr/LC_MESSAGES/django.mo,sha256=0XrRj2oriNZxNhEwTryo2zdMf-85-4X7fy7OJhB5ub4,1549 +django/contrib/gis/locale/hr/LC_MESSAGES/django.po,sha256=iijzoBoD_EJ1n-a5ys5CKnjzZzG299zPoCN-REFkeqE,2132 +django/contrib/gis/locale/hsb/LC_MESSAGES/django.mo,sha256=W3LtmsG61dOj4oNOEDuZC4iOco8jbFkrBUhhW1rxXVE,2083 +django/contrib/gis/locale/hsb/LC_MESSAGES/django.po,sha256=WmUI-Hqp2yLFJNYKU7-ko7bJY25pcPqPblu0rkSDKVk,2203 +django/contrib/gis/locale/hu/LC_MESSAGES/django.mo,sha256=Gbu1WlCo21lsqVrfAJHD0SsrQ4RxQ5Wsqhp9sJuHmEA,1941 +django/contrib/gis/locale/hu/LC_MESSAGES/django.po,sha256=dJCoSLIugFyOoPuewWcquN_UCqJG3gYZzb1IiO_2r5Y,2173 +django/contrib/gis/locale/ia/LC_MESSAGES/django.mo,sha256=9MZnSXkQUIfbYB2f4XEtYo_FzuVi5OlsYcX9K_REz3c,1899 +django/contrib/gis/locale/ia/LC_MESSAGES/django.po,sha256=f7OuqSzGHQNldBHp62VIWjqP0BB0bvo8qEx9_wzH090,2116 +django/contrib/gis/locale/id/LC_MESSAGES/django.mo,sha256=vkdSqp0U3LhTfejwHLhnwjQ4OFFN0GVKrquxTWgLIh0,1983 +django/contrib/gis/locale/id/LC_MESSAGES/django.po,sha256=Zz3Yd6id4X3rfjqiYt_CmyPpLYnFY1fuTUKRnZnDMdA,2322 +django/contrib/gis/locale/io/LC_MESSAGES/django.mo,sha256=_yUgF2fBUxVAZAPNw2ROyWly5-Bq0niGdNEzo2qbp8k,464 +django/contrib/gis/locale/io/LC_MESSAGES/django.po,sha256=fgGJ1xzliMK0MlVoV9CQn_BuuS3Kl71Kh5YEybGFS0Y,1472 +django/contrib/gis/locale/is/LC_MESSAGES/django.mo,sha256=CBNZj4uA2niVY5uA7MKHu21Ou8d3wp_EJCWC8w3Y0JY,1317 +django/contrib/gis/locale/is/LC_MESSAGES/django.po,sha256=SUst5hGJO9veiC6SWB0oLEHzMXNqxMG8l8oLpoTQFt0,1865 +django/contrib/gis/locale/it/LC_MESSAGES/django.mo,sha256=px9x5hMusGf2LB2Vz9AijSpeppg3gUCI0dHfBb_F44A,2009 +django/contrib/gis/locale/it/LC_MESSAGES/django.po,sha256=RZRPvW8eAvd0-KnEQ0lPz0gSPmvq1um0rsEgmoIQMsU,2309 +django/contrib/gis/locale/ja/LC_MESSAGES/django.mo,sha256=knTOfVviVceaAEp9xeh4WUE-ro2lkUIUTtkA-9yk3Bs,2124 +django/contrib/gis/locale/ja/LC_MESSAGES/django.po,sha256=mqD9ZpqXvAL7adXVWyVlIyD7meIcyXI6RXqRQD5cRm8,2287 +django/contrib/gis/locale/ka/LC_MESSAGES/django.mo,sha256=iqWQ9j8yanPjDhwi9cNSktYgfLVnofIsdICnAg2Y_to,1991 +django/contrib/gis/locale/ka/LC_MESSAGES/django.po,sha256=tWoXkbWfNsZ2A28_JUvc1wtyVT6m7Hl9nJgfxXGqkgY,2566 +django/contrib/gis/locale/kk/LC_MESSAGES/django.mo,sha256=NtgQONp0UncUNvrh0W2R7u7Ja8H33R-a-tsQShWq-QI,1349 +django/contrib/gis/locale/kk/LC_MESSAGES/django.po,sha256=_wNvDk36C_UegH0Ex6ov8P--cKm-J7XtusXYsjVVZno,1974 +django/contrib/gis/locale/km/LC_MESSAGES/django.mo,sha256=T0aZIZ_gHqHpQyejnBeX40jdcfhrCOjgKjNm2hLrpNE,459 +django/contrib/gis/locale/km/LC_MESSAGES/django.po,sha256=7ARjFcuPQJG0OGLJu9pVfSiAwc2Q-1tT6xcLeKeom1c,1467 +django/contrib/gis/locale/kn/LC_MESSAGES/django.mo,sha256=EkJRlJJSHZJvNZJuOLpO4IIUEoyi_fpKwNWe0OGFcy4,461 +django/contrib/gis/locale/kn/LC_MESSAGES/django.po,sha256=NM3FRy48SSVsUIQc8xh0ZKAgTVAP8iK8elp7NQ6-IdE,1469 +django/contrib/gis/locale/ko/LC_MESSAGES/django.mo,sha256=7SSr6cP3b0vM5z224tJIqmwwWWHGoU0al4LNGbwxtQM,1975 +django/contrib/gis/locale/ko/LC_MESSAGES/django.po,sha256=aXVjYftxj1FONeotkCZkAoQxCCFs5cYb4ceGPSnUScA,2299 +django/contrib/gis/locale/lb/LC_MESSAGES/django.mo,sha256=XAyZQUi8jDr47VpSAHp_8nQb0KvSMJHo5THojsToFdk,474 +django/contrib/gis/locale/lb/LC_MESSAGES/django.po,sha256=5rfudPpH4snSq2iVm9E81EBwM0S2vbkY2WBGhpuga1Q,1482 +django/contrib/gis/locale/lt/LC_MESSAGES/django.mo,sha256=fd8XOToFWDIDe-aklIn3mgvO-uyqgfqSmWDcNURfrNM,2045 +django/contrib/gis/locale/lt/LC_MESSAGES/django.po,sha256=Dvoe-wywlJzqXJPBqia5O98CgV3iDQUWGKJE46HsMPA,2279 +django/contrib/gis/locale/lv/LC_MESSAGES/django.mo,sha256=vE7Ygn4CAsS7tQkrPb8kGVEchTioQxtZTxatJZXVL5k,2057 +django/contrib/gis/locale/lv/LC_MESSAGES/django.po,sha256=6qKFeIFtMexJFuz3TSxGL9vkKYmz_lCr9pDfLPTLzYw,2200 +django/contrib/gis/locale/mk/LC_MESSAGES/django.mo,sha256=PVw73LWWNvaNd95zQbAIA7LA7JNmpf61YIoyuOca2_s,2620 +django/contrib/gis/locale/mk/LC_MESSAGES/django.po,sha256=eusHVHXHRfdw1_JyuBW7H7WPCHFR_z1NBqr79AVqAk0,2927 +django/contrib/gis/locale/ml/LC_MESSAGES/django.mo,sha256=Kl9okrE3AzTPa5WQ-IGxYVNSRo2y_VEdgDcOyJ_Je78,2049 +django/contrib/gis/locale/ml/LC_MESSAGES/django.po,sha256=PWg8atPKfOsnVxg_uro8zYO9KCE1UVhfy_zmCWG0Bdk,2603 +django/contrib/gis/locale/mn/LC_MESSAGES/django.mo,sha256=-Nn70s2On94C-jmSZwTppW2q7_W5xgMpzPXYmxZSKXs,2433 +django/contrib/gis/locale/mn/LC_MESSAGES/django.po,sha256=I0ZHocPlRYrogJtzEGVPsWWHpoVEa7e2KYP9Ystlj60,2770 +django/contrib/gis/locale/mr/LC_MESSAGES/django.mo,sha256=sO2E__g61S0p5I6aEwnoAsA3epxv7_Jn55TyF0PZCUA,468 +django/contrib/gis/locale/mr/LC_MESSAGES/django.po,sha256=McWaLXfWmYTDeeDbIOrV80gwnv07KCtNIt0OXW_v7vw,1476 +django/contrib/gis/locale/my/LC_MESSAGES/django.mo,sha256=i6JlVxP_finJ6vMVsv_csixtZa1qGs3ezVJZDIsE7G8,461 +django/contrib/gis/locale/my/LC_MESSAGES/django.po,sha256=eqtpOzHodtyr15aVOVVMtirg6XSUm6n7BsQpSIZ6D2k,1469 +django/contrib/gis/locale/nb/LC_MESSAGES/django.mo,sha256=AmVS8gbKlqYHpr-v2UdOuYt17wO2WMhVJzfDWX6Tl78,1930 +django/contrib/gis/locale/nb/LC_MESSAGES/django.po,sha256=psdNBDn8IvOyAChU7NqUKIOIssUocfQKSsXnt-89fd8,2146 +django/contrib/gis/locale/ne/LC_MESSAGES/django.mo,sha256=nB-Ta8w57S6hIAhAdWZjDT0Dg6JYGbAt5FofIhJT7k8,982 +django/contrib/gis/locale/ne/LC_MESSAGES/django.po,sha256=eMH6uKZZZYn-P3kmHumiO4z9M4923s9tWGhHuJ0eWuI,1825 +django/contrib/gis/locale/nl/LC_MESSAGES/django.mo,sha256=CFaHe1W7ULU7jUefJeyqykCqCofePc9EZv_YEGjDd-g,1992 +django/contrib/gis/locale/nl/LC_MESSAGES/django.po,sha256=pRNsGMNCI3G1lc9q3_a-Y4pRlABO8Q73XfOJHN0QMnk,2348 +django/contrib/gis/locale/nn/LC_MESSAGES/django.mo,sha256=32x5_V6o_BQBefFmyajOg3ssClw-DMEdvzXkY90fV3Q,1202 +django/contrib/gis/locale/nn/LC_MESSAGES/django.po,sha256=NWA3nD8ZwAZxG9EkE6TW0POJgB6HTeC4J6GOlTMD7j4,1796 +django/contrib/gis/locale/os/LC_MESSAGES/django.mo,sha256=02NpGC8WPjxmPqQkfv9Kj2JbtECdQCtgecf_Tjk1CZc,1594 +django/contrib/gis/locale/os/LC_MESSAGES/django.po,sha256=JBIsv5nJg3Wof7Xy7odCI_xKRBLN_Hlbb__kNqNW4Xw,2161 +django/contrib/gis/locale/pa/LC_MESSAGES/django.mo,sha256=JR1NxG5_h_dFE_7p6trBWWIx-QqWYIgfGomnjaCsWAA,1265 +django/contrib/gis/locale/pa/LC_MESSAGES/django.po,sha256=Ejd_8dq_M0E9XFijk0qj4oC-8_oe48GWWHXhvOrFlnY,1993 +django/contrib/gis/locale/pl/LC_MESSAGES/django.mo,sha256=aLv23YOFYR22AY3BLP5xcDHKTqc_GVjm_FZdTNr0-Jk,2138 +django/contrib/gis/locale/pl/LC_MESSAGES/django.po,sha256=uEQ59IxEJATHQOsZcvNRdR8kd-Iv7PRTHw3dR68GID8,2497 +django/contrib/gis/locale/pt/LC_MESSAGES/django.mo,sha256=sE5PPOHzfT8QQXuV5w0m2pnBTRhKYs_vFhk8p_A4Jg0,2036 +django/contrib/gis/locale/pt/LC_MESSAGES/django.po,sha256=TFt6Oj1NlCM3pgs2dIgFZR3S3y_g7oR7S-XRBlM4924,2443 +django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.mo,sha256=hsj4npR8H05FKM0fiQf83kSip7a8871_AQUY5dyAqj8,2011 +django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.po,sha256=NLnhgZjJxx0EUy4s_8sqQFSWOa0or0CiEjUoPlTH4pc,2311 +django/contrib/gis/locale/ro/LC_MESSAGES/django.mo,sha256=YSbX0Y_T44pBLpKmaVN7leNXBDwHZB4EWQaU9Go3szM,2047 +django/contrib/gis/locale/ro/LC_MESSAGES/django.po,sha256=QBwAO5P2FYzCSoXF52MSEtncAAimw9YQKO8HvCPbF5U,2260 +django/contrib/gis/locale/ru/LC_MESSAGES/django.mo,sha256=5uccCKKgLtin1jcp_1j4aiv5FEzX6LxRNEL3i11m7ts,2583 +django/contrib/gis/locale/ru/LC_MESSAGES/django.po,sha256=Pvs1ADP2MtalAHAZ04cpQeQPXsKBCVeggPW8GP-nsPQ,2862 +django/contrib/gis/locale/sk/LC_MESSAGES/django.mo,sha256=_LWDbFebq9jEa1YYsSMOruTk0oRaU9sxPGml1YPuink,2010 +django/contrib/gis/locale/sk/LC_MESSAGES/django.po,sha256=Iz_iHKaDzNhLM5vJd3bbzsCXzKhoEGeqECZxEgBIiGc,2244 +django/contrib/gis/locale/sl/LC_MESSAGES/django.mo,sha256=9-efMT2MoEMa5-SApGWTRiyfvI6vmZzLeMg7qGAr7_A,2067 +django/contrib/gis/locale/sl/LC_MESSAGES/django.po,sha256=foZY7N5QkuAQS7nc3CdnJerCPk-lhSb1xZqU11pNGNo,2303 +django/contrib/gis/locale/sq/LC_MESSAGES/django.mo,sha256=LVdXsubPRVA-1-VeEJEWoGoAWR9kK072boRKaqzyb28,1918 +django/contrib/gis/locale/sq/LC_MESSAGES/django.po,sha256=PFeGnVwfzGcFRm2SCV8-iB5z9TVwyN66qz5X9NClQkQ,2148 +django/contrib/gis/locale/sr/LC_MESSAGES/django.mo,sha256=uoDnM1GV8llXNiLCcB9pKaz-nDVXler4gS1SqmpLAig,1700 +django/contrib/gis/locale/sr/LC_MESSAGES/django.po,sha256=irXO-5rFtSqy0aoN2zhc32kJ4zWlPJYSb-zgEKJtO-4,2239 +django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=i-pBCBcNZMz-3rRcQEJrXZLmPHF7YtIEJnzcsAzgma8,1470 +django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.po,sha256=MpcOTqw1HiPzr7IikrEwm63x4ypUv9BnQCOKYSjqL0A,2009 +django/contrib/gis/locale/sv/LC_MESSAGES/django.mo,sha256=6TDgv3FdLP-BvB5BszCB7JcNzk2oDLXxuAkXgg7tYRY,1733 +django/contrib/gis/locale/sv/LC_MESSAGES/django.po,sha256=oY3QRFadk2S9aBs9zPrQRN9glDbqRD80srUFlqXffy0,2113 +django/contrib/gis/locale/sw/LC_MESSAGES/django.mo,sha256=uBhpGHluGwYpODTE-xhdJD2e6PHleN07wLE-kjrXr_M,1426 +django/contrib/gis/locale/sw/LC_MESSAGES/django.po,sha256=nHXQQMYYXT1ec3lIBxQIDIAwLtXucX47M4Cozy08kko,1889 +django/contrib/gis/locale/ta/LC_MESSAGES/django.mo,sha256=Rboo36cGKwTebe_MiW4bOiMsRO2isB0EAyJJcoy_F6s,466 +django/contrib/gis/locale/ta/LC_MESSAGES/django.po,sha256=sLYW8_5BSVoSLWUr13BbKRe0hNJ_cBMEtmjCPBdTlAk,1474 +django/contrib/gis/locale/te/LC_MESSAGES/django.mo,sha256=xDkaSztnzQ33Oc-GxHoSuutSIwK9A5Bg3qXEdEvo4h4,824 +django/contrib/gis/locale/te/LC_MESSAGES/django.po,sha256=nYryhktJumcwtZDGZ43xBxWljvdd-cUeBrAYFZOryVg,1772 +django/contrib/gis/locale/th/LC_MESSAGES/django.mo,sha256=0kekAr7eXc_papwPAxEZ3TxHOBg6EPzdR3q4hmAxOjg,1835 +django/contrib/gis/locale/th/LC_MESSAGES/django.po,sha256=WJPdoZjLfvepGGMhfBB1EHCpxtxxfv80lRjPG9kGErM,2433 +django/contrib/gis/locale/tr/LC_MESSAGES/django.mo,sha256=cWFAsuse0yQPdsVGAxFbPOBDxLapMnvMsa50-4-gGYk,2024 +django/contrib/gis/locale/tr/LC_MESSAGES/django.po,sha256=Vqsqw1yPPdZqd5unj76FQAbuQrxKKnxtpQS_33nBGRQ,2259 +django/contrib/gis/locale/tt/LC_MESSAGES/django.mo,sha256=cGVPrWCe4WquVV77CacaJwgLSnJN0oEAepTzNMD-OWk,1470 +django/contrib/gis/locale/tt/LC_MESSAGES/django.po,sha256=98yeRs-JcMGTyizOpEuQenlnWJMYTR1-rG3HGhKCykk,2072 +django/contrib/gis/locale/udm/LC_MESSAGES/django.mo,sha256=I6bfLvRfMn79DO6bVIGfYSVeZY54N6c8BNO7OyyOOsw,462 +django/contrib/gis/locale/udm/LC_MESSAGES/django.po,sha256=B1PCuPYtNOrrhu4fKKJgkqxUrcEyifS2Y3kw-iTmSIk,1470 +django/contrib/gis/locale/uk/LC_MESSAGES/django.mo,sha256=5uJgGDDQi8RTRNxbQToKE7FVLOK73w5Wgmf6zCa66Uk,2455 +django/contrib/gis/locale/uk/LC_MESSAGES/django.po,sha256=fsxwSb93uD59ms8jdO84qx8C5rKy74TDcH12yaKs8mY,2873 +django/contrib/gis/locale/ur/LC_MESSAGES/django.mo,sha256=tB5tz7EscuE9IksBofNuyFjk89-h5X7sJhCKlIho5SY,1410 +django/contrib/gis/locale/ur/LC_MESSAGES/django.po,sha256=16m0t10Syv76UcI7y-EXfQHETePmrWX4QMVfyeuX1fQ,2007 +django/contrib/gis/locale/vi/LC_MESSAGES/django.mo,sha256=NT5T0FRCC2XINdtaCFCVUxb5VRv8ta62nE8wwSHGTrc,1384 +django/contrib/gis/locale/vi/LC_MESSAGES/django.po,sha256=y77GtqH5bv1wR78xN5JLHusmQzoENTH9kLf9Y3xz5xk,1957 +django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=rjeFyj0X_v3qP8NHY8L-szEEYmbfB4jO_wcV8f2_ntY,1879 +django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po,sha256=GFZzUTmlQXZ1pDhwaYgH9_Lr8OQp9s402jHfHmX9Jso,2245 +django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=SRSpoSMtx8PDTpHroMUymZ_-Eu7zzjqPDBiAm3XSV2I,2012 +django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po,sha256=b6NQK1--AC67NiUaOew_ajDIj5uSrPzW_rUpLU71yA8,2277 +django/contrib/gis/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/management/commands/inspectdb.py,sha256=Z2Do56mM2tBvnujnCk5C7JhI3z_LQWB4L0M626hmumk,750 +django/contrib/gis/management/commands/ogrinspect.py,sha256=Vv-MAfE0uNieJF6W9gQ4TO-IHCCQvL1qAU7lyEK4izk,5848 +django/contrib/gis/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/gis/serializers/geojson.py,sha256=J7XIwlzEyhKJF7x-4H-RjnXazkNybsX-vFpxz5InNQY,2716 +django/contrib/gis/sitemaps/__init__.py,sha256=eVHUxfzw1VQn6bqH3D8bE471s8bNJSB3phuAI-zg9gA,138 +django/contrib/gis/sitemaps/kml.py,sha256=kbKyIt-_u7zZJB8uPG4Cfi7axA5ms2ltdonctm5zewA,2413 +django/contrib/gis/sitemaps/views.py,sha256=4xrd2NEQjsPx9582Pa0R2IEzx5NpP5unqCUsPjURgto,2313 +django/contrib/gis/static/gis/css/ol3.css,sha256=pJADzfx4_NL2C1onFpU-muconAA5NThN4sEqSNyY_So,657 +django/contrib/gis/static/gis/img/draw_line_off.svg,sha256=6XW83xsR5-Guh27UH3y5UFn9y9FB9T_Zc4kSPA-xSOI,918 +django/contrib/gis/static/gis/img/draw_line_on.svg,sha256=Hx-pXu4ped11esG6YjXP1GfZC5q84zrFQDPUo1C7FGA,892 +django/contrib/gis/static/gis/img/draw_point_off.svg,sha256=PICrywZPwuBkaQAKxR9nBJ0AlfTzPHtVn_up_rSiHH4,803 +django/contrib/gis/static/gis/img/draw_point_on.svg,sha256=raGk3oc8w87rJfLdtZ4nIXJyU3OChCcTd4oH-XAMmmM,803 +django/contrib/gis/static/gis/img/draw_polygon_off.svg,sha256=gnVmjeZE2jOvjfyx7mhazMDBXJ6KtSDrV9f0nSzkv3A,981 +django/contrib/gis/static/gis/img/draw_polygon_on.svg,sha256=ybJ9Ww7-bsojKQJtjErLd2cCOgrIzyqgIR9QNhH_ZfA,982 +django/contrib/gis/static/gis/js/OLMapWidget.js,sha256=-Ry6ICBpsfq3XoAU2SshQeCyMuaGd1ZlgPgHapgKFWU,8981 +django/contrib/gis/templates/gis/openlayers-osm.html,sha256=TeiUqCjt73W8Hgrp_6zAtk_ZMBxskNN6KHSmnJ1-GD4,378 +django/contrib/gis/templates/gis/openlayers.html,sha256=P_sBibtZ8ybiBG6dtYbVhRgDYJE-oKYPzl452xad5Ok,1912 +django/contrib/gis/templates/gis/admin/openlayers.html,sha256=GsjT4sNA-2iHRe7PJKsBIGDEAa29vGXwFNNACowj1lw,1867 +django/contrib/gis/templates/gis/admin/openlayers.js,sha256=KoT3VUMAez9-5QoT5U6OJXzt3MLxlTrJMMwINjQ_k7M,8975 +django/contrib/gis/templates/gis/admin/osm.html,sha256=yvYyZPmgP64r1JT3eZCDun5ENJaaN3d3wbTdCxIOvSo,111 +django/contrib/gis/templates/gis/admin/osm.js,sha256=0wFRJXKZ2plp7tb0F9fgkMzp4NrKZXcHiMkKDJeHMRw,128 +django/contrib/gis/templates/gis/kml/base.kml,sha256=VYnJaGgFVHRzDjiFjbcgI-jxlUos4B4Z1hx_JeI2ZXU,219 +django/contrib/gis/templates/gis/kml/placemarks.kml,sha256=TEC81sDL9RK2FVeH0aFJTwIzs6_YWcMeGnHkACJV1Uc,360 +django/contrib/gis/utils/__init__.py,sha256=OmngSNhywEjrNKGXysMlq_iFYvx7ycDWojpCqF6JYLo,579 +django/contrib/gis/utils/layermapping.py,sha256=rvQRfEa5lBrnXKMPjyrG5NmiV3Au_6YwJvdU7YgCePQ,27125 +django/contrib/gis/utils/ogrinfo.py,sha256=VmbxQ5Ri4zjtTxNymuxJp3t3cAntUC83YBMp9PuMMSU,1934 +django/contrib/gis/utils/ogrinspect.py,sha256=DEitGcJBpsFKWjHzFwQQukIuwBR90n2-NTKt0vYU-VY,8935 +django/contrib/gis/utils/srs.py,sha256=SIVPj3MmKhp-C9IPdM6o5KRRdj38fYIpmo-FjzrwBCM,3024 +django/contrib/humanize/__init__.py,sha256=88gkwJxqbRpmigRG0Gu3GNQkXGtTNpica4nf3go-_cI,67 +django/contrib/humanize/apps.py,sha256=ODfDrSH8m3y3xYlyIIwm7DZmrNcoYKG2K8l5mU64V7g,194 +django/contrib/humanize/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 +django/contrib/humanize/locale/af/LC_MESSAGES/django.po,sha256=_77Io7jI-3P2kHpR-ZFd8jw0B1kQxhLiUWR3B2Bud8g,4726 +django/contrib/humanize/locale/ar/LC_MESSAGES/django.mo,sha256=YSyNaNTh2nILzWMH0F61fl7jX0yb4erZhQO1EBo2HiU,7691 +django/contrib/humanize/locale/ar/LC_MESSAGES/django.po,sha256=VAN7tVSYQZfZV5RfTe-wvQOVA9Q1ylLQRrFb9ihMpqs,11035 +django/contrib/humanize/locale/ast/LC_MESSAGES/django.mo,sha256=WvBk8V6g1vgzGqZ_rR-4p7SMh43PFnDnRhIS9HSwdoQ,3468 +django/contrib/humanize/locale/ast/LC_MESSAGES/django.po,sha256=S9lcUf2y5wR8Ufa-Rlz-M73Z3bMo7zji_63cXwtDK2I,5762 +django/contrib/humanize/locale/az/LC_MESSAGES/django.mo,sha256=_6wnH7WjAaZe5rZYn79VyioxWkMeoZTjhhF-AkbkQAU,4102 +django/contrib/humanize/locale/az/LC_MESSAGES/django.po,sha256=c0ZcxuMs82_JUksowREIsrHajdHZFlyaxFkBbw_6K90,6074 +django/contrib/humanize/locale/be/LC_MESSAGES/django.mo,sha256=HEtO6H9OxRn6ybMtRjkD6deu7sMA49GY988Nc5r2nNY,6681 +django/contrib/humanize/locale/be/LC_MESSAGES/django.po,sha256=GM21lBORfcLeQMaif6tuxrPd45srvSDvzaThGCdjs7o,9256 +django/contrib/humanize/locale/bg/LC_MESSAGES/django.mo,sha256=1mRaFPsm5ITFyfdFdqdeY-_Om2OYKua5YWSEP192WR8,4645 +django/contrib/humanize/locale/bg/LC_MESSAGES/django.po,sha256=kTyRblfWlBUMxd_czXTOe-39CcX68X6e4DTmYm3V2gc,6684 +django/contrib/humanize/locale/bn/LC_MESSAGES/django.mo,sha256=jbL4ucZxxtexI10jgldtgnDie3I23XR3u-PrMMMqP6U,4026 +django/contrib/humanize/locale/bn/LC_MESSAGES/django.po,sha256=0l4yyy7q3OIWyFk_PW0y883Vw2Pmu48UcnLM9OBxB68,6545 +django/contrib/humanize/locale/br/LC_MESSAGES/django.mo,sha256=o4it7f3WLq3THeeEZw083KnkuZUqD_xWipLVyMu9ONU,4069 +django/contrib/humanize/locale/br/LC_MESSAGES/django.po,sha256=oHgr0-e4-Xu_hIWqCtKk_SBNV57MU93GNhuN4V4S1zg,5957 +django/contrib/humanize/locale/bs/LC_MESSAGES/django.mo,sha256=1-RNRHPgZR_9UyiEn9Djp4mggP3fywKZho45E1nGMjM,1416 +django/contrib/humanize/locale/bs/LC_MESSAGES/django.po,sha256=M017Iu3hyXmINZkhCmn2he-FB8rQ7rXN0KRkWgrp7LI,5498 +django/contrib/humanize/locale/ca/LC_MESSAGES/django.mo,sha256=U3wnUZ-xwFZsYCd2Brr3rPVMVlatpnuXRYMCHYtB240,4040 +django/contrib/humanize/locale/ca/LC_MESSAGES/django.po,sha256=YgPF3fjBFqj4wmZ1r0I4sS9fRv65my9so4fjyfGbH6o,6025 +django/contrib/humanize/locale/cs/LC_MESSAGES/django.mo,sha256=SsuK8dcYBRPs2_sT8Xnbq2k5swS4Sm1XUsdIQFXl0W0,4706 +django/contrib/humanize/locale/cs/LC_MESSAGES/django.po,sha256=olnH60vKAYaPcP2vYomYuA8q8iJnr2BqdpNIcErIx0k,6976 +django/contrib/humanize/locale/cy/LC_MESSAGES/django.mo,sha256=VjJiaUUhvX9tjOEe6x2Bdp7scvZirVcUsA4-iE2-ElQ,5241 +django/contrib/humanize/locale/cy/LC_MESSAGES/django.po,sha256=sylmceSq-NPvtr_FjklQXoBAfueKu7hrjEpMAsVbQC4,7813 +django/contrib/humanize/locale/da/LC_MESSAGES/django.mo,sha256=J2fWZWpFuD0XvGi5B8cm3-xrDqAHk2Qlfz-Ciwblvr8,4108 +django/contrib/humanize/locale/da/LC_MESSAGES/django.po,sha256=MwloOPiuBPv1DAC12FEqTOHZWkFkpl5jc8naP_BLvk8,6120 +django/contrib/humanize/locale/de/LC_MESSAGES/django.mo,sha256=ZDdNGQvTBkJDDoT1Bq9XxEMpxs4sFY10wuOfSvlTeoQ,4152 +django/contrib/humanize/locale/de/LC_MESSAGES/django.po,sha256=N_Tl5t0zQYGS7iWNIi68TSrA8-Nvv0oJ38nbz64p1wE,6118 +django/contrib/humanize/locale/dsb/LC_MESSAGES/django.mo,sha256=wD8ibBn17MzmF1HjqqksgFUsSwjUdS_JSOWlAQGK34g,5467 +django/contrib/humanize/locale/dsb/LC_MESSAGES/django.po,sha256=YTU1ebIY0g5RSlZowpHwSQtGpxeVOXLIFHNLUm5QvVY,8033 +django/contrib/humanize/locale/el/LC_MESSAGES/django.mo,sha256=xibi0Bv45kBRYEyFnkgNFf0InnGJyv9KQIWDlfj7LUM,5350 +django/contrib/humanize/locale/el/LC_MESSAGES/django.po,sha256=WW9fqED-lBmgvt6UfGTo-B_KGn_OQXRUSHEUZPXbn9g,7428 +django/contrib/humanize/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/humanize/locale/en/LC_MESSAGES/django.po,sha256=2ykg4liEm0g1uv0iZlDXvIZQOvrT3AxMhgnm1QfTy5Y,7085 +django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 +django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.po,sha256=dVOlMtk3-d-KrNLM5Rji-Xrk6Y_n801ofjGQvxSu67M,4742 +django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.mo,sha256=mkx192XQM3tt1xYG8EOacMfa-BvgzYCbSsJQsWZGeAo,3461 +django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.po,sha256=MArKzXxY1104jxaq3kvDZs2WzOGYxicfJxFKsLzFavw,5801 +django/contrib/humanize/locale/eo/LC_MESSAGES/django.mo,sha256=Htv0o1DV8no2MfC8M-lfl8HPGZc6HIVxMGIjVSwmyy8,4107 +django/contrib/humanize/locale/eo/LC_MESSAGES/django.po,sha256=FFtvhZULWsOgl0XSEBngqs3BRp_l7WUiRcXDzbP7K1w,6016 +django/contrib/humanize/locale/es/LC_MESSAGES/django.mo,sha256=0aram7l_JemTmkw04jdlWXh1DOlmPWQD7_O3srdOP6o,4183 +django/contrib/humanize/locale/es/LC_MESSAGES/django.po,sha256=bOM7KA6NTTwRGbR1o0o-5JrXM_mOIIPGxASwtoTl_9o,6306 +django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.mo,sha256=J_GRAcxrsRqeVJIPcA16DeDPWuh8EAzX6UW4ncv8yFI,4254 +django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.po,sha256=LgnGvLxoWS2hh7_26pTpyCKtkcmqUWGaYrvLn2pqgWU,6270 +django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.mo,sha256=2GhQNtNOjK5mTov5RvnuJFTYbdoGBkDGLxzvJ8Vsrfs,4203 +django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.po,sha256=JBf2fHO8jWi6dFdgZhstKXwyot_qT3iJBixQZc3l330,6326 +django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.mo,sha256=82DL2ztdq10X5RIceshK1nO99DW5628ZIjaN8Xzp9ok,3939 +django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.po,sha256=-O7AQluA5Kce9-bd04GN4tfQKoCxb8Sa7EZR6TZBCdM,6032 +django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.mo,sha256=cJECzKpD99RRIpVFKQW65x0Nvpzrm5Fuhfi-nxOWmkM,942 +django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.po,sha256=tDdYtvRILgeDMgZqKHSebe7Z5ZgI1bZhDdvGVtj_anM,4832 +django/contrib/humanize/locale/et/LC_MESSAGES/django.mo,sha256=WBBZ7Uk5nL-Z6qfYQ-LAtpcxyLy4LC36gKgLn1f5in8,4197 +django/contrib/humanize/locale/et/LC_MESSAGES/django.po,sha256=n_nuAVBjwJd-RZXrbINpxubHetNJijvg5NJRUmECmGc,6213 +django/contrib/humanize/locale/eu/LC_MESSAGES/django.mo,sha256=pw2s1xZV8yS4QaKCS-qq6aihFDGObWcKjPSVLcgqN-E,4041 +django/contrib/humanize/locale/eu/LC_MESSAGES/django.po,sha256=LoWxuo_7aXHEAIJRu4S9rKqdvnXr4VMOqHjMd70OnA0,6119 +django/contrib/humanize/locale/fa/LC_MESSAGES/django.mo,sha256=zQlQmEyZ0ErUlfLg62AqOf5w8EnbgTw5VpuOEBQlGXo,3754 +django/contrib/humanize/locale/fa/LC_MESSAGES/django.po,sha256=iF8fvnzRtCx_HYOZhXbXu10T9R6jc7ZmvKItAicFWEg,5538 +django/contrib/humanize/locale/fi/LC_MESSAGES/django.mo,sha256=qlx3w4Y0CNcC5rIrbig_sqCvKAwh_IS-YseoQX3zymc,4177 +django/contrib/humanize/locale/fi/LC_MESSAGES/django.po,sha256=6xTZvvC_VxAyAQpUibJUDu4V2Gdryy8vJc2OviaYNnw,6180 +django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo,sha256=PFCsv1q5W_Y5-2cHfyle9bQyLMz_IxnI3q99kJ7L038,4174 +django/contrib/humanize/locale/fr/LC_MESSAGES/django.po,sha256=TFedN6WujsxMXJpevuHLM7xhoeeMT7fIAlo91b5o8lk,6178 +django/contrib/humanize/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 +django/contrib/humanize/locale/fy/LC_MESSAGES/django.po,sha256=pPvcGgBWiZwQ5yh30OlYs-YZUd_XsFro71T9wErVv0M,4732 +django/contrib/humanize/locale/ga/LC_MESSAGES/django.mo,sha256=vzp6R9xVQ6KRr5NMSkVCQfDea6ZvdoFiOuenzSHyZmI,4929 +django/contrib/humanize/locale/ga/LC_MESSAGES/django.po,sha256=fKw4frizXXcH-B9TKdFQXeoBhSodgraE_g37yuwXTHs,8304 +django/contrib/humanize/locale/gd/LC_MESSAGES/django.mo,sha256=ZMkrFR1irolryUIAZNb4XTpv1f0HRFK70VVNulqE2lI,5545 +django/contrib/humanize/locale/gd/LC_MESSAGES/django.po,sha256=OS7umBbdKJjPvA39Zn38MkdOAPtyLKz8MNmgN2Pwsms,8086 +django/contrib/humanize/locale/gl/LC_MESSAGES/django.mo,sha256=ChoVHsJ_bVIaHtHxhxuUK99Zu1tvRu0iY5vhtB1LDMg,3474 +django/contrib/humanize/locale/gl/LC_MESSAGES/django.po,sha256=U5D505aBKEdg80BGWddcwWuzmYdoNHx1WEPzVHQfbTE,5903 +django/contrib/humanize/locale/he/LC_MESSAGES/django.mo,sha256=9jTg6s4yQ4f4idhWe8oGDxuQ5P-agqWxAxbv06n_klU,4525 +django/contrib/humanize/locale/he/LC_MESSAGES/django.po,sha256=EWmtd-po5Le2ZC7OEz0LCNaLadS7enVop6yUlV1pxhA,6510 +django/contrib/humanize/locale/hi/LC_MESSAGES/django.mo,sha256=qrzm-6vXIUsxA7nOxa-210-6iO-3BPBj67vKfhTOPrY,4131 +django/contrib/humanize/locale/hi/LC_MESSAGES/django.po,sha256=BrypbKaQGOyY_Gl1-aHXiBVlRqrbSjGfZ2OK8omj_9M,6527 +django/contrib/humanize/locale/hr/LC_MESSAGES/django.mo,sha256=29XTvFJHex31hbu2qsOfl5kOusz-zls9eqlxtvw_H0s,1274 +django/contrib/humanize/locale/hr/LC_MESSAGES/django.po,sha256=OuEH4fJE6Fk-s0BMqoxxdlUAtndvvKK7N8Iy-9BP3qA,5424 +django/contrib/humanize/locale/hsb/LC_MESSAGES/django.mo,sha256=aQsAoaJWWQ9XMl5MS8hLXJh1jh1at0ar8RwFq9K6Usw,5530 +django/contrib/humanize/locale/hsb/LC_MESSAGES/django.po,sha256=LpEwVdqV3JsobMp_yEUGBgAY5Wxep1mZtoivYTD4mnQ,8096 +django/contrib/humanize/locale/hu/LC_MESSAGES/django.mo,sha256=-DeFtfmzqaT_H5ZkORSFshsQQIP9roBcLM2Ug7yQ4no,4086 +django/contrib/humanize/locale/hu/LC_MESSAGES/django.po,sha256=6vGKFvNDvijsgNEJcMJ2VTCEvIynq2QqT3-WU4lYUsI,6062 +django/contrib/humanize/locale/hy/LC_MESSAGES/django.mo,sha256=bIhc8KbvaJystkLcJfZt5vJdQ4uL2XfXyuVEIbZP59c,1058 +django/contrib/humanize/locale/hy/LC_MESSAGES/django.po,sha256=EpFGmcz_Wt-kFQmXtV_OVUJDrhiz3WkciHgLeDboUEs,4860 +django/contrib/humanize/locale/ia/LC_MESSAGES/django.mo,sha256=d0m-FddFnKp08fQYQSC9Wr6M4THVU7ibt3zkIpx_Y_A,4167 +django/contrib/humanize/locale/ia/LC_MESSAGES/django.po,sha256=qX6fAZyn54hmtTU62oJcHF8p4QcYnoO2ZNczVjvjOeE,6067 +django/contrib/humanize/locale/id/LC_MESSAGES/django.mo,sha256=F1JT8OXmLl8XkhOnlHdv0HTeIv1yMalwWdklh2EDdXA,3553 +django/contrib/humanize/locale/id/LC_MESSAGES/django.po,sha256=8CMXZfWpMh8y_MPfZOlW4cylctUuSeKkiDYhk-Nr6zU,5284 +django/contrib/humanize/locale/io/LC_MESSAGES/django.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 +django/contrib/humanize/locale/io/LC_MESSAGES/django.po,sha256=RUs8JkpT0toKOLwdv1oCbcBP298EOk02dkdNSJiC-_A,4720 +django/contrib/humanize/locale/is/LC_MESSAGES/django.mo,sha256=xc_nb854oMBP_bcFq-3aYUHjBgau18XsxbmS7tnSOb0,3586 +django/contrib/humanize/locale/is/LC_MESSAGES/django.po,sha256=GgWsXviADjyKEHQ99jXhQBeSaIUF45HCMOm-IVChT1k,6027 +django/contrib/humanize/locale/it/LC_MESSAGES/django.mo,sha256=NstBWl50Vp62dm8AP2GmLNABjkTu4o4vzwVHYFn-YmQ,4690 +django/contrib/humanize/locale/it/LC_MESSAGES/django.po,sha256=SMBC53O2Ze4N1RbIgxxAH9eZ5YvjyPIoz0kal6p7aus,6877 +django/contrib/humanize/locale/ja/LC_MESSAGES/django.mo,sha256=Z712qDg5UNqsCOJukUk6JQVjrjlegE4vkEfSBLWjZco,3678 +django/contrib/humanize/locale/ja/LC_MESSAGES/django.po,sha256=M64-U-_x1PWYPsVWCpNKtYyhSCLHuxB1Lqt4y4VW-K4,5323 +django/contrib/humanize/locale/ka/LC_MESSAGES/django.mo,sha256=I_5NXFxdCGnJKI29_h3OgemK9KulPiv0P60qEQjdra8,4139 +django/contrib/humanize/locale/ka/LC_MESSAGES/django.po,sha256=wUMRbhz5wpw-Rn8WepMIyADzgOUD7RLu3WxAW6t93p4,5740 +django/contrib/humanize/locale/kk/LC_MESSAGES/django.mo,sha256=uP7HkHrdX0b7z2MsxSuHyDGBFYxZPckBhSbgrn7gcok,2106 +django/contrib/humanize/locale/kk/LC_MESSAGES/django.po,sha256=BL9eeoyhV_geughzhF-Zc-_slFDsCZawngCPaeA8tUY,4878 +django/contrib/humanize/locale/km/LC_MESSAGES/django.mo,sha256=mfXs9p8VokORs6JqIfaSSnQshZEhS90rRFhOIHjW7CI,459 +django/contrib/humanize/locale/km/LC_MESSAGES/django.po,sha256=JQBEHtcy-hrV_GVWIjvUJyOf3dZ5jUzzN8DUTAbHKUg,4351 +django/contrib/humanize/locale/kn/LC_MESSAGES/django.mo,sha256=Oq3DIPjgCqkn8VZMb6ael7T8fQ7LnWobPPAZKQSFHl4,461 +django/contrib/humanize/locale/kn/LC_MESSAGES/django.po,sha256=yrXx6TInsxjnyJfhl8sXTLmYedd2jaAku9L_38CKR5A,4353 +django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo,sha256=zNjlVckSQWWpGBMdgp0LNBxosfnlaP8Z0J-20jyWNLE,3673 +django/contrib/humanize/locale/ko/LC_MESSAGES/django.po,sha256=lprgxAY85u1w0ZceHZsnEoZ3WiRxEr8ciU9K9MQyKTE,5344 +django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 +django/contrib/humanize/locale/lb/LC_MESSAGES/django.po,sha256=_y0QFS5Kzx6uhwOnzmoHtCrbufMrhaTLsHD0LfMqtcM,4730 +django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo,sha256=5Iy5CNukpm6h8oIP9xNvXP5kLCp9nfJKyN3qYkFCWas,5036 +django/contrib/humanize/locale/lt/LC_MESSAGES/django.po,sha256=shVVrEuZNDFRQzR8RabtVOf5fOZDJitGFeLV_SawPVQ,7321 +django/contrib/humanize/locale/lv/LC_MESSAGES/django.mo,sha256=ZjMj_0KJke8TwheDUrXIZ5IPlMd22nZBVo739aK5cQU,4848 +django/contrib/humanize/locale/lv/LC_MESSAGES/django.po,sha256=htt4OY9m2zjsW5T_ckINDUSkW4ju91FN00rDePOXs3w,7234 +django/contrib/humanize/locale/mk/LC_MESSAGES/django.mo,sha256=htUgd6rcaeRPDf6UrEb18onz-Ayltw9LTvWRgEkXm08,4761 +django/contrib/humanize/locale/mk/LC_MESSAGES/django.po,sha256=Wl9Rt8j8WA_0jyxKCswIovSiCQD-ZWFYXbhFsCUKIWo,6665 +django/contrib/humanize/locale/ml/LC_MESSAGES/django.mo,sha256=QcVVfN27E0YIc_pdCJthRXo_iDizt36qkElzHuOGYsk,5077 +django/contrib/humanize/locale/ml/LC_MESSAGES/django.po,sha256=gYQAu95Pu-VPWUZFDb7eF8pkwct0i1OSMqYByxJdI0E,7420 +django/contrib/humanize/locale/mn/LC_MESSAGES/django.mo,sha256=odf7zKCb8BS_HWZWQngzYxogRDNBGw6-d65Asfuy-_4,4613 +django/contrib/humanize/locale/mn/LC_MESSAGES/django.po,sha256=PJzeZnx5jWNppTV1OcwSGpqqqnCpBMEAloPRdofkQGE,6603 +django/contrib/humanize/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 +django/contrib/humanize/locale/mr/LC_MESSAGES/django.po,sha256=M44sYiBJ7woVZZlDO8rPDQmS_Lz6pDTCajdheyxtdaI,4724 +django/contrib/humanize/locale/my/LC_MESSAGES/django.mo,sha256=55CWHz34sy9k6TfOeVI9GYvE9GRa3pjSRE6DSPk9uQ8,3479 +django/contrib/humanize/locale/my/LC_MESSAGES/django.po,sha256=jCiDhSqARfqKcMLEHJd-Xe6zo3Uc9QpiCh3BbAAA5UE,5433 +django/contrib/humanize/locale/nb/LC_MESSAGES/django.mo,sha256=E5s-_ssH4NicLXQpzv-yVjXhZNV_w0M53trqY8CvcAc,4133 +django/contrib/humanize/locale/nb/LC_MESSAGES/django.po,sha256=vEXWpyGxQeB0kLgjBXc_uSfVay9G8kQT4ZgiPp_vW-c,6084 +django/contrib/humanize/locale/ne/LC_MESSAGES/django.mo,sha256=OR0cBS_sNftLjHBLtQkRsA_SOxlc41G83vBGCvYaG2I,2285 +django/contrib/humanize/locale/ne/LC_MESSAGES/django.po,sha256=t9ukUPhAxkNlLlAMI2ftMUATPBS29UQ7q76WN2rjBWA,5544 +django/contrib/humanize/locale/nl/LC_MESSAGES/django.mo,sha256=MrUWmjHP-PnKHOVw9sv_lY9Zc9C7gc7_Q-pvMv-v_ck,4092 +django/contrib/humanize/locale/nl/LC_MESSAGES/django.po,sha256=-wMck9RFlhmRhNNwgrNtbvq8xSsc7-9enw6R6MFXZUk,6174 +django/contrib/humanize/locale/nn/LC_MESSAGES/django.mo,sha256=_Qbyf366ApSCU09Er6CvEf5WrA8s6ZzsyZXs44BoT10,3482 +django/contrib/humanize/locale/nn/LC_MESSAGES/django.po,sha256=qkEeQKQ8XwPKtTv2Y8RscAnE4QarinOze3Y3BTIEMCk,5818 +django/contrib/humanize/locale/os/LC_MESSAGES/django.mo,sha256=BwS3Mj7z_Fg5s7Qm-bGLVhzYLZ8nPgXoB0gXLnrMGWc,3902 +django/contrib/humanize/locale/os/LC_MESSAGES/django.po,sha256=CGrxyL5l-5HexruOc7QDyRbum7piADf-nY8zjDP9wVM,6212 +django/contrib/humanize/locale/pa/LC_MESSAGES/django.mo,sha256=TH1GkAhaVVLk2jrcqAmdxZprWyikAX6qMP0eIlr2tWM,1569 +django/contrib/humanize/locale/pa/LC_MESSAGES/django.po,sha256=_7oP0Hn-IU7IPLv_Qxg_wstLEdhgWNBBTCWYwSycMb0,5200 +django/contrib/humanize/locale/pl/LC_MESSAGES/django.mo,sha256=LDdQZOQCF8mP_zYa9V-92yzwveCWTNNfDProLGv1twc,5529 +django/contrib/humanize/locale/pl/LC_MESSAGES/django.po,sha256=F4kNtZQzHDszLbqq8HnqkpPmhJz8jcEC5Bunm5PzTKU,8321 +django/contrib/humanize/locale/pt/LC_MESSAGES/django.mo,sha256=DdrToaq5E5Kap-zxhG8wf8zbAc8HZg1lu-2SD9i1i0Y,4154 +django/contrib/humanize/locale/pt/LC_MESSAGES/django.po,sha256=Jea815CpFnPMEUwW9bxGrFXhchmspQADY6_Yw3oajtY,6175 +django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.mo,sha256=YIcwaSVUZsZA7Ewy1hnx0GlsNBSAcP-OuG596Js5XYU,4209 +django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.po,sha256=Ohofjmm5KL5cVMEx6RaOGAINUK8i0TibNqxmKor2Opo,6284 +django/contrib/humanize/locale/ro/LC_MESSAGES/django.mo,sha256=DEGe-uMxn0J32A-4Oxymv_B9ijMzqu1SCL2tx887oxc,4809 +django/contrib/humanize/locale/ro/LC_MESSAGES/django.po,sha256=4QeGoZoQ48-J0BeWhTf4EPrtLMNvCBrxnOxbxEprZVU,7192 +django/contrib/humanize/locale/ru/LC_MESSAGES/django.mo,sha256=iSO02s7aCtRW9B3e8CioHFCfaBC1SsMlOhVs-cWX2XE,6887 +django/contrib/humanize/locale/ru/LC_MESSAGES/django.po,sha256=5AXIQgGoyaHVSLW81HTKrCpegh80FZL4NnIwe3iUxGw,9697 +django/contrib/humanize/locale/sk/LC_MESSAGES/django.mo,sha256=U4iWXostWL1gUvrIbalfqhYjhL0mvlig3mlD1DU8_m8,4762 +django/contrib/humanize/locale/sk/LC_MESSAGES/django.po,sha256=kJUNxtiRawS2QtJqNRq2UtlRwF58kTH_fqPu1pD7t9M,7112 +django/contrib/humanize/locale/sl/LC_MESSAGES/django.mo,sha256=f_07etc_G4OdYiUBKPkPqKm2iINqXoNsHUi3alUBgeo,5430 +django/contrib/humanize/locale/sl/LC_MESSAGES/django.po,sha256=mleF0fvn0oEfszhGLoaQkWofTwZJurKrJlIH8o-6kAI,8166 +django/contrib/humanize/locale/sq/LC_MESSAGES/django.mo,sha256=CRP5lgqDsEGndO2njVsrzz3teaHui_tcXxT2E-x-_pE,4126 +django/contrib/humanize/locale/sq/LC_MESSAGES/django.po,sha256=48tIBBQaneqtWnvldp113UVTYQ6LcDVGmGZJMW1EzvM,6083 +django/contrib/humanize/locale/sr/LC_MESSAGES/django.mo,sha256=cooZLInAmU3nmov6__XS5MOTEN77NPuwNAL1n7XyqJw,542 +django/contrib/humanize/locale/sr/LC_MESSAGES/django.po,sha256=kY7hZI2ci8VP3I1PNXBhGNchggUzIsKl_7VOI-QMeW4,5165 +django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=PaGxGtTZSzguwipvTdOhO7bvM8WlzCWb1RCEaIupRUQ,562 +django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.po,sha256=FrPnMu6xX0NypoRYRAOBhdICGSv8geuHXQKKn3Gd9ck,5185 +django/contrib/humanize/locale/sv/LC_MESSAGES/django.mo,sha256=BwB7K9qfHGNIdP65Pa70lTZRSdhkX5F4eoAZLOtaVSk,4097 +django/contrib/humanize/locale/sv/LC_MESSAGES/django.po,sha256=1l0V8_sXXtqT75eOa6ZyhOm0ltLOP5sK34yDKAjGGf4,6111 +django/contrib/humanize/locale/sw/LC_MESSAGES/django.mo,sha256=cxjSUqegq1JX08xIAUgqq9ByP-HuqaXuxWM8Y2gHdB4,4146 +django/contrib/humanize/locale/sw/LC_MESSAGES/django.po,sha256=bPYrLJ2yY_lZ3y1K-RguNi-qrxq2r-GLlsz1gZcm2A8,6031 +django/contrib/humanize/locale/ta/LC_MESSAGES/django.mo,sha256=1X2vH0iZOwM0uYX9BccJUXqK-rOuhcu5isRzMpnjh2o,466 +django/contrib/humanize/locale/ta/LC_MESSAGES/django.po,sha256=8x1lMzq2KOJveX92ADSuqNmXGIEYf7fZ1JfIJPysS04,4722 +django/contrib/humanize/locale/te/LC_MESSAGES/django.mo,sha256=iKd4dW9tan8xPxgaSoenIGp1qQpvSHHXUw45Tj2ATKQ,1327 +django/contrib/humanize/locale/te/LC_MESSAGES/django.po,sha256=FQdjWKMsiv-qehYZ4AtN9iKRf8Rifzcm5TZzMkQVfQI,5103 +django/contrib/humanize/locale/th/LC_MESSAGES/django.mo,sha256=wg--ON3KI_VvonwNy04eSkKQSGVz89IJF8Kf41WBWzo,3922 +django/contrib/humanize/locale/th/LC_MESSAGES/django.po,sha256=qrDqW3DS1yxUIdUqMKRHygg2kcUXyx3nZuNxsx11tcg,5689 +django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo,sha256=feX8ZCE3GJqnN71FLVcLesBuERKmi9Uutj3ebW27Nns,4109 +django/contrib/humanize/locale/tr/LC_MESSAGES/django.po,sha256=g0bK25v2vJgzRTS3XeohzEohWwysrLFuECj0GE4WpBA,6154 +django/contrib/humanize/locale/tt/LC_MESSAGES/django.mo,sha256=z8VgtMhlfyDo7bERDfrDmcYV5aqOeBY7LDgqa5DRxDM,3243 +django/contrib/humanize/locale/tt/LC_MESSAGES/django.po,sha256=j_tRbg1hzLBFAmPQt0HoN-_WzWFtA07PloCkqhvNkcY,5201 +django/contrib/humanize/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 +django/contrib/humanize/locale/udm/LC_MESSAGES/django.po,sha256=AR55jQHmMrbA6RyHGOtqdvUtTFlxWnqvfMy8vZK25Bo,4354 +django/contrib/humanize/locale/uk/LC_MESSAGES/django.mo,sha256=zCT4FX9Uve9UODCIxXiJQEbn56QoYO1QQdNX_q3kq9g,5964 +django/contrib/humanize/locale/uk/LC_MESSAGES/django.po,sha256=AsBjFUJ0sZ7wa3aGVV5AduEkqOLwcGfp6muVI2nwEUU,8397 +django/contrib/humanize/locale/ur/LC_MESSAGES/django.mo,sha256=MF9uX26-4FFIz-QpDUbUHUNLQ1APaMLQmISMIaPsOBE,1347 +django/contrib/humanize/locale/ur/LC_MESSAGES/django.po,sha256=D5UhcPEcQ16fsBEdkk_zmpjIF6f0gEv0P86z_pK_1eA,5015 +django/contrib/humanize/locale/vi/LC_MESSAGES/django.mo,sha256=ZUK_Na0vnfdhjo0MgnBWnGFU34sxcMf_h0MeyuysKG8,3646 +django/contrib/humanize/locale/vi/LC_MESSAGES/django.po,sha256=DzRpXObt9yP5RK_slWruaIhnVI0-JXux2hn_uGsVZiE,5235 +django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=NvsjXwBi6Scg55ZMkZ4BbqNR-Svo-oey1x87Wv2hBgs,3573 +django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.po,sha256=gGuUfdDHyxX7nkaMMP_Ii9Q0QEkBI7cgMIOVMGRc_Ag,5336 +django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=MXoemB7iwj3zMOZfPxRi9rc_1xsYZKPpGerwZjbM2m8,3314 +django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.po,sha256=RSmQwPspRIe0U15m4zYz7x8VAiXHp6z55oLXxk9yFKE,5130 +django/contrib/humanize/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/humanize/templatetags/humanize.py,sha256=eafUdDGaq8YJEZ0OoWO_0tlxDfpQ2iJ6lRPUqoih4z0,9288 +django/contrib/messages/__init__.py,sha256=PcKzOk4zt5345uws-agcbNdhYMsIOJzV7-p7nwxJorI,175 +django/contrib/messages/api.py,sha256=sWP2DP-n8ZWOTM-BLFDGrH_l-voGwrSxC0OgEyJt1F4,3071 +django/contrib/messages/apps.py,sha256=yGXBKfV5WF_ElcPbX4wJjXq6jzp39ttnO7sp8N_IzOQ,194 +django/contrib/messages/constants.py,sha256=WZxjzvEoKI7mgChSFp_g9e-zUH8r6JLhu9sFsftTGNA,312 +django/contrib/messages/context_processors.py,sha256=0LniZjxZ7Fx2BxYdJ0tcruhG4kkBEEhsc7Urcf31NnE,354 +django/contrib/messages/middleware.py,sha256=4L-bzgSjTw-Kgh8Wg8MOqkJPyilaxyXi_jH1UpP1h-U,986 +django/contrib/messages/utils.py,sha256=wvGHYnU9zocxzwIEkFgo5deHxZ5aDlAY7q2MpyOPLFk,284 +django/contrib/messages/views.py,sha256=R5xD2DLmAO0x6EGpE8TX5bku4zioOiYkQnAtf6r-VAE,523 +django/contrib/messages/storage/__init__.py,sha256=gXDHbQ9KgQdfhYOla9Qj59_SlE9WURQiKzIA0cFH0DQ,392 +django/contrib/messages/storage/base.py,sha256=SyLyVQeRdmPvVt9SO4srCdIb0m2oBu1H_iOx40M48BM,5643 +django/contrib/messages/storage/cookie.py,sha256=CTDV2dYgm_DQsnkY8nZOO6gLYanYTCQ9Z05xm1XUyxY,6463 +django/contrib/messages/storage/fallback.py,sha256=irMgvzx5RgSaZLOPHR_pS5wCwK6HY7ABvOAzDk7Hhno,2145 +django/contrib/messages/storage/session.py,sha256=KTAqur1KMJUc-liD-I0mVDYbafMS23zxZfnFz4XPiiU,1729 +django/contrib/postgres/__init__.py,sha256=jtn9-mwOISc5D_YUoQ5z_3sN4bEPNxBOCDzbGNag_mc,67 +django/contrib/postgres/apps.py,sha256=PQiKQDH4lXf6xzNoJoi8J1xdueCnc3wefrfa1VMfRLA,1614 +django/contrib/postgres/functions.py,sha256=zHeAyKR5MhnsIGI5qbtmRdxPm8OtycEBE5OmCNyynD8,252 +django/contrib/postgres/indexes.py,sha256=y5Lb_DDiRBXKO2B6RgiS4IaHNhj5u3Ai3wnHISO6kwQ,3623 +django/contrib/postgres/lookups.py,sha256=p-1NZhB4kXC1e-lvJTDHh2Qpiz7A4W7TuG9NuvdF_4Y,1578 +django/contrib/postgres/operations.py,sha256=R8jm7u9K5dPvdbmsSvCO95x8oI7LSat01CeXtPUzL5c,2010 +django/contrib/postgres/search.py,sha256=h5Ri5X0aha29YMMfLM1OKq7rrKWeSTidHzXFhRIYV-Q,8295 +django/contrib/postgres/signals.py,sha256=MmUklgaTW1-UBMGQTxNO_1fsO7mZugGs9ScovuCIyJo,2245 +django/contrib/postgres/utils.py,sha256=46XKNKRB1aUUU7ALNiDLrZpPWbAwanxUxuTir7XDuDI,1188 +django/contrib/postgres/validators.py,sha256=h1d2Sw-gU3hfkgXNjjIf5TUDSjTeY-2xBQD1N3zj7GQ,2688 +django/contrib/postgres/aggregates/__init__.py,sha256=QCznqMKqPbpraxSi1Y8-B7_MYlL42F1kEWZ1HeLgTKs,65 +django/contrib/postgres/aggregates/general.py,sha256=nRA1EiUk9_H9IDu1M5mxLm48Nl2S4L9l_SrCfBBlBis,1481 +django/contrib/postgres/aggregates/statistics.py,sha256=NWyxMgDsfQ3f5yvqAcxJ13LayjGkRPj90wVJa4k7QdM,1691 +django/contrib/postgres/fields/__init__.py,sha256=Xo8wuWPwVNOkKY-EwV9U1zusQ2DjMXXtL7_8R_xAi5s,148 +django/contrib/postgres/fields/array.py,sha256=h3JPunEEF7VgrLi48DBDiYCRXni14LtiLOXRM5QvBMU,10220 +django/contrib/postgres/fields/citext.py,sha256=G40UZv4zop8Zrq2vMhluZ-MT7yPLEc8IEDi3hZ27gGw,439 +django/contrib/postgres/fields/hstore.py,sha256=sXoTtghueLtLl7dlVXFKSj7km3G_ZV9zVau_6Q4F-3w,3144 +django/contrib/postgres/fields/jsonb.py,sha256=8Mt9v2dGV1Pi2r8ux5ttwwbg9W-uHe7tg3B2DZcgoDw,5603 +django/contrib/postgres/fields/ranges.py,sha256=ozBEsZjvGQGWOZTN8VupDMVL19mHLXMyWZpESVgzWC0,7565 +django/contrib/postgres/fields/utils.py,sha256=TV-Aj9VpBb13I2iuziSDURttZtz355XakxXnFwvtGio,95 +django/contrib/postgres/forms/__init__.py,sha256=GSqucR50I9jrZUYZUFVmb8nV_FSlXu1BcCpFck2pVXI,118 +django/contrib/postgres/forms/array.py,sha256=7TU7UZr8hcbzbOyfh8rg79okSPctxrD-zFDsIv1Cvq0,7083 +django/contrib/postgres/forms/hstore.py,sha256=G2s-SO0VGK4oUgP8uNYopU5FM6143tfF814qpWKNTLE,1756 +django/contrib/postgres/forms/jsonb.py,sha256=JSDIyLVREKtesUGNmznxX06NqAFEBR0lCrlHMogNfic,1335 +django/contrib/postgres/forms/ranges.py,sha256=_LWXysT2AdvgSsAtNyPxHP0hgTolsQoUOCLWT7KukoA,3069 +django/contrib/postgres/jinja2/postgres/widgets/split_array.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo,sha256=AFcSJOhEOAWVIXw9q7FoyyT9G1ufw530IG2GwOYNOJw,4416 +django/contrib/postgres/locale/ar/LC_MESSAGES/django.po,sha256=ZEYrujwMpePljEsEjgJrRgHvQWn6zP9zYVkan83TyuU,5017 +django/contrib/postgres/locale/be/LC_MESSAGES/django.mo,sha256=nDK0-dYUAORaNB--uNHLQfvSnZZfe0yGdQwAe0AMFkU,4490 +django/contrib/postgres/locale/be/LC_MESSAGES/django.po,sha256=MoFwiR6pvjrN0YhFrhmAcQ4IQ6TRkFiVXf7TB8zjcQo,4964 +django/contrib/postgres/locale/bg/LC_MESSAGES/django.mo,sha256=7VaGqc8TO0NVL-eZbxVuGb8J6atQ_aC3C3Nh3G9zcJQ,3439 +django/contrib/postgres/locale/bg/LC_MESSAGES/django.po,sha256=9S2pgIZFOv3qp0QunLFUfPiNk40RZjHIiVA39Uj3zFs,4010 +django/contrib/postgres/locale/ca/LC_MESSAGES/django.mo,sha256=FpOKL9S0AWN5r2epnr7SdDX6VmwjBrHNGCSisxjw6H0,3167 +django/contrib/postgres/locale/ca/LC_MESSAGES/django.po,sha256=O3JMTA3jFpV0oV3GPpBSDsv98KBe6MDXJCO1c50VjiQ,3577 +django/contrib/postgres/locale/cs/LC_MESSAGES/django.mo,sha256=_9TFrq4kX_TSgSnIYV36rAadZZgPWoXnoh52-5E5yMs,3430 +django/contrib/postgres/locale/cs/LC_MESSAGES/django.po,sha256=2h_nqHgcMkU5YXoS4NpTmREoV7eUHQeRhmlkZEqT3G4,3863 +django/contrib/postgres/locale/da/LC_MESSAGES/django.mo,sha256=lTWGoAM4SCEn1UWK8fw1qyW8AwB4U6SW9LdWjs5Z1D8,3168 +django/contrib/postgres/locale/da/LC_MESSAGES/django.po,sha256=9syIhFzERg9Kojmz-QXYzm4F1F4UnPps79XwMx6p31M,3559 +django/contrib/postgres/locale/de/LC_MESSAGES/django.mo,sha256=1K356glWEevm4oteYtUKV1Loh1fpAjjlrFgF9yfwjcI,3275 +django/contrib/postgres/locale/de/LC_MESSAGES/django.po,sha256=MXPu492vKgQLLHngr6m2d08YUNAcwz01e3h9GxfbvIE,3723 +django/contrib/postgres/locale/dsb/LC_MESSAGES/django.mo,sha256=TPK-iwbKFpXnPtct5K13cTbdFSxHHyAUlS4U9nVysZI,3856 +django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po,sha256=FiSOY82p0UWnkXS05BeEQ5Uzhs74ZlNaxFIMMSRGpVo,4289 +django/contrib/postgres/locale/el/LC_MESSAGES/django.mo,sha256=kHjTGVK-3Y06GyjqRBi5_Ki_epzPUYt7zQKpukUOwFo,3918 +django/contrib/postgres/locale/el/LC_MESSAGES/django.po,sha256=VP82YDf9x1EmSOVmBY7zkgQcX7EfQQZFUpeRV3dtHtk,4407 +django/contrib/postgres/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/postgres/locale/en/LC_MESSAGES/django.po,sha256=IfHN0MYCktjtf0jKfyb4I1oEU9fqhCyqS4X4qZr2lDs,3131 +django/contrib/postgres/locale/eo/LC_MESSAGES/django.mo,sha256=N1T-nA1IdhKKDbZ76nV968OSMMbteXwwBdhzRi3taWs,3149 +django/contrib/postgres/locale/eo/LC_MESSAGES/django.po,sha256=KJbhFGHiJI2chKO9BytzpzRvlSsBvkNqoxP1N0okdko,3528 +django/contrib/postgres/locale/es/LC_MESSAGES/django.mo,sha256=9tNVeSpK1jUt7V2qZyKwbJbfJl3vH2Sy_3Y2GkvLnSY,3177 +django/contrib/postgres/locale/es/LC_MESSAGES/django.po,sha256=9N3ZeiyEZ7_DIgskPFIAIoEGLAGhiPMJdR-SHftisOo,3688 +django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.mo,sha256=NbkQzNZxVjBSH6NmFhvKxtU1FJzlbSjNTaq53Ml5WKQ,3173 +django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po,sha256=0jrDzJ2PbzuKxBKlpUtEXLMsjVTio-CIaHRooYbIuR8,3511 +django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.mo,sha256=wmkoFFXblYw1ufz4gcSntO79yq20mHl8hlbj4Hhmcug,2903 +django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po,sha256=Br2Lo11i-EeryGFsRmUWr_PD6_xk8kavVzdwqtR7AuU,3579 +django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.mo,sha256=4-c48HNLkDnIIPIBOaIhxoOf4muYRRelX0rR0dVrpAE,882 +django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.po,sha256=5HmM8uVQkt869MyzuQIk5C6czFe4MTRz5CBmgeN_V14,2496 +django/contrib/postgres/locale/et/LC_MESSAGES/django.mo,sha256=_BZuR25C1mzMVR2LTXE4u4QaP5ht7C7q8PjsnAEEQO8,3081 +django/contrib/postgres/locale/et/LC_MESSAGES/django.po,sha256=BF6hMf4uD6sFFXBJoudgimwKCj25jlzt7rjK3lg-BFA,3592 +django/contrib/postgres/locale/eu/LC_MESSAGES/django.mo,sha256=T7pDulEqODUPdC4sI4w-COAM5nT9C3jbAas8i24l_ms,3139 +django/contrib/postgres/locale/eu/LC_MESSAGES/django.po,sha256=OQlFVw0YFSF6s6iG6omYP1ISwevmSmAVSrH1FrqE2G8,3545 +django/contrib/postgres/locale/fa/LC_MESSAGES/django.mo,sha256=TlOdD8SW4sddFi5kAk0p0mvgDuq7SNre4LWZnOxBu9s,3134 +django/contrib/postgres/locale/fa/LC_MESSAGES/django.po,sha256=hE9GISly_L-wxF7CjHDv35GuHLcK8sLsVOpimMmtfHw,3638 +django/contrib/postgres/locale/fi/LC_MESSAGES/django.mo,sha256=eVu4C_rIzT2fQGNbJDEkrQb4pjF00lOPAixxqpYvbhs,3212 +django/contrib/postgres/locale/fi/LC_MESSAGES/django.po,sha256=zILj96C-jR-bjBRVVLScZngm7MRA-BtUM4j4IUMNJ48,3555 +django/contrib/postgres/locale/fr/LC_MESSAGES/django.mo,sha256=YomiZJPQJn88dkoaw7oXHGbq3oR3i35KopCGndxu5bY,3394 +django/contrib/postgres/locale/fr/LC_MESSAGES/django.po,sha256=t1fRjfzAQ0Y1nN9vSe5SUsBMw4NZXr_ensyHcOPrDr0,3752 +django/contrib/postgres/locale/gd/LC_MESSAGES/django.mo,sha256=-KqMRc027ysJr0R1rjgM3zJGeJpl8S3IXhmZTTmbrag,3830 +django/contrib/postgres/locale/gd/LC_MESSAGES/django.po,sha256=SflmgOSRvtcVT3ik94Cln-B0-wrkEmtraJUOXaKlGEc,4260 +django/contrib/postgres/locale/gl/LC_MESSAGES/django.mo,sha256=YlBrsev1RIUA4Zxbnl_ufkTANki4VM9O42Ge07u5QPc,722 +django/contrib/postgres/locale/gl/LC_MESSAGES/django.po,sha256=h4Z-Fdi9o1MG33vCWGMHqSj6dklYy653vGkq81lYeKA,2433 +django/contrib/postgres/locale/he/LC_MESSAGES/django.mo,sha256=KTUQ0NyBzsVOp1lEtbAmCaLiDHSf1R9EX_tV14oHm_g,3496 +django/contrib/postgres/locale/he/LC_MESSAGES/django.po,sha256=Ea3_H_jUWZLm9q22bcN_ClKkyehTjXAcCujRvgsTav8,3832 +django/contrib/postgres/locale/hr/LC_MESSAGES/django.mo,sha256=oIY9TCvkVmv-fGbGs-N2acx5VC3PNzZxWW4FRjWbTUQ,1217 +django/contrib/postgres/locale/hr/LC_MESSAGES/django.po,sha256=EnvgxKmz6qBe6cH05CAm0bO5zuXkAOYFnRF5c4LmIRo,2762 +django/contrib/postgres/locale/hsb/LC_MESSAGES/django.mo,sha256=3h5K1tt9ykZjomwtSU3J7XZfF__yAL7RpFRzi0lHFcY,3770 +django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po,sha256=TWUk3s8iDmS4msL0w1gwWpqLDXqfPDA9oq_c4U2PECE,4197 +django/contrib/postgres/locale/hu/LC_MESSAGES/django.mo,sha256=Qe5bXdGZLV0wG8bZhGK1ybGjATkKZ7OHaqEOcbZGcA4,3182 +django/contrib/postgres/locale/hu/LC_MESSAGES/django.po,sha256=puxHgfIWm0Vd3RHp1TnOKnY1mQ1hsDWNJar8NVNsyfk,3591 +django/contrib/postgres/locale/ia/LC_MESSAGES/django.mo,sha256=dnyXX0ii0CFMrI02mZhkCzY66KTFdWXBOlXjo6gP_Ps,758 +django/contrib/postgres/locale/ia/LC_MESSAGES/django.po,sha256=jNRfADlv6JldyeezHt_3LXpudpmA-cXr73GIe3aPd6E,2475 +django/contrib/postgres/locale/id/LC_MESSAGES/django.mo,sha256=2HRHOOC--1Rvm2goSDBk_sSIW1DjXwh3rNEEPKJqwOw,3039 +django/contrib/postgres/locale/id/LC_MESSAGES/django.po,sha256=6yQ_Evu0aiIabZcwIgsFmDaDxWBvbZh_3hDK8aVyUsw,3557 +django/contrib/postgres/locale/is/LC_MESSAGES/django.mo,sha256=B5rRF5HIz4ervHG45GxzSVDYL6rclTOUREuaP28sCjs,3213 +django/contrib/postgres/locale/is/LC_MESSAGES/django.po,sha256=mIm4o1WDfQ1wBQuGXMzm1AulMIDU6iZPvYEMWvZqUSw,3571 +django/contrib/postgres/locale/it/LC_MESSAGES/django.mo,sha256=kW6Oh5NNTvpiMewskoW3AmU9WcY_zO0OTcscgwbStrE,3249 +django/contrib/postgres/locale/it/LC_MESSAGES/django.po,sha256=vBOsM6PRYKQrPrOEe1PlhPGyZbGs-3YVCSnUlnfaYlM,3805 +django/contrib/postgres/locale/ja/LC_MESSAGES/django.mo,sha256=jvSBcIEgAlIsRCPz997u-5eH9Ioi5YjuktReayURCAU,3350 +django/contrib/postgres/locale/ja/LC_MESSAGES/django.po,sha256=-YHBmtzc_xG-E_vbndLBd0ax_9mexkuTDGVCyEEYhpM,3665 +django/contrib/postgres/locale/ka/LC_MESSAGES/django.mo,sha256=0ChFF9W99iPidTL-CC2R0owYonG-UKys7TS_2W97V3E,767 +django/contrib/postgres/locale/ka/LC_MESSAGES/django.po,sha256=i5KHzekJykKxdFgAYpQ_KBzFY3R3TXr9FrQcdHKVYko,2494 +django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo,sha256=TGzYaFdRPsEqIo6tsjScDSDKuQLMYOrr8grzA0l45kc,868 +django/contrib/postgres/locale/kk/LC_MESSAGES/django.po,sha256=JL7TPe92MWWX9U1ARGPmBPKQU2EZ9lJamiwn_C51aK4,2552 +django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo,sha256=0koE2OIe1bizQsdtvO2nrcY48kM72eHGRn7KOgeXm44,3194 +django/contrib/postgres/locale/ko/LC_MESSAGES/django.po,sha256=e_D3CoKvNmfnfKqV9drQdj9c2VaYQEjFU87C3a30AIM,3637 +django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo,sha256=zlgggxW5wR_ougmTMYWEaAxLC7_ZTEOQwtifN-EupOQ,3564 +django/contrib/postgres/locale/lt/LC_MESSAGES/django.po,sha256=FDEsLus6STxMRg6LRLKfTZ8es554yLP_pvHQ-g5tbSM,3954 +django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo,sha256=68lVQD3NgI3dfKKl2Gsb-O8x9AWCSzgrRJZmA9adBwY,3399 +django/contrib/postgres/locale/lv/LC_MESSAGES/django.po,sha256=SptJipFI0GvtcTvVozDCvSi_Lq1qk-vOsCh4whDOKjQ,3825 +django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo,sha256=UFofPo5u8GZFQeJUXpXv9WkzN8-L3RYB4QtpWSPZucw,3717 +django/contrib/postgres/locale/mk/LC_MESSAGES/django.po,sha256=p6bHPCPH1XuUJ_62EXW3fXnaKCtAvuDLAvS3H1JcX9s,4284 +django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo,sha256=emgB5tVUbpnT76xUh0nuMKryQyYMrySCQ4dlYQeCYco,3755 +django/contrib/postgres/locale/mn/LC_MESSAGES/django.po,sha256=6GKhHqnrt-Sg3JtYHiy-_-1l1MLBymREuQRXKQgmOCM,4229 +django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo,sha256=1TOafNdcKTEJaAolBV-RpA7fxDe46wkxYJuSXSYQ9Mw,3113 +django/contrib/postgres/locale/nb/LC_MESSAGES/django.po,sha256=VSSxNYqiKX30j6n2ju3_1iYHFx4TIqDeT2Vp9R24hOc,3482 +django/contrib/postgres/locale/ne/LC_MESSAGES/django.mo,sha256=wZ0UYJI4qUpPjLvsPCqRCuHbEKpBz9uOh6qncgXh59g,934 +django/contrib/postgres/locale/ne/LC_MESSAGES/django.po,sha256=ndvFMUw2XzBukzedzXUiPQfnnOitrOlJtz2TZgv0TX4,2590 +django/contrib/postgres/locale/nl/LC_MESSAGES/django.mo,sha256=SluBtCazF6LA_EpX5pAwJP1mOtH9vJcv7d_8ZjNyPuE,3243 +django/contrib/postgres/locale/nl/LC_MESSAGES/django.po,sha256=FgAgj21e2fPZwmQPoToqKPrxeYFrDGx01Heo9SU9sgM,3745 +django/contrib/postgres/locale/pl/LC_MESSAGES/django.mo,sha256=Tlrhv__Nj1jD5CGGChirF-ujHGO32F6r3DclQkdMB1A,3740 +django/contrib/postgres/locale/pl/LC_MESSAGES/django.po,sha256=x8RdxSRhRq2l9WmQTamN2-gRtkaWObfVP83tblcEM6M,4381 +django/contrib/postgres/locale/pt/LC_MESSAGES/django.mo,sha256=rXcN8bscv14PzPRIDxmJGHcRPNUdEbOE_cWFI-hjf1g,3136 +django/contrib/postgres/locale/pt/LC_MESSAGES/django.po,sha256=Urf8o67oVUpzTHuWGna3Cn6FxgRKPbCVI2CtXmRP220,3576 +django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.mo,sha256=jJvTRzWJVEEo1ash3rhm1rFbF7FJvt188MPHPsbpIzo,3194 +django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po,sha256=uEY62Tl09VUmV_f-CPPITyvk-I8jBePzqPZajrrekjo,3855 +django/contrib/postgres/locale/ro/LC_MESSAGES/django.mo,sha256=xQdeGHTLGLDBDDiehtzGnTdZh8oQrVG9hGRTh0FT56g,3488 +django/contrib/postgres/locale/ro/LC_MESSAGES/django.po,sha256=RIOdMn_XBWqafZrxV5vjPs-lZLkGi5-jpxsRentFcFM,3907 +django/contrib/postgres/locale/ru/LC_MESSAGES/django.mo,sha256=MU2dyAcO-xeF1y6Ea_MSEFGbc-8y_7p1GH-NRJe62Cs,5123 +django/contrib/postgres/locale/ru/LC_MESSAGES/django.po,sha256=hcl1Uuof6ENYVPQ_7ycEAzxghpoGwMKYFjK_DU-D6_A,5773 +django/contrib/postgres/locale/sk/LC_MESSAGES/django.mo,sha256=CLTqMW_0M-gEqH3Z_-uXanLMi2IxLr6y9u323Q3OJg8,3400 +django/contrib/postgres/locale/sk/LC_MESSAGES/django.po,sha256=D-HhtGgJQ0KnSnf6dHTo9LpetvruFJ7hw_XjjBq_z7g,3777 +django/contrib/postgres/locale/sl/LC_MESSAGES/django.mo,sha256=BT1LywwWuDO9iENJm-pqBksEisuETBlh0r4ILn4wgx0,3524 +django/contrib/postgres/locale/sl/LC_MESSAGES/django.po,sha256=YmFNHoKR5av9ychiCloy5OXeL_v-rDzA0vYqUy84umc,3988 +django/contrib/postgres/locale/sq/LC_MESSAGES/django.mo,sha256=0143JMFtUYLXOoSRvFydzC-xl1V6QkbL3oHQ-QBOoZk,3110 +django/contrib/postgres/locale/sq/LC_MESSAGES/django.po,sha256=GuT0Ax6Vka7xdSgXyr4-0_nuxIcihRSs8xMiTCQBGdE,3516 +django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo,sha256=i4z7Yn_Ows9G_UoCW8zIulJIrAfB1sJWib-kpG7Y_PA,2875 +django/contrib/postgres/locale/sv/LC_MESSAGES/django.po,sha256=5VjgW0c_nTPeh_4nsiUHpv_toFn0c5ytKfM06g-NrlQ,3477 +django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo,sha256=WX43GC_VDxf-36UxWrab6dCBPBvPj9O06hVoWzsS8JU,3164 +django/contrib/postgres/locale/tr/LC_MESSAGES/django.po,sha256=sfqVCqaFZtbRnDmqTVK4190-AYKJwgyMopuYjkjXmh4,3511 +django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo,sha256=3uPY2QOsonJJ67IZipxS45D6nhiS0p1-egxWqQBIyU8,4309 +django/contrib/postgres/locale/uk/LC_MESSAGES/django.po,sha256=n2qxj5e7ipENpTFganpkcSAJUMnASM2w5l0YxmTijzg,4861 +django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=t4Zea1ndeWCQMDYvdprtTDkyPXnqg3lAV7WB5TAZFNI,2854 +django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po,sha256=4ICKRVdfo78YeoAK_G7DvlWz-ixUWNDCbBkGVHnDhH8,3242 +django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=65JDiksp4dDMlCPrCbbSZ-DDEXSD3rnPKF8o-RpdptA,2864 +django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.po,sha256=MMLZpVZw1SdxWoscLSO9k2YTO5YX2GXFhSag99zNpoI,3211 +django/contrib/postgres/templates/postgres/widgets/split_array.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/contrib/redirects/__init__.py,sha256=9vdTkDvH0443yn0qXx59j4dXPn3P-Pf9lB8AWrSp_Bk,69 +django/contrib/redirects/admin.py,sha256=P9wp8yIvDjJSfIXpWYM2ftDlVhKvte_0AM9Ky_j1JIs,314 +django/contrib/redirects/apps.py,sha256=BvTvN3IXCv7yEKqhxwCDiSCZ3695YXNttEvmONHNxC4,197 +django/contrib/redirects/middleware.py,sha256=kJfTIj8G2loRgiEJkqiYEredzt4xhNAfDaTZkk9Coyo,1926 +django/contrib/redirects/models.py,sha256=x9f9oGGbUDsn1If6zLwDpkwW3M2Anl-Zj845WA121fg,985 +django/contrib/redirects/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 +django/contrib/redirects/locale/af/LC_MESSAGES/django.po,sha256=azk3eRV64rp6_41m5S1vkDRZ5YZ_OjJ6pfn4wqOlKnQ,942 +django/contrib/redirects/locale/ar/LC_MESSAGES/django.mo,sha256=BX8CzqhOiPIE2dZ1J-bomSuudCMDs8MKbZ1aCzFUrXk,1342 +django/contrib/redirects/locale/ar/LC_MESSAGES/django.po,sha256=v4WQ_5jy6a_JupP7YLLxVIOB82UjIDZJ09uuFCaJCIc,1533 +django/contrib/redirects/locale/ast/LC_MESSAGES/django.mo,sha256=a1ixBQQIdBZ7o-ADnF2r74CBtPLsuatG7txjc05_GXI,1071 +django/contrib/redirects/locale/ast/LC_MESSAGES/django.po,sha256=PguAqeIUeTMWsADOYLTxoC6AuKrCloi8HN18hbm3pZ0,1266 +django/contrib/redirects/locale/az/LC_MESSAGES/django.mo,sha256=gxyTtthfuZik5KWZbsKzhsCa27pnDA7OdBkZt2Jnxn0,1157 +django/contrib/redirects/locale/az/LC_MESSAGES/django.po,sha256=5uyUelawIxgtoK4zA5w8VkSuoJPdjSBrJRud1zm1JjU,1341 +django/contrib/redirects/locale/be/LC_MESSAGES/django.mo,sha256=JBUJpaQqNT_SW5cYMKfb3b3s-DL5MDkLapmukI3-49M,1437 +django/contrib/redirects/locale/be/LC_MESSAGES/django.po,sha256=nqxsr8UCgQUhsUnvuQCMYiX4PbCQw9q5MGKDCUi3XaI,1622 +django/contrib/redirects/locale/bg/LC_MESSAGES/django.mo,sha256=fEXrzyixSGCWaWu5XxVsjRKMlPwYkORpFtAiwNNShvM,1268 +django/contrib/redirects/locale/bg/LC_MESSAGES/django.po,sha256=_Xha-uOePDqOqOVmYgcR8auVgNT3CS-Z_V_vwyTlwfk,1493 +django/contrib/redirects/locale/bn/LC_MESSAGES/django.mo,sha256=SbQh_pgxNCogvUFud7xW9T6NTAvpaQb2jngXCtpjICM,1319 +django/contrib/redirects/locale/bn/LC_MESSAGES/django.po,sha256=LgUuiPryDLSXxo_4KMCdjM5XC3BiRfINuEk0s5PUQYQ,1511 +django/contrib/redirects/locale/br/LC_MESSAGES/django.mo,sha256=KZmOd_vXlUypXn4XPYl1JBQkxbyOp6y9FAKdvrx8YSs,623 +django/contrib/redirects/locale/br/LC_MESSAGES/django.po,sha256=wdH-Wb6xCL3bY7rfW0ZCRNHeDH3yTG7ZDxzcdWXtSkU,1025 +django/contrib/redirects/locale/bs/LC_MESSAGES/django.mo,sha256=0Yak4rXHjRRXLu3oYYzvS8qxvk2v4IFvUiDPA68a5YI,1115 +django/contrib/redirects/locale/bs/LC_MESSAGES/django.po,sha256=s9Nhx3H4074hlSqo1zgQRJbozakdJTwA1aTuMSqEJWw,1316 +django/contrib/redirects/locale/ca/LC_MESSAGES/django.mo,sha256=sqFznyD9vEvzgzVCTHrzsDmv6ZJy5UCzV15pLacScjc,1137 +django/contrib/redirects/locale/ca/LC_MESSAGES/django.po,sha256=GQhL6KJW4kwv-xta5DcPUlPOMXf5hgs8emZgSUGjbmk,1366 +django/contrib/redirects/locale/cs/LC_MESSAGES/django.mo,sha256=s7dsB2LPmW6QjaBORdOClb7-HbJdjt927l8PL0ej-9k,1156 +django/contrib/redirects/locale/cs/LC_MESSAGES/django.po,sha256=Q94mVP6Q8sBz7NyEzkiXX43hSqHA8CrIv0_u2EHdgS8,1377 +django/contrib/redirects/locale/cy/LC_MESSAGES/django.mo,sha256=NSGoK12A7gbtuAuzQEVFPNSZMqqmhHyRvTEn9PUm9So,1132 +django/contrib/redirects/locale/cy/LC_MESSAGES/django.po,sha256=jDmC64z5exPnO9zwRkBmpa9v3DBlaeHRhqZYPoWqiIY,1360 +django/contrib/redirects/locale/da/LC_MESSAGES/django.mo,sha256=fMxR__ME05FmYKVrcs77ggfqe03Nuvx_Iz2X0Fz89JM,1114 +django/contrib/redirects/locale/da/LC_MESSAGES/django.po,sha256=dpFo8F_pITvs9VafhSfJkS57__5I7Y9HAKjBa1kPrQo,1294 +django/contrib/redirects/locale/de/LC_MESSAGES/django.mo,sha256=iPnuOSbyoQESXyU3arhhm0ESlXrP3OxOkKL9ZpHy_6Q,1136 +django/contrib/redirects/locale/de/LC_MESSAGES/django.po,sha256=kAY-193685fKksD0PcEyC1-lZlXSL8oxVCnoOf6BdVc,1310 +django/contrib/redirects/locale/dsb/LC_MESSAGES/django.mo,sha256=wAFETbVpnUkTChU3d58C2qUdh0_klrwZ5X0yqSavBeY,1242 +django/contrib/redirects/locale/dsb/LC_MESSAGES/django.po,sha256=b1CcYJx9s6swmeXvcI6VE2b_FU_i2_xsHyB4IyAYMoQ,1386 +django/contrib/redirects/locale/el/LC_MESSAGES/django.mo,sha256=kzCurtbtzdZsJOzqLbTtn3kjltOnBq6Nd8p8EFTllF0,1384 +django/contrib/redirects/locale/el/LC_MESSAGES/django.po,sha256=-lFhtPYSaYaS81Zh1CX9vxx0lvQDpAUsTBRNT48ne94,1611 +django/contrib/redirects/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/redirects/locale/en/LC_MESSAGES/django.po,sha256=dKYdOJRafKUDXGsaRIoLCLt2PhwziQgp9SHMEhhfrD8,1098 +django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 +django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.po,sha256=CcP5GVZaImhRgohA5zy5K3rCscOlBtn81DB-V26-Wxg,958 +django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.mo,sha256=VscL30uJnV-eiQZITpBCy0xk_FfKdnMh4O9Hk4HGxww,1053 +django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.po,sha256=loe8xIVjZ7eyteQNLPoa-QceBZdgky22dR6deK5ubmA,1246 +django/contrib/redirects/locale/eo/LC_MESSAGES/django.mo,sha256=pZo0DSbfGGTHi-jgaTGp29kJK-iplaai-WXJoOPluMA,1138 +django/contrib/redirects/locale/eo/LC_MESSAGES/django.po,sha256=3AxFPHffYw3svHe-MR3zuVGLMtkJPL_SX_vB_ztx98c,1414 +django/contrib/redirects/locale/es/LC_MESSAGES/django.mo,sha256=RfNvdDrQeIfIw9I0dpnRjs10QzAFx-h-NRqYIfHx5gQ,1143 +django/contrib/redirects/locale/es/LC_MESSAGES/django.po,sha256=FePzvVGRJi6SmLm988JAbM3PADj1Bjn_XjGa7SFykkU,1392 +django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.mo,sha256=-e7vnpqOe9kFR63URFVovUR6-7HCLK7etTOBGVfPCSE,1127 +django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.po,sha256=IaqYpNmhkP2xb9kcCGy6k4S12pVHKbOQSEFVgWFMIZU,1296 +django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.mo,sha256=wcAMOiqsgz2KEpRwirRH9FNoto6vmo_hxthrQJi0IHU,1147 +django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.po,sha256=n8DM14vHekZRayH0B6Pm3L5XnSo4lto4ZAdu4OhcOmc,1291 +django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.mo,sha256=aU__Eh-OzuEO7sRI45r-7Jnpz9QQpEKtqAZuWpfwQyQ,1136 +django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.po,sha256=KyfWRFCA5kcBpi1uVK_rosEfYFs5mzpBvTsK5rdK4j0,1331 +django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 +django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.po,sha256=f4XZW8OHjRJoztMJtSDCxd2_Mfy-XK44hLtigjGSsZY,958 +django/contrib/redirects/locale/et/LC_MESSAGES/django.mo,sha256=1KWgSYZUyo6JbwlQHdCg9IRwI4-llys7MfkFRCN10C8,1122 +django/contrib/redirects/locale/et/LC_MESSAGES/django.po,sha256=j0-f8wRSbi6oM8fwRmG1LptZrgUYCyoHzNE3sGuDmoU,1346 +django/contrib/redirects/locale/eu/LC_MESSAGES/django.mo,sha256=c0en4U_IaOUGF0Tt8lMwCm2Fmv3bAiT-D8BO9pNVFIM,1119 +django/contrib/redirects/locale/eu/LC_MESSAGES/django.po,sha256=W-tZOxWXSOzUgZSKRG_CoOf7XjxYuQEMZp0D59EZK9A,1304 +django/contrib/redirects/locale/fa/LC_MESSAGES/django.mo,sha256=WEtbdwPLTpiEZqTb6hJZMeLjL1snmGDWbzoYwa3BQnI,1241 +django/contrib/redirects/locale/fa/LC_MESSAGES/django.po,sha256=-XfgGc8mlwIWIk0NvtWZlwBrcDG3Mrj9k7FLDJMKQl4,1463 +django/contrib/redirects/locale/fi/LC_MESSAGES/django.mo,sha256=mCSVYBr0r3ieZPuORu4t1bsxHVnXg5_4cV8C59RC-vk,1158 +django/contrib/redirects/locale/fi/LC_MESSAGES/django.po,sha256=5hNG5JNitRLU1YrFwSOnyiMRTlRw4rXgyTjRImXEy-g,1368 +django/contrib/redirects/locale/fr/LC_MESSAGES/django.mo,sha256=8lXEASsnoQMclcQ8itMj93Zkitfu1IFUwWuPaZJRa8o,1141 +django/contrib/redirects/locale/fr/LC_MESSAGES/django.po,sha256=uJ9ql71ntuAmpmbs2-Rq2jXcblGuPWfXUu0twdjflIg,1326 +django/contrib/redirects/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 +django/contrib/redirects/locale/fy/LC_MESSAGES/django.po,sha256=D7xverCbf3kTCcFM8h7EKWM5DcxZRqeOSKDB1irbKeE,948 +django/contrib/redirects/locale/ga/LC_MESSAGES/django.mo,sha256=gISo2m96gx4SsY_EaEXDSQyMD7YfEN64-u4CbD83xbY,1073 +django/contrib/redirects/locale/ga/LC_MESSAGES/django.po,sha256=oi_ywO2DyKXhN40BE0TRLzFKvS9TK2JEsUvR6_EbW3E,1279 +django/contrib/redirects/locale/gd/LC_MESSAGES/django.mo,sha256=fcIwOFja3uSj8spusyE3ECkiugkvGk9pa5DLsGSkSMQ,1252 +django/contrib/redirects/locale/gd/LC_MESSAGES/django.po,sha256=CkNt_Ra3yA9uKDy4BeK6in2lc63VSqqlK2JPQ6s4S-Q,1371 +django/contrib/redirects/locale/gl/LC_MESSAGES/django.mo,sha256=09ZB4Eobqeq9xrV2DL4-nwtsOvrfBH6BA7Gk8MxAtbc,1079 +django/contrib/redirects/locale/gl/LC_MESSAGES/django.po,sha256=9j_NYHGLTppHe2y0m4vjkKt1p1g9d59QpN8uAzq4eL4,1295 +django/contrib/redirects/locale/he/LC_MESSAGES/django.mo,sha256=cVPF03bdLcUiZt52toHoPXMqE5rEYPU0vEb5uIZwH_4,1128 +django/contrib/redirects/locale/he/LC_MESSAGES/django.po,sha256=Ycu8QAgIhJm-zN3_dlJelXKK87YQZV8Ahc5i7AUtkVk,1302 +django/contrib/redirects/locale/hi/LC_MESSAGES/django.mo,sha256=onR8L7Kvkx6HgFLK7jT-wA_zjarBN8pyltG6BbKFIWU,1409 +django/contrib/redirects/locale/hi/LC_MESSAGES/django.po,sha256=fNv9_qwR9iS-pjWNXnrUFIqvc10lwg3bfj5lgdQOy1U,1649 +django/contrib/redirects/locale/hr/LC_MESSAGES/django.mo,sha256=7wHi6Uu0czZhI6v0ndJJ1wSkalTRfn7D5ovyw8tr4U4,1207 +django/contrib/redirects/locale/hr/LC_MESSAGES/django.po,sha256=HtxZwZ-ymmf-XID0z5s7nGYg-4gJL8i6FDGWt9i4Wns,1406 +django/contrib/redirects/locale/hsb/LC_MESSAGES/django.mo,sha256=l_NcBALI4Tsc0cM_PtEXzWWM5AQsf-OEcULlf4TZv8E,1236 +django/contrib/redirects/locale/hsb/LC_MESSAGES/django.po,sha256=xoWJStp4xkPdJHjk39BhlSC0Nh0qSSLe4dXiYa3IEBU,1380 +django/contrib/redirects/locale/hu/LC_MESSAGES/django.mo,sha256=4rxfQPYRySmOlKWO7LIGzNuYyNlP-EsuK7IRpgIkdQY,1152 +django/contrib/redirects/locale/hu/LC_MESSAGES/django.po,sha256=8OaJ7UgFJXbpxEtnLu9UuOwOjAoE9MFVEU5cXT0ThUU,1329 +django/contrib/redirects/locale/ia/LC_MESSAGES/django.mo,sha256=PDB5ZQP6iH31xN6N2YmPZYjt6zzc88TRmh9_gAWH2U0,1152 +django/contrib/redirects/locale/ia/LC_MESSAGES/django.po,sha256=GXjbzY-cQz2QLx_iuqgijT7VUMcoNKL7prbP6yIbj8E,1297 +django/contrib/redirects/locale/id/LC_MESSAGES/django.mo,sha256=ef2SKKOPZ3wDl-z-kZ3q6UVAjvgIGuioHi9U3PR_knE,1098 +django/contrib/redirects/locale/id/LC_MESSAGES/django.po,sha256=5axvDDh3Yg5NzMC4Ayr0noUOr7tOgU-BJ9S8j_sv-yY,1319 +django/contrib/redirects/locale/io/LC_MESSAGES/django.mo,sha256=vz7TWRML-DFDFapbEXTByb9-pRQwoeJ0ApSdh6nOzXY,1019 +django/contrib/redirects/locale/io/LC_MESSAGES/django.po,sha256=obStuMYYSQ7x2utkGS3gekdPfnsNAwp3DcNwlwdg1sI,1228 +django/contrib/redirects/locale/is/LC_MESSAGES/django.mo,sha256=OnT5N5YqvG6Vto1GM4vK9hu_gn19_Icfj-d55Exds_E,1065 +django/contrib/redirects/locale/is/LC_MESSAGES/django.po,sha256=qsstQGFLj6Tkzfzak2UjIRh5sZQLSeD9YN6kYBLKJnc,1278 +django/contrib/redirects/locale/it/LC_MESSAGES/django.mo,sha256=nFyQf8zpMFSgbDT85GHnOxQQbuss2Dp_DlwhgLvPVAQ,1105 +django/contrib/redirects/locale/it/LC_MESSAGES/django.po,sha256=_mI90dLhi--cxkJWjtTT9_JLesqyMOPKYrfGhzwVDQs,1307 +django/contrib/redirects/locale/ja/LC_MESSAGES/django.mo,sha256=98oXXZ0raebFOFB23-p5VaAhbW46kwC9jxM8I2FAV_U,1148 +django/contrib/redirects/locale/ja/LC_MESSAGES/django.po,sha256=XJQiqtbTrwDIBQCWfYJcHuXYDh7gr0HvCTiuGXcZtIQ,1324 +django/contrib/redirects/locale/ka/LC_MESSAGES/django.mo,sha256=0aOLKrhUX6YAIMNyt6KES9q2iFk2GupEr76WeGlJMkk,1511 +django/contrib/redirects/locale/ka/LC_MESSAGES/django.po,sha256=bK3ULAIG00Nszoz74r-W3W8CihaoijYkWlc6sUqJXrg,1720 +django/contrib/redirects/locale/kab/LC_MESSAGES/django.mo,sha256=Ogx9NXK1Nfw4ctZfp-slIL81ziDX3f4DZ01OkVNY5Tw,699 +django/contrib/redirects/locale/kab/LC_MESSAGES/django.po,sha256=gI6aUPkXH-XzKrStDsMCMNfQKDEc-D1ffqE-Z-ItQuI,1001 +django/contrib/redirects/locale/kk/LC_MESSAGES/django.mo,sha256=KVLc6PKL1MP_Px0LmpoW2lIvgLiSzlvoJ9062F-s3Zw,1261 +django/contrib/redirects/locale/kk/LC_MESSAGES/django.po,sha256=k3TtiYJ7x50M19DCu2eLcsCroKusJ3paiC2RvZ-920A,1473 +django/contrib/redirects/locale/km/LC_MESSAGES/django.mo,sha256=tcW1s7jvTG0cagtdRNT0jSNkhX-B903LKl7bK31ZvJU,1248 +django/contrib/redirects/locale/km/LC_MESSAGES/django.po,sha256=KJ4h1umpfFLdsWZtsfXoeOl6cUPUD97U4ISWt80UZ2U,1437 +django/contrib/redirects/locale/kn/LC_MESSAGES/django.mo,sha256=-gqNBZVFvxqOiPWUb9jH4myXufHHfdyr_yROTfpk2jU,1396 +django/contrib/redirects/locale/kn/LC_MESSAGES/django.po,sha256=qFM2v3ys7E5u-WJE7CR-2IMrDTqFjNq96OQ1syMDWoI,1588 +django/contrib/redirects/locale/ko/LC_MESSAGES/django.mo,sha256=gXKWhQ8zEU7D1DwkUmXXaeqgXjiVuGSFVm8S7P4dNVs,1112 +django/contrib/redirects/locale/ko/LC_MESSAGES/django.po,sha256=q8A446VIdu6xIbjzmZxw4X0z3SfJL5Jffi_1C_IfKWM,1343 +django/contrib/redirects/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 +django/contrib/redirects/locale/lb/LC_MESSAGES/django.po,sha256=Hv1CF9CC78YuVVNpklDtPJDU5-iIUeuXcljewmc9akg,946 +django/contrib/redirects/locale/lt/LC_MESSAGES/django.mo,sha256=reiFMXJnvE4XUosbKjyvUFzl4IKjlJoFK1gVJE9Tbnc,1191 +django/contrib/redirects/locale/lt/LC_MESSAGES/django.po,sha256=3D3sSO1D9XyRpiT57l-0emy7V11uKCWJYqpEzmmpUzE,1377 +django/contrib/redirects/locale/lv/LC_MESSAGES/django.mo,sha256=gH-QSWtlMTIuvz0HkCQwCUKPsaGH6ffjS8DIlJK-D38,1179 +django/contrib/redirects/locale/lv/LC_MESSAGES/django.po,sha256=EHJnRXo3G9mhYYySGHC-6pF1CRB2RHJaLGzcscYh9fY,1355 +django/contrib/redirects/locale/mk/LC_MESSAGES/django.mo,sha256=3XGgf2K60LclScPKcgw07TId6x535AW5jtGVJ9lC01A,1353 +django/contrib/redirects/locale/mk/LC_MESSAGES/django.po,sha256=Smsdpid5VByoxvnfzju_XOlp6aTPl8qshFptot3cRYM,1596 +django/contrib/redirects/locale/ml/LC_MESSAGES/django.mo,sha256=WuMPevyQxt3VojPPf9rJPK7oWAL9V-S3j8EkEwz1Mx0,1331 +django/contrib/redirects/locale/ml/LC_MESSAGES/django.po,sha256=4fRYoLwqxL1W6SPbAfoU5lP6lTY9uuZzByNws_s4lf0,1520 +django/contrib/redirects/locale/mn/LC_MESSAGES/django.mo,sha256=14fdHC_hZrRaA0EAFzBJy8BHj4jMMX6l2e6rLLBtJ8E,1274 +django/contrib/redirects/locale/mn/LC_MESSAGES/django.po,sha256=7_QzUWf5l0P-7gM35p9UW7bOj33NabQq_zSrekUeZsY,1502 +django/contrib/redirects/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 +django/contrib/redirects/locale/mr/LC_MESSAGES/django.po,sha256=0aGKTlriCJoP-Tirl-qCl7tjjpjURhgCjRGmurHVO3c,940 +django/contrib/redirects/locale/my/LC_MESSAGES/django.mo,sha256=H5-y9A3_1yIXJzC4sSuHqhURxhOlnYEL8Nvc0IF4zUE,549 +django/contrib/redirects/locale/my/LC_MESSAGES/django.po,sha256=MZGNt0jMQA6aHA6OmjvaC_ajvRWfUfDiKkV0j3_E480,1052 +django/contrib/redirects/locale/nb/LC_MESSAGES/django.mo,sha256=flh3A8h-hu_Ed0dGUAPH7ZxF1WC9sYB2NqCPkNPfMLQ,1147 +django/contrib/redirects/locale/nb/LC_MESSAGES/django.po,sha256=9v20yzVkeilgDRfoXetQNytBShYEsgOLVctsZpzOfBI,1405 +django/contrib/redirects/locale/ne/LC_MESSAGES/django.mo,sha256=TxTnBGIi5k0PKAjADeCuOAJQV5dtzLrsFRXBXtfszWI,1420 +django/contrib/redirects/locale/ne/LC_MESSAGES/django.po,sha256=5b5R-6AlSIQrDyTtcmquoW5xrQRGZwlxZpBpZfVo5t4,1607 +django/contrib/redirects/locale/nl/LC_MESSAGES/django.mo,sha256=mDRSlzw-0KGJ-8Z3A7LDGV_yH4U3yJ0qcqDoAUPr8cQ,1114 +django/contrib/redirects/locale/nl/LC_MESSAGES/django.po,sha256=-QPs1pytBa5UQrosBERvmcNwb03q_sfrIiztr9OeL5M,1356 +django/contrib/redirects/locale/nn/LC_MESSAGES/django.mo,sha256=oiw7wSgqGUrHIdec6sIa7OlHXGME5iWA9h1UUlhl6Mw,1072 +django/contrib/redirects/locale/nn/LC_MESSAGES/django.po,sha256=pfu1XKvB-9DS_5dAbvjGzZCKAYxBEtnStJlBJxRSEXk,1267 +django/contrib/redirects/locale/os/LC_MESSAGES/django.mo,sha256=joQ-ibV9_6ctGMNPLZQLCx5fUamRQngs6_LDd_s9sMQ,1150 +django/contrib/redirects/locale/os/LC_MESSAGES/django.po,sha256=ZwFWiuGS9comy7r2kMnKuqaPOvVehVdAAuFvXM5ldxM,1358 +django/contrib/redirects/locale/pa/LC_MESSAGES/django.mo,sha256=MY-OIDNXlZth-ZRoOJ52nlUPg_51_F5k0NBIpc7GZEw,748 +django/contrib/redirects/locale/pa/LC_MESSAGES/django.po,sha256=TPDTK2ZvDyvO1ob8Qfr64QDbHVWAREfEeBO5w9jf63E,1199 +django/contrib/redirects/locale/pl/LC_MESSAGES/django.mo,sha256=DrsiZaeqMKkydQS2QyGCePj39Jh7aWR6DCMxBhZdaOU,1279 +django/contrib/redirects/locale/pl/LC_MESSAGES/django.po,sha256=0Dp53dQhxQyt_NDNuRYs2vcsQzPkbyo5RzewEY35CEc,1512 +django/contrib/redirects/locale/pt/LC_MESSAGES/django.mo,sha256=WocPaVk3fQEz_MLmGVtFBGwsThD-gNU7GDocqEbeaBA,1129 +django/contrib/redirects/locale/pt/LC_MESSAGES/django.po,sha256=ptCzoE41c9uFAbgSjb6VHSFYPEUv_51YyBdoThXN3XA,1350 +django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.mo,sha256=VN3i7dnTRkGwPmOfTXnQW3GNDpBpbc9gvBed2Mz0gQw,1162 +django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po,sha256=DXFcxZ75Jz0l5uQV2skTW3y6WJVpjor7lr6vg2eADfA,1408 +django/contrib/redirects/locale/ro/LC_MESSAGES/django.mo,sha256=HSQTOHGdyzkHlm6Ti1FBLU7Oj896At-xJJnwQF4Orgw,1222 +django/contrib/redirects/locale/ro/LC_MESSAGES/django.po,sha256=OYNV39_gWPt8ZgHDs6Bkv5_o4rveTnnlhcZLXhbwPXw,1453 +django/contrib/redirects/locale/ru/LC_MESSAGES/django.mo,sha256=pV_IGa3dFWwIymZyWyVdmQHdJO2dpMTm0ut3W1qBz0I,1456 +django/contrib/redirects/locale/ru/LC_MESSAGES/django.po,sha256=Mz9QdfJfRwOGxvZ4VmvXgBDImvp0uHZMCg4Z6-Yvf3I,1669 +django/contrib/redirects/locale/sk/LC_MESSAGES/django.mo,sha256=4U3JX_UnnYmBNtKseSUobgTslILeZWfn37Dg7q52svY,1160 +django/contrib/redirects/locale/sk/LC_MESSAGES/django.po,sha256=8tDwfdkGAXo4eAR66nfkIdegbyjc3-qBfrMZgrf_cF4,1376 +django/contrib/redirects/locale/sl/LC_MESSAGES/django.mo,sha256=GAZtOFSUxsOHdXs3AzT40D-3JFWIlNDZU_Z-cMvdaHo,1173 +django/contrib/redirects/locale/sl/LC_MESSAGES/django.po,sha256=gkZTyxNh8L2gNxyLVzm-M1HTiK8KDvughTa2MK9NzWo,1351 +django/contrib/redirects/locale/sq/LC_MESSAGES/django.mo,sha256=Js-5m2a1qd32OUxH-iPrgdUGfmMMaAjAXEZHpmQxr-0,1125 +django/contrib/redirects/locale/sq/LC_MESSAGES/django.po,sha256=WpenX8X1zZ6vAM7xi0kAmEXtPX-hz-m1QS4V7UzBeBQ,1307 +django/contrib/redirects/locale/sr/LC_MESSAGES/django.mo,sha256=j3-tpIjJ0vePNMQz4tmZkH3SBfnhA50MFSIHPOHbwHA,1254 +django/contrib/redirects/locale/sr/LC_MESSAGES/django.po,sha256=7GYy8bPElrcLH1CSZ2jXxfxH0-fCkDt7K-jgrWKBM1M,1455 +django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=zVEFUwMO0OobVJnpMEsN0cPG-H1o01idHsRFbM5D7i0,1132 +django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.po,sha256=50ukHV96cGLGb2LBLAhAwmD4nf6Rv0x8unJrzq30ZXA,1333 +django/contrib/redirects/locale/sv/LC_MESSAGES/django.mo,sha256=y1KpTjzF2FWY_x373UyaEFTTNYPT6hroB6zvA1ev010,1147 +django/contrib/redirects/locale/sv/LC_MESSAGES/django.po,sha256=7Us64PRHRyIZ8D7lY6HCef9xXnoSfwWI3YYtlNEaFSo,1362 +django/contrib/redirects/locale/sw/LC_MESSAGES/django.mo,sha256=oJnTp9CTgNsg5TSOV_aPZIUXdr6-l65hAZbaARZCO2w,1078 +django/contrib/redirects/locale/sw/LC_MESSAGES/django.po,sha256=CTVwA3O7GUQb7l1WpbmT8kOfqr7DpqnIyQt3HWJ6YTQ,1245 +django/contrib/redirects/locale/ta/LC_MESSAGES/django.mo,sha256=AE6Py2_CV2gQKjKQAa_UgkLT9i61x3i1hegQpRGuZZM,1502 +django/contrib/redirects/locale/ta/LC_MESSAGES/django.po,sha256=ojdq8p4HnwtK0n6By2I6_xuucOpJIobJEGRMGc_TrS8,1700 +django/contrib/redirects/locale/te/LC_MESSAGES/django.mo,sha256=Gtcs4cbgrD7-bSkPKiPbM5DcjONS2fSdHhvWdbs_E1M,467 +django/contrib/redirects/locale/te/LC_MESSAGES/django.po,sha256=RT-t3TjcOLyNQQWljVrIcPWErKssh_HQMyGujloy-EI,939 +django/contrib/redirects/locale/th/LC_MESSAGES/django.mo,sha256=cnPvlsVYioWu6g3wRN7j0TGfUvi2mSHjygsLe5XQ_RA,1210 +django/contrib/redirects/locale/th/LC_MESSAGES/django.po,sha256=ACxr7blSSbcHljHKwvU5JBJ24pgNv9aKg1RdP4H5kGY,1393 +django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo,sha256=RiZJ_Acsxwz0d4q1JTZWPnbCpW8uiedE_X8PRJdZB0E,1124 +django/contrib/redirects/locale/tr/LC_MESSAGES/django.po,sha256=Gr6fwZ2nLkbosrikKpSgODsRf40GKXBc3RL9pOffCGM,1348 +django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo,sha256=Hf1JXcCGNwedxy1nVRM_pQ0yUebC-tvOXr7P0h86JyI,1178 +django/contrib/redirects/locale/tt/LC_MESSAGES/django.po,sha256=2WCyBQtqZk-8GXgtu-x94JYSNrryy2QoMnirhiBrgV0,1376 +django/contrib/redirects/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 +django/contrib/redirects/locale/udm/LC_MESSAGES/django.po,sha256=xsxlm4itpyLlLdPQRIHLuvTYRvruhM3Ezc9jtp3XSm4,934 +django/contrib/redirects/locale/uk/LC_MESSAGES/django.mo,sha256=nCpHZGF8aYaw3UDrSXugypDHEIkWYHXncmyC_YHzxw0,1414 +django/contrib/redirects/locale/uk/LC_MESSAGES/django.po,sha256=-UDqtKOxcTA4C4O0QW7GnjtnXtEmwDfvfLmNQFMI1No,1700 +django/contrib/redirects/locale/ur/LC_MESSAGES/django.mo,sha256=CQkt-yxyAaTd_Aj1ZZC8s5-4fI2TRyTEZ-SYJZgpRrQ,1138 +django/contrib/redirects/locale/ur/LC_MESSAGES/django.po,sha256=CkhmN49PvYTccvlSRu8qGpcbx2C-1aY7K3Lq1VC2fuM,1330 +django/contrib/redirects/locale/vi/LC_MESSAGES/django.mo,sha256=BquXycJKh-7-D9p-rGUNnjqzs1d6S1YhEJjFW8_ARFA,1106 +django/contrib/redirects/locale/vi/LC_MESSAGES/django.po,sha256=xsCASrGZNbQk4d1mhsTZBcCpPJ0KO6Jr4Zz1wfnL67s,1301 +django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=q_V-681leIEKkVUTw0QmkxkW94pNP_O2IWu6K8mWJrk,1089 +django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po,sha256=zT9NRup3gaT5-i9Tz_l1Fz_vjctz2bwq5mgAb9T1vtc,1315 +django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=35HyQ7p6_pB1xNNbNzjNX8JhMa5HOzAmkF5YUgC70N0,1096 +django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po,sha256=bbDd7Y0E1xAv7EmqAQI3am7VhDo3NxBgjRP8WvolS1s,1313 +django/contrib/redirects/migrations/0001_initial.py,sha256=jl-W40P9AY3VHUP69TmXS3lKVFlwGVIHJ04lEFBkgEY,1491 +django/contrib/redirects/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/sessions/__init__.py,sha256=W7kKt-gCROzrUA6UpIRAit3SHa-coN4_A4fphGikCEk,67 +django/contrib/sessions/apps.py,sha256=q_fkp7a7_1GT14XHkHgNIET0sItgfBeFT7B137_KeZM,194 +django/contrib/sessions/base_session.py,sha256=5FofwClB_ukwCsXPfJbzUvKoYaMQ78B_lWXU0fqSg1k,1490 +django/contrib/sessions/exceptions.py,sha256=epvfG9haHc8p34Ic6IqUSC-Yj06Ruh2TSm9G6HQMdno,256 +django/contrib/sessions/middleware.py,sha256=sbpLTYtkGNo5TfYaHPestSVrhMEbcGL9LXRDk4OD5LQ,3423 +django/contrib/sessions/models.py,sha256=vmROoszsXHnPHoSbFca8k-U9Z8Wg6EAHYeEK87VHHk8,1257 +django/contrib/sessions/serializers.py,sha256=FUUY-XXwipIA085gJSNNcTxVQqo12YE9EFainIxNPdU,394 +django/contrib/sessions/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/sessions/backends/base.py,sha256=aFxoGhXQaZb6nj6Q_KbpyFWjrYUuDOOLh3uY3objGFc,11967 +django/contrib/sessions/backends/cache.py,sha256=-qeSz07gUidiY_xq7imMJ3SP17J_rLsIO50KxOhq_8E,2713 +django/contrib/sessions/backends/cached_db.py,sha256=S1EMi_8GiSbImzdndIvzX8iMnJwHI-G1km40fbZeLXg,2686 +django/contrib/sessions/backends/db.py,sha256=JVPC09-K9a7yIhvFDWPfpu6QP7A0jeUkome5dbLXELY,3703 +django/contrib/sessions/backends/file.py,sha256=iI2Q3qdHDEAbYpGBdvkTeWDU3Rrx_DsR--OjIAXX_bI,7906 +django/contrib/sessions/backends/signed_cookies.py,sha256=jcBrD3gUHrdETWf6JvwDVCFe4eAiRbH8i2oMJjwpXPs,2696 +django/contrib/sessions/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 +django/contrib/sessions/locale/af/LC_MESSAGES/django.po,sha256=fdRPUBMVUrpvAi9zsvwSnts55Wdnj4r2kLxKeroIsSM,745 +django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo,sha256=yoepqaR68PTGLx--cAOzP94Sqyl5xIYpeQ0IFWgY380,846 +django/contrib/sessions/locale/ar/LC_MESSAGES/django.po,sha256=ZgwtBYIdtnqp_8nKHXF1NVJFzQU81-3yv9b7STrQHMc,995 +django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo,sha256=hz2m-PkrHby2CKfIOARj6kCzisT-Vs0syfDSTx_iVVw,702 +django/contrib/sessions/locale/ast/LC_MESSAGES/django.po,sha256=M90j1Nx6oDJ16hguUkfKYlyb5OymUeZ5xzPixWxSC7I,846 +django/contrib/sessions/locale/az/LC_MESSAGES/django.mo,sha256=XJskCf7jcxBH-i_gqfJIHVO3Loh3w6_kIyod5nxLu7Y,700 +django/contrib/sessions/locale/az/LC_MESSAGES/django.po,sha256=74663H2-Uz-RMRfDN8E4-Z5LxZ6deAlgdEdvpa-_YK0,846 +django/contrib/sessions/locale/be/LC_MESSAGES/django.mo,sha256=8b7MeFDTL6VStOnVHtkb_o4Iiy0gTHoCwTUbT1vRr9Q,895 +django/contrib/sessions/locale/be/LC_MESSAGES/django.po,sha256=tHsYVn3XNTcukB0SrHUWP1iV763rrQHCimOyJHRPiek,1023 +django/contrib/sessions/locale/bg/LC_MESSAGES/django.mo,sha256=DGp3j3E0-5bBjFCKx9c6Jcz9ZaXysd2DgVPuxROWDmU,783 +django/contrib/sessions/locale/bg/LC_MESSAGES/django.po,sha256=AEgnW2F8S85JZOh4JVJ6nLynsmHRZOBBoOluVxHosVo,942 +django/contrib/sessions/locale/bn/LC_MESSAGES/django.mo,sha256=0BdFN7ou9tmoVG00fCA-frb1Tri3iKz43W7SWal398s,762 +django/contrib/sessions/locale/bn/LC_MESSAGES/django.po,sha256=LycmTel6LXV2HGGN6qzlAfID-cVEQCNnW1Nv_hbWXJk,909 +django/contrib/sessions/locale/br/LC_MESSAGES/django.mo,sha256=-tOybnibUnlB-jOPm9-oi40D1fhoszQ7fvq6vMhiwOg,536 +django/contrib/sessions/locale/br/LC_MESSAGES/django.po,sha256=lQiZ3aJ1B4o1-LHuXMyYWlUetaAAvMleqr0pFT1acww,787 +django/contrib/sessions/locale/bs/LC_MESSAGES/django.mo,sha256=M7TvlJMrSUAFhp7oUSpUKejnbTuIK-19yiGBBECl9Sc,759 +django/contrib/sessions/locale/bs/LC_MESSAGES/django.po,sha256=Ur0AeRjXUsLgDJhcGiw75hRk4Qe98DzPBOocD7GFDRQ,909 +django/contrib/sessions/locale/ca/LC_MESSAGES/django.mo,sha256=tbaZ48PaihGGD9-2oTKiMFY3kbXjU59nNciCRINOBNk,738 +django/contrib/sessions/locale/ca/LC_MESSAGES/django.po,sha256=tJuJdehKuD9aXOauWOkE5idQhsVsLbeg1Usmc6N_SP0,906 +django/contrib/sessions/locale/cs/LC_MESSAGES/django.mo,sha256=4ZL8ECaHYx2PdPoQlpQ1YiNVVyQRH1TR5NblBRmmxB8,747 +django/contrib/sessions/locale/cs/LC_MESSAGES/django.po,sha256=-Y7fL3Ge6Cfiet1UZtA6xejOnpD0FPj37ruqImKxKn4,906 +django/contrib/sessions/locale/cy/LC_MESSAGES/django.mo,sha256=GeWVeV2PvgLQV8ecVUA2g3-VvdzMsedgIDUSpn8DByk,774 +django/contrib/sessions/locale/cy/LC_MESSAGES/django.po,sha256=zo18MXtkEdO1L0Q6ewFurx3lsEWTCdh0JpQJTmvw5bY,952 +django/contrib/sessions/locale/da/LC_MESSAGES/django.mo,sha256=cR9YutBJxPiisDQ-C14H2J7TiNOVmna3094Vuq0txqs,722 +django/contrib/sessions/locale/da/LC_MESSAGES/django.po,sha256=qX_Oo7niVo57bazlIYFA6bnVmPBclUUTWvZFYNLaG04,880 +django/contrib/sessions/locale/de/LC_MESSAGES/django.mo,sha256=N3kTal0YK9z7Te3zYGLbJmoSB6oWaviWDLGdPlsPa9g,721 +django/contrib/sessions/locale/de/LC_MESSAGES/django.po,sha256=0qnfDeCUQN2buKn6R0MvwhQP05XWxSu-xgvfxvnJe3k,844 +django/contrib/sessions/locale/dsb/LC_MESSAGES/django.mo,sha256=RABl3WZmY6gLh4IqmTUhoBEXygDzjp_5lLF1MU9U5fA,810 +django/contrib/sessions/locale/dsb/LC_MESSAGES/django.po,sha256=cItKs5tASYHzDxfTg0A_dgBQounpzoGyOEFn18E_W_g,934 +django/contrib/sessions/locale/el/LC_MESSAGES/django.mo,sha256=QbTbmcfgc8_4r5hFrIghDhk2XQ4f8_emKmqupMG2ah0,809 +django/contrib/sessions/locale/el/LC_MESSAGES/django.po,sha256=HeaEbpVmFhhrZt2NsZteYaYoeo8FYKZF0IoNJwtzZkc,971 +django/contrib/sessions/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/sessions/locale/en/LC_MESSAGES/django.po,sha256=afaM-IIUZtcRZduojUTS8tT0w7C4Ya9lXgReOvq_iF0,804 +django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 +django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.po,sha256=gvnvUpim1l7oImnzPXqBww-Uz0TgGjzCLaaszpdkQ10,761 +django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.mo,sha256=T5NQCTYkpERfP9yKbUvixT0VdBt1zGmGB8ITlkVc420,707 +django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.po,sha256=1ks_VE1qpEfPcyKg0HybkTG0-DTttTHTfUPhQCR53sw,849 +django/contrib/sessions/locale/eo/LC_MESSAGES/django.mo,sha256=eBvYQbZS_WxVV3QCSZAOyHNIljC2ZXxVc4mktUuXVjI,727 +django/contrib/sessions/locale/eo/LC_MESSAGES/django.po,sha256=Ru9xicyTgHWVHh26hO2nQNFRQmwBnYKEagsS8TZRv3E,917 +django/contrib/sessions/locale/es/LC_MESSAGES/django.mo,sha256=jbHSvHjO2OCLlBD66LefocKOEbefWbPhj-l3NugiWuc,734 +django/contrib/sessions/locale/es/LC_MESSAGES/django.po,sha256=fY5WXeONEXHeuBlH0LkvzdZ2CSgbvLZ8BJc429aIbhI,909 +django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.mo,sha256=ACc53N0nFsdhIhvuinICI6XhGhHwxMeZjA--46TAXso,735 +django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.po,sha256=AnmvjeOA7EBTJ6wMOkCl8JRLVYRU8KS0egPijcKutns,879 +django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.mo,sha256=UP7ia0gV9W-l0Qq5AS4ZPadJtml8iuzzlS5C9guMgh8,754 +django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.po,sha256=_XeiiRWvDaGjofamsRHr5up_EQvcw0w-GLLeWK27Af8,878 +django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.mo,sha256=MDM0K3xMvyf8ymvAurHYuacpxfG_YfJFyNnp1uuc6yY,756 +django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.po,sha256=Y7VNa16F_yyK7_XJvF36rR2XNW8aBJK4UDweufyXpxE,892 +django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 +django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.po,sha256=zWjgB0AmsmhX2tjk1PgldttqY56Czz8epOVCaYWXTLU,761 +django/contrib/sessions/locale/et/LC_MESSAGES/django.mo,sha256=aL1jZWourEC7jtjsuBZHD-Gw9lpL6L1SoqjTtzguxD0,737 +django/contrib/sessions/locale/et/LC_MESSAGES/django.po,sha256=VNBYohAOs59jYWkjVMY-v2zwVy5AKrtBbFRJZLwdCFg,899 +django/contrib/sessions/locale/eu/LC_MESSAGES/django.mo,sha256=M9piOB_t-ZnfN6pX-jeY0yWh2S_5cCuo1oGiy7X65A4,728 +django/contrib/sessions/locale/eu/LC_MESSAGES/django.po,sha256=bHdSoknoH0_dy26e93tWVdO4TT7rnCPXlSLPsYAhwyw,893 +django/contrib/sessions/locale/fa/LC_MESSAGES/django.mo,sha256=6DdJcqaYuBnhpFFHR42w-RqML0eQPFMAUEEDY0Redy8,755 +django/contrib/sessions/locale/fa/LC_MESSAGES/django.po,sha256=NgJlLPsS9FXjRzKqGgUTkNG9puYrBRf0KQK-QqXMIxQ,916 +django/contrib/sessions/locale/fi/LC_MESSAGES/django.mo,sha256=oAugvlTEvJmG8KsZw09WcfnifYY5oHnGo4lxcxqKeaY,721 +django/contrib/sessions/locale/fi/LC_MESSAGES/django.po,sha256=BVVrjbZZtLGAuZ9HK63p769CbjZFZMlS4BewSMfNMKU,889 +django/contrib/sessions/locale/fr/LC_MESSAGES/django.mo,sha256=HQ3DEjxHQeHRYmu7SYVSDl1ZQHhamnw-mJ5vci5io1g,733 +django/contrib/sessions/locale/fr/LC_MESSAGES/django.po,sha256=hARxGdtBOzEZ_iVyzkNvcKlgyM8fOkdXTH3upj2XFYM,893 +django/contrib/sessions/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 +django/contrib/sessions/locale/fy/LC_MESSAGES/django.po,sha256=U-VEY4WbmIkmrnPK4Mv-B-pbdtDzusBCVmE8iHyvzFU,751 +django/contrib/sessions/locale/ga/LC_MESSAGES/django.mo,sha256=pYchS6m-SPtKOFLAw0IJwW6DKXu6VnwPeKl6X80e8hI,747 +django/contrib/sessions/locale/ga/LC_MESSAGES/django.po,sha256=ArrEYC58VzWDKq2RAYXi5VsxzD6RUon1pyA7NUj9pEE,894 +django/contrib/sessions/locale/gd/LC_MESSAGES/django.mo,sha256=Yi8blY_fUD5YTlnUD6YXZvv1qjm4QDriO6CJIUe1wIk,791 +django/contrib/sessions/locale/gd/LC_MESSAGES/django.po,sha256=fEa40AUqA5vh743Zqv0FO2WxSFXGYk4IzUR4BoaP-C4,890 +django/contrib/sessions/locale/gl/LC_MESSAGES/django.mo,sha256=uQ2ZmtUNoVCB2mSlMGSy-j4a_hu9PBfJDo796d8beFA,701 +django/contrib/sessions/locale/gl/LC_MESSAGES/django.po,sha256=FovTLHdVK15N9FI9lFFAOP4zt7GsvO0kKdocgeVDkNk,902 +django/contrib/sessions/locale/he/LC_MESSAGES/django.mo,sha256=qhgjSWfGAOgl-i7iwzSrJttx88xcj1pB0iLkEK64mJU,809 +django/contrib/sessions/locale/he/LC_MESSAGES/django.po,sha256=gtBgkC2bpVyWm8B5pjV3-9tBo0xqUsJuJz2neN79isg,969 +django/contrib/sessions/locale/hi/LC_MESSAGES/django.mo,sha256=naqxOjfAnNKy3qqnUG-4LGf9arLRJpjyWWmSj5tEfao,759 +django/contrib/sessions/locale/hi/LC_MESSAGES/django.po,sha256=WnTGvOz9YINMcUJg2BYCaHceZLKaTfsba_0AZtRNP38,951 +django/contrib/sessions/locale/hr/LC_MESSAGES/django.mo,sha256=axyJAmXmadpFxIhu8rroVD8NsGGadQemh9-_ZDo7L1U,819 +django/contrib/sessions/locale/hr/LC_MESSAGES/django.po,sha256=3G-qOYXBO-eMWWsa5LwTCW9M1oF0hlWgEz7hAK8hJqI,998 +django/contrib/sessions/locale/hsb/LC_MESSAGES/django.mo,sha256=_OXpOlCt4KU0i65Iw4LMjSsyn__E9wH20l9vDNBSEzw,805 +django/contrib/sessions/locale/hsb/LC_MESSAGES/django.po,sha256=yv3vX_UCDrdl07GQ79Mnytwgz2oTvySYOG9enzMpFJA,929 +django/contrib/sessions/locale/hu/LC_MESSAGES/django.mo,sha256=ik40LnsWkKYEUioJB9e11EX9XZ-qWMa-S7haxGhM-iI,727 +django/contrib/sessions/locale/hu/LC_MESSAGES/django.po,sha256=1-UWEEsFxRwmshP2x4pJbitWIGZ1YMeDDxnAX-XGNxc,884 +django/contrib/sessions/locale/ia/LC_MESSAGES/django.mo,sha256=-o4aQPNJeqSDRSLqcKuYvJuKNBbFqDJDe3IzHgSgZeQ,744 +django/contrib/sessions/locale/ia/LC_MESSAGES/django.po,sha256=PULLDd3QOIU03kgradgQzT6IicoPhLPlUvFgRl-tGbA,869 +django/contrib/sessions/locale/id/LC_MESSAGES/django.mo,sha256=mOaIF0NGOO0-dt-nhHL-i3cfvt9-JKTbyUkFWPqDS9Y,705 +django/contrib/sessions/locale/id/LC_MESSAGES/django.po,sha256=EA6AJno3CaFOO-dEU9VQ_GEI-RAXS0v0uFqn1RJGjEs,914 +django/contrib/sessions/locale/io/LC_MESSAGES/django.mo,sha256=_rqAY6reegqmxmWc-pW8_kDaG9zflZuD-PGOVFsjRHo,683 +django/contrib/sessions/locale/io/LC_MESSAGES/django.po,sha256=tbKMxGuB6mh_m0ex9rO9KkTy6qyuRW2ERrQsGwmPiaw,840 +django/contrib/sessions/locale/is/LC_MESSAGES/django.mo,sha256=3QeMl-MCnBie9Sc_aQ1I7BrBhkbuArpoSJP95UEs4lg,706 +django/contrib/sessions/locale/is/LC_MESSAGES/django.po,sha256=LADIFJv8L5vgDJxiQUmKPSN64zzzrIKImh8wpLBEVWQ,853 +django/contrib/sessions/locale/it/LC_MESSAGES/django.mo,sha256=qTY3O-0FbbpZ5-BR5xOJWP0rlnIkBZf-oSawW_YJWlk,726 +django/contrib/sessions/locale/it/LC_MESSAGES/django.po,sha256=hEv0iTGLuUvEBk-lF-w7a9P3ifC0-eiodNtuSc7cXhg,869 +django/contrib/sessions/locale/ja/LC_MESSAGES/django.mo,sha256=hbv9FzWzXRIGRh_Kf_FLQB34xfmPU_9RQKn9u1kJqGU,757 +django/contrib/sessions/locale/ja/LC_MESSAGES/django.po,sha256=ppGx5ekOWGgDF3vzyrWsqnFUZ-sVZZhiOhvAzl_8v54,920 +django/contrib/sessions/locale/ka/LC_MESSAGES/django.mo,sha256=VZ-ysrDbea_-tMV-1xtlTeW62IAy2RWR94V3Y1iSh4U,803 +django/contrib/sessions/locale/ka/LC_MESSAGES/django.po,sha256=MDOG7BAO8Ez75CfgERCq1zA3syJbvQKpc4wBVlryfqQ,950 +django/contrib/sessions/locale/kab/LC_MESSAGES/django.mo,sha256=W_yE0NDPJrVznA2Qb89VuprJNwyxSg59ovvjkQe6mAs,743 +django/contrib/sessions/locale/kab/LC_MESSAGES/django.po,sha256=FJeEuv4P3NT_PpWHEUsQVSWXu65nYkJ6Z2AlbSKb0ZA,821 +django/contrib/sessions/locale/kk/LC_MESSAGES/django.mo,sha256=FROGz_MuIhsIU5_-EYV38cHnRZrc3-OxxkBeK0ax9Rk,810 +django/contrib/sessions/locale/kk/LC_MESSAGES/django.po,sha256=l5gu1XfvRMNhCHBl-NTGoUHWa0nRSxqSDt0zljpr7Kg,1024 +django/contrib/sessions/locale/km/LC_MESSAGES/django.mo,sha256=VOuKsIG2DEeCA5JdheuMIeJlpmAhKrI6lD4KWYqIIPk,929 +django/contrib/sessions/locale/km/LC_MESSAGES/django.po,sha256=09i6Nd_rUK7UqFpJ70LMXTR6xS0NuGETRLe0CopMVBk,1073 +django/contrib/sessions/locale/kn/LC_MESSAGES/django.mo,sha256=X5svX5_r3xZUy4OjUuo2gItc5PIOSjZOvE5IZwnM6Io,814 +django/contrib/sessions/locale/kn/LC_MESSAGES/django.po,sha256=Rq-I2veQe5l7Q7HG9pRY_mKeNcxhSRDgqphKbuNpoNc,961 +django/contrib/sessions/locale/ko/LC_MESSAGES/django.mo,sha256=EUyVQYGtiFJg01mP30a0iOqBYHvpzHAcGTZM28Ubs5Q,700 +django/contrib/sessions/locale/ko/LC_MESSAGES/django.po,sha256=PjntvSzRz_Aekj9VFhGsP5yO6rAsxTMzwFj58JqToIU,855 +django/contrib/sessions/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 +django/contrib/sessions/locale/lb/LC_MESSAGES/django.po,sha256=3igeAnQjDg6D7ItBkQQhyBoFJOZlBxT7NoZiExwD-Fo,749 +django/contrib/sessions/locale/lt/LC_MESSAGES/django.mo,sha256=L9w8-qxlDlCqR_2P0PZegfhok_I61n0mJ1koJxzufy4,786 +django/contrib/sessions/locale/lt/LC_MESSAGES/django.po,sha256=7e5BmXuaHHgGX5W1eC6wIH2QyMTNOg4JZjkZM0i-jTc,952 +django/contrib/sessions/locale/lv/LC_MESSAGES/django.mo,sha256=exEzDUNwNS0GLsUkKPu_SfqBxU7T6VRA_T2schIQZ88,753 +django/contrib/sessions/locale/lv/LC_MESSAGES/django.po,sha256=fBgQEbsGg1ECVm1PFDrS2sfKs2eqmsqrSYzx9ELotNQ,909 +django/contrib/sessions/locale/mk/LC_MESSAGES/django.mo,sha256=4oTWp8-qzUQBiqG32hNieABgT3O17q2C4iEhcFtAxLA,816 +django/contrib/sessions/locale/mk/LC_MESSAGES/django.po,sha256=afApb5YRhPXUWR8yF_TTym73u0ov7lWiwRda1-uNiLY,988 +django/contrib/sessions/locale/ml/LC_MESSAGES/django.mo,sha256=P1z831CbjKP38Sd_-d6_1P7V8fFXOGS6pyznw_x7dhg,780 +django/contrib/sessions/locale/ml/LC_MESSAGES/django.po,sha256=eTDbMq3x_kk7YkSzVLYk9szi1D3EwDwqeSnmuOXVxyY,927 +django/contrib/sessions/locale/mn/LC_MESSAGES/django.mo,sha256=NgVteIZT90EJ3TJCQFzMHfxeZ5m9IGcGnMYd5SaMnT4,769 +django/contrib/sessions/locale/mn/LC_MESSAGES/django.po,sha256=PmEcp36DnnvGScoVjc6GtRK9XIxnXHnHaD6ZflOIXP8,972 +django/contrib/sessions/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 +django/contrib/sessions/locale/mr/LC_MESSAGES/django.po,sha256=FQRdZ-qIDuvTCrwbnWfxoxNi8rywLSebcNbxGvr-hb0,743 +django/contrib/sessions/locale/my/LC_MESSAGES/django.mo,sha256=8zzzyfJYok969YuAwDUaa6YhxaSi3wcXy3HRNXDb_70,872 +django/contrib/sessions/locale/my/LC_MESSAGES/django.po,sha256=mfs0zRBI0tugyyEfXBZzZ_FMIohydq6EYPZGra678pw,997 +django/contrib/sessions/locale/nb/LC_MESSAGES/django.mo,sha256=hfJ1NCFgcAAtUvNEpaZ9b31PyidHxDGicifUWANIbM8,717 +django/contrib/sessions/locale/nb/LC_MESSAGES/django.po,sha256=yXr6oYuiu01oELdQKuztQFWz8x5C2zS5OzEfU9MHJsU,908 +django/contrib/sessions/locale/ne/LC_MESSAGES/django.mo,sha256=slFgMrqGVtLRHdGorLGPpB09SM92_WnbnRR0rlpNlPQ,802 +django/contrib/sessions/locale/ne/LC_MESSAGES/django.po,sha256=1vyoiGnnaB8f9SFz8PGfzpw6V_NoL78DQwjjnB6fS98,978 +django/contrib/sessions/locale/nl/LC_MESSAGES/django.mo,sha256=X-ZuB8Zn9c5saUvUf8gj9R8gyrQuKUyUDVfs_0IvCY0,733 +django/contrib/sessions/locale/nl/LC_MESSAGES/django.po,sha256=smRr-QPGm6h6hdXxghggWES8b2NnL7yDQ07coUypa8g,909 +django/contrib/sessions/locale/nn/LC_MESSAGES/django.mo,sha256=042gOyJuXb51nG7gxI_rYst9QWuB3thtAeevKpDLFVQ,695 +django/contrib/sessions/locale/nn/LC_MESSAGES/django.po,sha256=j2kDL1vDsHoBX_ky6_S0tWxaqFst6v7OLqqlt6N2ECI,842 +django/contrib/sessions/locale/os/LC_MESSAGES/django.mo,sha256=xVux1Ag45Jo9HQBbkrRzcWrNjqP09nMQl16jIh0YVlo,732 +django/contrib/sessions/locale/os/LC_MESSAGES/django.po,sha256=1hG5Vsz2a2yW05_Z9cTNrBKtK9VRPZuQdx4KJ_0n98o,892 +django/contrib/sessions/locale/pa/LC_MESSAGES/django.mo,sha256=qEx4r_ONwXK1-qYD5uxxXEQPqK5I6rf38QZoUSm7UVA,771 +django/contrib/sessions/locale/pa/LC_MESSAGES/django.po,sha256=M7fmVGP8DtZGEuTV3iJhuWWqILVUTDZvUey_mrP4_fM,918 +django/contrib/sessions/locale/pl/LC_MESSAGES/django.mo,sha256=55aWzhu56-g9b84xx-zfBDIDd_pH82iLu7Nx87HcCRU,869 +django/contrib/sessions/locale/pl/LC_MESSAGES/django.po,sha256=C_MJBB-vwTZbx-t4-mzun-RxHhdOVv04b6xrWdnTv8E,1084 +django/contrib/sessions/locale/pt/LC_MESSAGES/django.mo,sha256=dlJF7hF4GjLmQPdAJhtf-FCKX26XsOmZlChOcxxIqPk,738 +django/contrib/sessions/locale/pt/LC_MESSAGES/django.po,sha256=cOycrw3HCHjSYBadpalyrg5LdRTlqZCTyMh93GOQ8O0,896 +django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.mo,sha256=XHNF5D8oXIia3e3LYwxd46a2JOgDc_ykvc8yuo21fT0,757 +django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.po,sha256=K_zxKaUKngWPFpvHgXOcymJEsiONSw-OrVrroRXmUUk,924 +django/contrib/sessions/locale/ro/LC_MESSAGES/django.mo,sha256=WR9I9Gum_pq7Qg2Gzhf-zAv43OwR_uDtsbhtx4Ta5gE,776 +django/contrib/sessions/locale/ro/LC_MESSAGES/django.po,sha256=fEgVxL_0Llnjspu9EsXBf8AVL0DGdfF7NgV88G7WN1E,987 +django/contrib/sessions/locale/ru/LC_MESSAGES/django.mo,sha256=n-8vXR5spEbdfyeWOYWC_6kBbAppNoRrWYgqKFY6gJA,913 +django/contrib/sessions/locale/ru/LC_MESSAGES/django.po,sha256=sNqNGdoof6eXzFlh4YIp1O54MdDOAFDjD3GvAFsNP8k,1101 +django/contrib/sessions/locale/sk/LC_MESSAGES/django.mo,sha256=Yntm624Wt410RwuNPU1c-WwQoyrRrBs69VlKMlNUHeQ,766 +django/contrib/sessions/locale/sk/LC_MESSAGES/django.po,sha256=JIvzoKw_r4jZXWEaHvIYAZDAzrEkfpr0WM9dNfUlzBE,924 +django/contrib/sessions/locale/sl/LC_MESSAGES/django.mo,sha256=EE6mB8BiYRyAxK6qzurRWcaYVs96FO_4rERYQdtIt3k,770 +django/contrib/sessions/locale/sl/LC_MESSAGES/django.po,sha256=KTjBWyvaNCHbpV9K6vbnavwxxXqf2DlIqVPv7MVFcO8,928 +django/contrib/sessions/locale/sq/LC_MESSAGES/django.mo,sha256=3mGqKLgno-t7B3jyQpSaIJfDVAxbfOSDr5G9OUE7fqc,724 +django/contrib/sessions/locale/sq/LC_MESSAGES/django.po,sha256=9pzp7834LQKafe5fJzC4OKsAd6XfgtEQl6K6hVLaBQM,844 +django/contrib/sessions/locale/sr/LC_MESSAGES/django.mo,sha256=PcSKdLH8nNGRHXNEjFJ7VQ1eu9eEsVWdkJU-TiDxjZE,812 +django/contrib/sessions/locale/sr/LC_MESSAGES/django.po,sha256=Kp5NsKVESKMcb4LHVa3DmKaktexzuE3Bsv5TmELbiEI,962 +django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=dWZsW7FyUMuFszdDvWNALmijsEwI5s8BrNrDz36KmJ4,787 +django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.po,sha256=HZQeob-g8_DNCmn7jzDPzM4MP4e3oncK2nF3Kdace84,937 +django/contrib/sessions/locale/sv/LC_MESSAGES/django.mo,sha256=SGbr0K_5iAMA22MfseAldMDgLSEBrI56pCtyV8tMAPc,707 +django/contrib/sessions/locale/sv/LC_MESSAGES/django.po,sha256=vraY3915wBYGeYu9Ro0-TlBeLWqGZP1fbckLv8y47Ys,853 +django/contrib/sessions/locale/sw/LC_MESSAGES/django.mo,sha256=Edhqp8yuBnrGtJqPO7jxobeXN4uU5wKSLrOsFO1F23k,743 +django/contrib/sessions/locale/sw/LC_MESSAGES/django.po,sha256=iY4rN4T-AA2FBQA7DiWWFvrclqKiDYQefqwwVw61-f8,858 +django/contrib/sessions/locale/ta/LC_MESSAGES/django.mo,sha256=qLIThhFQbJKc1_UVr7wVIm1rJfK2rO5m84BCB_oKq7s,801 +django/contrib/sessions/locale/ta/LC_MESSAGES/django.po,sha256=bYqtYf9XgP9IKKFJXh0u64JhRhDvPPUliI1J-NeRpKE,945 +django/contrib/sessions/locale/te/LC_MESSAGES/django.mo,sha256=kteZeivEckt4AmAeKgmgouMQo1qqSQrI8M42B16gMnQ,786 +django/contrib/sessions/locale/te/LC_MESSAGES/django.po,sha256=dQgiNS52RHrL6bV9CEO7Jk9lk3YUQrUBDCg_bP2OSZc,980 +django/contrib/sessions/locale/th/LC_MESSAGES/django.mo,sha256=xJE3u78wMj916Y4aJoeqduxa1L1QqiWzgNTtz1FXWJQ,757 +django/contrib/sessions/locale/th/LC_MESSAGES/django.po,sha256=Ks4o9M9Oo7E_A3bFnthS4RkI7Ht0ijPFkMCalItdj3w,901 +django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo,sha256=H-DMP3N3AHZj1Q9aYeBOMA10nN1CIuJkUEY7QAy1b3g,726 +django/contrib/sessions/locale/tr/LC_MESSAGES/django.po,sha256=XYKo0_P5xitYehvjMzEw2MTp_Nza-cIXEECV3dA6BmY,863 +django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo,sha256=Q-FGu_ljTsxXO_EWu7zCzGwoqFXkeoTzWSlvx85VLGc,806 +django/contrib/sessions/locale/tt/LC_MESSAGES/django.po,sha256=UC85dFs_1836noZTuZEzPqAjQMFfSvj7oGmEWOGcfCA,962 +django/contrib/sessions/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 +django/contrib/sessions/locale/udm/LC_MESSAGES/django.po,sha256=CPml2Fn9Ax_qO5brCFDLPBoTiNdvsvJb1btQ0COwUfY,737 +django/contrib/sessions/locale/uk/LC_MESSAGES/django.mo,sha256=jzNrLuFghQMCHNRQ0ihnKMCicgear0yWiTOLnvdPszw,841 +django/contrib/sessions/locale/uk/LC_MESSAGES/django.po,sha256=GM9kNL1VoFSRfbHB5KiivIbp-nJl1aZ69wL2xszNqlM,1017 +django/contrib/sessions/locale/ur/LC_MESSAGES/django.mo,sha256=FkGIiHegr8HR8zjVyJ9TTW1T9WYtAL5Mg77nRKnKqWk,729 +django/contrib/sessions/locale/ur/LC_MESSAGES/django.po,sha256=qR4QEBTP6CH09XFCzsPSPg2Dv0LqzbRV_I67HO2OUwk,879 +django/contrib/sessions/locale/vi/LC_MESSAGES/django.mo,sha256=KriTpT-Hgr10DMnY5Bmbd4isxmSFLmav8vg2tuL2Bb8,679 +django/contrib/sessions/locale/vi/LC_MESSAGES/django.po,sha256=M7S46Q0Q961ykz_5FCAN8SXQ54w8tp4rZeZpy6bPtXs,909 +django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=zsbhIMocgB8Yn1XEBxbIIbBh8tLifvvYNlhe5U61ch8,722 +django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po,sha256=tPshgXjEv6pME4N082ztamJhd5whHB2_IV_egdP-LlQ,889 +django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=WZzfpFKZ41Pu8Q9SuhGu3hXwp4eiq8Dt8vdiQfxvF9M,733 +django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po,sha256=6IRDQu6-PAYh6SyEIcKdhuR172lX0buY8qqsU0QXlYU,898 +django/contrib/sessions/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/sessions/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/sessions/management/commands/clearsessions.py,sha256=yDcSmK65l5H1-2hiHhDlN0zivQrxm_ihNKLKt6MmRiQ,650 +django/contrib/sessions/migrations/0001_initial.py,sha256=F7fzk2d9hDPjUwx2w-lXdZcFG1h4HyHnkfcJ6aK7C-0,955 +django/contrib/sessions/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/sitemaps/__init__.py,sha256=4pL-xZ3nNPbczruFZqnL8xTH5KrGL_C1AgdfBMfWfwY,5632 +django/contrib/sitemaps/apps.py,sha256=ktY9PcWsmv5TOlvEdG6IL8ZBbGMtZRpO24j5g7DGilU,195 +django/contrib/sitemaps/views.py,sha256=KP-cCkD4VGFbd4ZavWK79gAkZa83APeRgTx-eouny4M,3516 +django/contrib/sitemaps/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/sitemaps/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/sitemaps/management/commands/ping_google.py,sha256=IzUg9OZa2e3AjwX4bCFEldXzaLsT4O4WnbUgeUKe6qg,412 +django/contrib/sitemaps/templates/sitemap.xml,sha256=KTiksPVpo22dkRjjavoJtckzo-Rin7aZ_QgbC42Y8O0,479 +django/contrib/sitemaps/templates/sitemap_index.xml,sha256=VqDmRlWMx9kC6taiBoi1h9JVspV54ou3nFjE8Nfofl8,209 +django/contrib/sites/__init__.py,sha256=qIj6PsbyT_DVkvjrASve-9F8GeoCKv6sO0-jlEhRJv4,61 +django/contrib/sites/admin.py,sha256=ClzCRn4fUPWO1dNlEWEPjSDInnK87XbNRmadvjYs1go,214 +django/contrib/sites/apps.py,sha256=xRYkn8bbxOK7rSsDiLHPkxUqAN4iscVMvwKIjiwdj94,365 +django/contrib/sites/management.py,sha256=K6cgSOdN4ins_TiWjUIkGFwuibJmshTlFonqYT2QKrw,1597 +django/contrib/sites/managers.py,sha256=OJfKicEOuqcD0B7NuH4scszrknQZ-X1Nf1PL0XgWqLM,1929 +django/contrib/sites/middleware.py,sha256=qYcVHsHOg0VxQNS4saoLHkdF503nJR-D7Z01vE0SvUM,309 +django/contrib/sites/models.py,sha256=gj4u6mr8lvOlBJNaF3pSqAT6tk4YnktmaKlpBuDNE0A,3729 +django/contrib/sites/requests.py,sha256=74RhONzbRqEGoNXLu4T7ZjAFKYvCLmY_XQWnGRz6jdw,640 +django/contrib/sites/shortcuts.py,sha256=RZr1iT8zY_z8o52PIWEBFCQL03pE28pp6708LveS240,581 +django/contrib/sites/locale/af/LC_MESSAGES/django.mo,sha256=CeuKxmXn3PSw7eh7O_0bC4NUBVmOhdDcOsnsYycLD44,470 +django/contrib/sites/locale/af/LC_MESSAGES/django.po,sha256=WNd-q5lgjiRfXAGb7iv5iUkCnS_RcI098GNjn4MezDc,775 +django/contrib/sites/locale/ar/LC_MESSAGES/django.mo,sha256=kLoytp2jvhWn6p1c8kNVua2sYAMnrpS4xnbluHD22Vs,947 +django/contrib/sites/locale/ar/LC_MESSAGES/django.po,sha256=HYA3pA29GktzXBP-soUEn9VP2vkZuhVIXVA8TNPCHCs,1135 +django/contrib/sites/locale/ast/LC_MESSAGES/django.mo,sha256=eEvaeiGnZFBPGzKLlRz4M9AHemgJVAb-yNpbpxRqtd0,774 +django/contrib/sites/locale/ast/LC_MESSAGES/django.po,sha256=huBohKzLpdaJRFMFXXSDhDCUOqVqyWXfxb8_lLOkUd0,915 +django/contrib/sites/locale/az/LC_MESSAGES/django.mo,sha256=TOdJMsIhxYvxT1-ZFiPD5JDhA9fBBpu84tpiYhv7tgE,608 +django/contrib/sites/locale/az/LC_MESSAGES/django.po,sha256=M5mYWSyOohsNTtC_BWlDbw4PTsQWdEnbirf_4S0zInw,835 +django/contrib/sites/locale/be/LC_MESSAGES/django.mo,sha256=b-0febeZF-EX53E--W-G3lkpiozt7En6yfDIJYnNrQw,1024 +django/contrib/sites/locale/be/LC_MESSAGES/django.po,sha256=W5FhVJKcmd3WHl2Lpd5NJUsc7_sE_1Pipk3CVPoGPa4,1152 +django/contrib/sites/locale/bg/LC_MESSAGES/django.mo,sha256=a2R52umIQIhnzFaFYSRhQ6nBlywE8RGMj2FUOFmyb0A,904 +django/contrib/sites/locale/bg/LC_MESSAGES/django.po,sha256=awB8RMS-qByhNB6eH2f0Oyxb3SH8waLhrZ--rokGfaI,1118 +django/contrib/sites/locale/bn/LC_MESSAGES/django.mo,sha256=cI3a9_L-OC7gtdyRNaGX7A5w0Za0M4ERnYB7rSNkuRU,925 +django/contrib/sites/locale/bn/LC_MESSAGES/django.po,sha256=8ZxYF16bgtTZSZRZFok6IJxUV02vIztoVx2qXqwO8NM,1090 +django/contrib/sites/locale/br/LC_MESSAGES/django.mo,sha256=YMRHUamxztFILZxGTecQvUitRUcMnvLdqCoARq-NISM,628 +django/contrib/sites/locale/br/LC_MESSAGES/django.po,sha256=S0kQZf-Z5XrqJEPc03kHB1XrmQcjYboEq7KeEegaoCc,848 +django/contrib/sites/locale/bs/LC_MESSAGES/django.mo,sha256=bDeqQNme586LnQRQdvOWaLGZssjOoECef3vMq_OCXno,692 +django/contrib/sites/locale/bs/LC_MESSAGES/django.po,sha256=xRTWInDNiLxikjwsjgW_pYjhy24zOro90-909ns9fig,923 +django/contrib/sites/locale/ca/LC_MESSAGES/django.mo,sha256=lEUuQEpgDY3bVWzRONrPzYlojRoNduT16_oYDkkbdfk,791 +django/contrib/sites/locale/ca/LC_MESSAGES/django.po,sha256=aORAoVn69iG1ynmEfnkBzBO-UZOzzbkPVOU-ZvfMtZg,996 +django/contrib/sites/locale/cs/LC_MESSAGES/django.mo,sha256=1T_5VDHXNjFLGDhvUFYEx6LNM-7jENMvSjUzcA8njeQ,815 +django/contrib/sites/locale/cs/LC_MESSAGES/django.po,sha256=UCoVCD6JhUxB2IgegTnFQqd3_yPBkZ-5HJhif4v5Awg,979 +django/contrib/sites/locale/cy/LC_MESSAGES/django.mo,sha256=70pOie0K__hkmM9oBUaQfVwHjK8Cl48E26kRQL2mtew,835 +django/contrib/sites/locale/cy/LC_MESSAGES/django.po,sha256=FAZrVc72x-4R1A-1qYOBwADoXngC_F6FO8nRjr5-Z6g,1013 +django/contrib/sites/locale/da/LC_MESSAGES/django.mo,sha256=_vLc8KTeuNCWqBAAajbYl9KSnn5tbrBC8unB0gwdsCw,794 +django/contrib/sites/locale/da/LC_MESSAGES/django.po,sha256=Po1Z6u52CFCyz9hLfK009pMbZzZgHrBse0ViX8wCYm8,957 +django/contrib/sites/locale/de/LC_MESSAGES/django.mo,sha256=5Q6X0_bDQ1ZRpkTy7UpPNzrhmQsB9Q0P1agB7koRyzs,792 +django/contrib/sites/locale/de/LC_MESSAGES/django.po,sha256=aD0wBinqtDUPvBbwtHrLEhFdoVRx1nOh17cJFuWhN3U,980 +django/contrib/sites/locale/dsb/LC_MESSAGES/django.mo,sha256=pPpWYsYp81MTrqCsGF0QnGktZNIll70bdBwSkuVE8go,868 +django/contrib/sites/locale/dsb/LC_MESSAGES/django.po,sha256=IA3G8AKJls20gzfxnrfPzivMNpL8A0zBQBg7OyzrP6g,992 +django/contrib/sites/locale/el/LC_MESSAGES/django.mo,sha256=G9o1zLGysUePGzZRicQ2aIIrc2UXMLTQmdpbrUMfWBU,878 +django/contrib/sites/locale/el/LC_MESSAGES/django.po,sha256=RBi_D-_znYuV6LXfTlSOf1Mvuyl96fIyEoiZ-lgeyWs,1133 +django/contrib/sites/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 +django/contrib/sites/locale/en/LC_MESSAGES/django.po,sha256=tSjfrNZ_FqLHsXjm5NuTyo5-JpdlPLsPZjFqF2APhy8,817 +django/contrib/sites/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 +django/contrib/sites/locale/en_AU/LC_MESSAGES/django.po,sha256=7V9dBdbfHa9aGAfs9nw6ivSxX30CqaYc1ptfplTAPJc,791 +django/contrib/sites/locale/en_GB/LC_MESSAGES/django.mo,sha256=FbSh7msJdrHsXr0EtDMuODFzSANG_HJ3iBlW8ePpqFs,639 +django/contrib/sites/locale/en_GB/LC_MESSAGES/django.po,sha256=Ib-DIuTWlrN3kg99kLCuqWJVtt1NWaFD4UbDFK6d4KY,862 +django/contrib/sites/locale/eo/LC_MESSAGES/django.mo,sha256=N4KkH12OHxic3pp1okeBhpfDx8XxxpULk3UC219vjWU,792 +django/contrib/sites/locale/eo/LC_MESSAGES/django.po,sha256=ymXSJaFJWGBO903ObqR-ows-p4T3KyUplc_p_3r1uk8,1043 +django/contrib/sites/locale/es/LC_MESSAGES/django.mo,sha256=qLN1uoCdslxdYWgdjgSBi7szllP-mQZtHbuZnNOthsQ,804 +django/contrib/sites/locale/es/LC_MESSAGES/django.po,sha256=QClia2zY39269VSQzkQsLwwukthN6u2JBsjbLNxA1VQ,1066 +django/contrib/sites/locale/es_AR/LC_MESSAGES/django.mo,sha256=sMZ_BBcxMK440lFG-dT6ekbGMIfLDvNHGL-sV6bUycU,817 +django/contrib/sites/locale/es_AR/LC_MESSAGES/django.po,sha256=RwyNylXbyxdSXn6qRDXd99-GaEPlmr6TicHTUW0boaQ,969 +django/contrib/sites/locale/es_CO/LC_MESSAGES/django.mo,sha256=a4Xje2M26wyIx6Wlg6puHo_OXjiDEy7b0FquT9gbThA,825 +django/contrib/sites/locale/es_CO/LC_MESSAGES/django.po,sha256=9bnRhVD099JzkheO80l65dufjuawsj9aSFgFu5A-lnM,949 +django/contrib/sites/locale/es_MX/LC_MESSAGES/django.mo,sha256=AtGta5jBL9XNBvfSpsCcnDtDhvcb89ALl4hNjSPxibM,809 +django/contrib/sites/locale/es_MX/LC_MESSAGES/django.po,sha256=TnkpQp-7swH-x9cytUJe-QJRd2n_pYMVo0ltDw9Pu8o,991 +django/contrib/sites/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 +django/contrib/sites/locale/es_VE/LC_MESSAGES/django.po,sha256=8PWXy2L1l67wDIi98Q45j7OpVITr0Lt4zwitAnB-d_o,791 +django/contrib/sites/locale/et/LC_MESSAGES/django.mo,sha256=I2E-49UQsG-F26OeAfnKlfUdA3YCkUSV8ffA-GMSkE0,788 +django/contrib/sites/locale/et/LC_MESSAGES/django.po,sha256=mEfD6EyQ15PPivb5FTlkabt3Lo_XGtomI9XzHrrh34Y,992 +django/contrib/sites/locale/eu/LC_MESSAGES/django.mo,sha256=1HTAFI3DvTAflLJsN7NVtSd4XOTlfoeLGFyYCOX69Ec,807 +django/contrib/sites/locale/eu/LC_MESSAGES/django.po,sha256=NWxdE5-mF6Ak4nPRpCFEgAMIsVDe9YBEZl81v9kEuX8,1023 +django/contrib/sites/locale/fa/LC_MESSAGES/django.mo,sha256=odtsOpZ6noNqwDb18HDc2e6nz3NMsa-wrTN-9dk7d9w,872 +django/contrib/sites/locale/fa/LC_MESSAGES/django.po,sha256=uL2I9XjqIxqTUKf6buewtm9rwflM23pxspFMs7w4SPM,1088 +django/contrib/sites/locale/fi/LC_MESSAGES/django.mo,sha256=I5DUeLk1ChUC32q5uzriABCLLJpJKNbEK4BfqylPQzg,786 +django/contrib/sites/locale/fi/LC_MESSAGES/django.po,sha256=LH2sFIKM3YHPoz9zIu10z1DFv1svXphBdOhXNy4a17s,929 +django/contrib/sites/locale/fr/LC_MESSAGES/django.mo,sha256=lQe7mHXWDoQGSEZyK0TsPOwvnR-rjAzt8-FeLTCeXyU,797 +django/contrib/sites/locale/fr/LC_MESSAGES/django.po,sha256=u24rHDJ47AoBgcmBwI1tIescAgbjFxov6y906H_uhK0,999 +django/contrib/sites/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 +django/contrib/sites/locale/fy/LC_MESSAGES/django.po,sha256=Yh6Lw0QI2Me0zCtlyXraFLjERKqklB6-IJLDTjH_jTs,781 +django/contrib/sites/locale/ga/LC_MESSAGES/django.mo,sha256=D-SyqmEcQP_7oIwiRG7PCdoWqFsy55cnmXcf2hx53vU,668 +django/contrib/sites/locale/ga/LC_MESSAGES/django.po,sha256=foWIcJ5jB0QCWmRbYiAju_05v4-jAq0yHC7wjdzhKD0,896 +django/contrib/sites/locale/gd/LC_MESSAGES/django.mo,sha256=df4XIGGD6FIyMUXsb-SoSqNfBFAsRXf4qYtolh_C964,858 +django/contrib/sites/locale/gd/LC_MESSAGES/django.po,sha256=NPKp7A5-y-MR7r8r4WqtcVQJEHCIOP5mLTd0cIfUsug,957 +django/contrib/sites/locale/gl/LC_MESSAGES/django.mo,sha256=QUJdJV71VT-4iVQ5mUAeyszTVhD2LlmmPQv0WpPWttU,742 +django/contrib/sites/locale/gl/LC_MESSAGES/django.po,sha256=cLcejsFyoFk0fRX9fAcl9owHoxiD593QZZeZTfObBVw,940 +django/contrib/sites/locale/he/LC_MESSAGES/django.mo,sha256=L3bganfG4gHqp2WXGh4rfWmmbaIxHaGc7-ypAqjSL_E,820 +django/contrib/sites/locale/he/LC_MESSAGES/django.po,sha256=nT0Gu0iWpFV7ZJ6SAdcogZccCz3CV-R5rgqwEl5NA6c,985 +django/contrib/sites/locale/hi/LC_MESSAGES/django.mo,sha256=J4oIS1vJnCvdCCUD4tlTUVyTe4Xn0gKcWedfhH4C0t0,665 +django/contrib/sites/locale/hi/LC_MESSAGES/django.po,sha256=INBrm37jL3okBHuzX8MSN1vMptj77a-4kwQkAyt8w_8,890 +django/contrib/sites/locale/hr/LC_MESSAGES/django.mo,sha256=KjDUhEaOuYSMexcURu2UgfkatN2rrUcAbCUbcpVSInk,876 +django/contrib/sites/locale/hr/LC_MESSAGES/django.po,sha256=-nFMFkVuDoKYDFV_zdNULOqQlnqtiCG57aakN5hqlmg,1055 +django/contrib/sites/locale/hsb/LC_MESSAGES/django.mo,sha256=RyHVb7u9aRn5BXmWzR1gApbZlOioPDJ59ufR1Oo3e8Y,863 +django/contrib/sites/locale/hsb/LC_MESSAGES/django.po,sha256=Aq54y5Gb14bIt28oDDrFltnSOk31Z2YalwaJMDMXfWc,987 +django/contrib/sites/locale/hu/LC_MESSAGES/django.mo,sha256=P--LN84U2BeZAvRVR-OiWl4R02cTTBi2o8XR2yHIwIU,796 +django/contrib/sites/locale/hu/LC_MESSAGES/django.po,sha256=b0VhyFdNaZZR5MH1vFsLL69FmICN8Dz-sTRk0PdK49E,953 +django/contrib/sites/locale/hy/LC_MESSAGES/django.mo,sha256=Hs9XwRHRkHicLWt_NvWvr7nMocmY-Kc8XphhVSAMQRc,906 +django/contrib/sites/locale/hy/LC_MESSAGES/django.po,sha256=MU4hXXGfjXKfYcjxDYzFfsEUIelz5ZzyQLkeSrUQKa0,1049 +django/contrib/sites/locale/ia/LC_MESSAGES/django.mo,sha256=gRMs-W5EiY26gqzwnDXEMbeb1vs0bYZ2DC2a9VCciew,809 +django/contrib/sites/locale/ia/LC_MESSAGES/django.po,sha256=HXZzn9ACIqfR2YoyvpK2FjZ7QuEq_RVZ1kSC4nxMgeg,934 +django/contrib/sites/locale/id/LC_MESSAGES/django.mo,sha256=__2E_2TmVUcbf1ygxtS1lHvkhv8L0mdTAtJpBsdH24Y,791 +django/contrib/sites/locale/id/LC_MESSAGES/django.po,sha256=e5teAHiMjLR8RDlg8q99qtW-K81ltcIiBIdb1MZw2sE,1000 +django/contrib/sites/locale/io/LC_MESSAGES/django.mo,sha256=W-NP0b-zR1oWUZnHZ6fPu5AC2Q6o7nUNoxssgeguUBo,760 +django/contrib/sites/locale/io/LC_MESSAGES/django.po,sha256=G4GUUz3rxoBjWTs-j5RFCvv52AEHiwrCBwom5hYeBSE,914 +django/contrib/sites/locale/is/LC_MESSAGES/django.mo,sha256=lkJgTzDjh5PNfIJpOS2DxKmwVUs9Sl5XwFHv4YdCB30,812 +django/contrib/sites/locale/is/LC_MESSAGES/django.po,sha256=1DVgAcHSZVyDd5xn483oqICIG4ooyZY8ko7A3aDogKM,976 +django/contrib/sites/locale/it/LC_MESSAGES/django.mo,sha256=6NQjjtDMudnAgnDCkemOXinzX0J-eAE5gSq1F8kjusY,795 +django/contrib/sites/locale/it/LC_MESSAGES/django.po,sha256=zxavlLMmp1t1rCDsgrw12kVgxiK5EyR_mOalSu8-ws8,984 +django/contrib/sites/locale/ja/LC_MESSAGES/django.mo,sha256=RNuCS6wv8uK5TmXkSH_7SjsbUFkf24spZfTsvfoTKro,814 +django/contrib/sites/locale/ja/LC_MESSAGES/django.po,sha256=e-cj92VOVc5ycIY6NwyFh5bO7Q9q5vp5CG4dOzd_eWQ,982 +django/contrib/sites/locale/ka/LC_MESSAGES/django.mo,sha256=m8GTqr9j0ijn0YJhvnsYwlk5oYcASKbHg_5hLqZ91TI,993 +django/contrib/sites/locale/ka/LC_MESSAGES/django.po,sha256=BCsMvNq-3Pi9-VnUvpUQaGx6pbCgI8rCcIHUA8VL4as,1155 +django/contrib/sites/locale/kab/LC_MESSAGES/django.mo,sha256=Utdj5gH5YPeaYMjeMzF-vjqYvYTCipre2qCBkEJSc-Y,808 +django/contrib/sites/locale/kab/LC_MESSAGES/django.po,sha256=d78Z-YanYZkyP5tpasj8oAa5RimVEmce6dlq5vDSscA,886 +django/contrib/sites/locale/kk/LC_MESSAGES/django.mo,sha256=T2dTZ83vBRfQb2dRaKOrhvO00BHQu_2bu0O0k7RsvGA,895 +django/contrib/sites/locale/kk/LC_MESSAGES/django.po,sha256=9ixNnoE3BxfBj4Xza0FM5qInd0uiNnAlXgDb_KaICn4,1057 +django/contrib/sites/locale/km/LC_MESSAGES/django.mo,sha256=Q7pn5E4qN957j20-iCHgrfI-p8sm3Tc8O2DWeuH0By8,701 +django/contrib/sites/locale/km/LC_MESSAGES/django.po,sha256=TOs76vlCMYOZrdHgXPWZhQH1kTBQTpzsDJ8N4kbJQ7E,926 +django/contrib/sites/locale/kn/LC_MESSAGES/django.mo,sha256=fikclDn-FKU_t9lZeBtQciisS3Kqv4tJHtu923OXLJI,676 +django/contrib/sites/locale/kn/LC_MESSAGES/django.po,sha256=p_P7L0KAUoKNLH8vuHV4_2mTWK1m1tjep5XgRqbWd2k,904 +django/contrib/sites/locale/ko/LC_MESSAGES/django.mo,sha256=wlfoWG-vmMSCipUJVVC0Y_W7QbGNNE-oEnVwl_6-AmY,807 +django/contrib/sites/locale/ko/LC_MESSAGES/django.po,sha256=TENAk9obGUxFwMnJQj_V9sZxEKJj4DyWMuGpx3Ft_pM,1049 +django/contrib/sites/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 +django/contrib/sites/locale/lb/LC_MESSAGES/django.po,sha256=1yRdK9Zyh7kcWG7wUexuF9-zxEaKLS2gG3ggVOHbRJ8,779 +django/contrib/sites/locale/lt/LC_MESSAGES/django.mo,sha256=bK6PJtd7DaOgDukkzuqos5ktgdjSF_ffL9IJTQY839s,869 +django/contrib/sites/locale/lt/LC_MESSAGES/django.po,sha256=9q7QfFf_IR2A1Cr_9aLVIWf-McR0LivtRC284w2_bo0,1124 +django/contrib/sites/locale/lv/LC_MESSAGES/django.mo,sha256=t9bQiVqpAmXrq8QijN4Lh0n6EGUGQjnuH7hDcu21z4c,823 +django/contrib/sites/locale/lv/LC_MESSAGES/django.po,sha256=vMaEtXGosD3AcTomiuctbOpjLes8TRBnumLe8DC4yq4,1023 +django/contrib/sites/locale/mk/LC_MESSAGES/django.mo,sha256=_YXasRJRWjYmmiEWCrAoqnrKuHHPBG_v_EYTUe16Nfo,885 +django/contrib/sites/locale/mk/LC_MESSAGES/django.po,sha256=AgdIjiSpN0P5o5rr5Ie4sFhnmS5d4doB1ffk91lmOvY,1062 +django/contrib/sites/locale/ml/LC_MESSAGES/django.mo,sha256=A-_05uveKw1FGXzhxRh5VJ8j2lXXD6fwBFWXCDZ50Fs,708 +django/contrib/sites/locale/ml/LC_MESSAGES/django.po,sha256=_kDMypYyCURw-LiLp1Pfqc2kS6_5slPDXHRPGmdxbzM,936 +django/contrib/sites/locale/mn/LC_MESSAGES/django.mo,sha256=w2sqJRAe0wyz_IuCZ_Ocubs_VHL6wV1BcutWPz0dseQ,867 +django/contrib/sites/locale/mn/LC_MESSAGES/django.po,sha256=Zh_Eao0kLZsrQ8wkL1f-pRrsAtNJOspu45uStq5t8Mo,1127 +django/contrib/sites/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 +django/contrib/sites/locale/mr/LC_MESSAGES/django.po,sha256=pqnjF5oxvpMyjijy6JfI8qJbbbowZzE5tZF0DMYiCBs,773 +django/contrib/sites/locale/my/LC_MESSAGES/django.mo,sha256=jN59e9wRheZYx1A4t_BKc7Hx11J5LJg2wQRd21aQv08,961 +django/contrib/sites/locale/my/LC_MESSAGES/django.po,sha256=EhqYIW5-rX33YjsDsBwfiFb3BK6fZKVc3CRYeJpZX1E,1086 +django/contrib/sites/locale/nb/LC_MESSAGES/django.mo,sha256=AaiHGcmcciy5IMBPVAShcc1OQOETJvBCv7GYHMcIQMA,793 +django/contrib/sites/locale/nb/LC_MESSAGES/django.po,sha256=936zoN1sPSiiq7GuH01umrw8W6BtymYEU3bCfOQyfWE,1000 +django/contrib/sites/locale/ne/LC_MESSAGES/django.mo,sha256=wM13WrA4uMhfpU1GKFMcbVBh5LRB4v-v-t7t4AHqaU4,899 +django/contrib/sites/locale/ne/LC_MESSAGES/django.po,sha256=9_78nN66h6ioTnd0OO6YM8MHbqw8uoiaSAyn69aT8Ag,1021 +django/contrib/sites/locale/nl/LC_MESSAGES/django.mo,sha256=FDIRQORWGlTLABZ7384C48vf1U80aWbMNK82eBSlonc,788 +django/contrib/sites/locale/nl/LC_MESSAGES/django.po,sha256=s2qsDEhcEVxBsVjxQduYhej6dMosoPhdPeR3Drl2aXA,1005 +django/contrib/sites/locale/nn/LC_MESSAGES/django.mo,sha256=m1SUw5bhDUemD8yMGDxcWdhbUMtzZ9WXWXtV2AHIzBs,633 +django/contrib/sites/locale/nn/LC_MESSAGES/django.po,sha256=i8BQyewiU2ymkAkj12M2MJBVbCJPp8PB8_NcQiScaD4,861 +django/contrib/sites/locale/os/LC_MESSAGES/django.mo,sha256=Su06FkWMOPzBxoung3bEju_EnyAEAXROoe33imO65uQ,806 +django/contrib/sites/locale/os/LC_MESSAGES/django.po,sha256=4i4rX6aXDUKjq64T02iStqV2V2erUsSVnTivh2XtQeY,963 +django/contrib/sites/locale/pa/LC_MESSAGES/django.mo,sha256=tOHiisOtZrTyIFoo4Ipn_XFH9hhu-ubJLMdOML5ZUgk,684 +django/contrib/sites/locale/pa/LC_MESSAGES/django.po,sha256=ztGyuqvzxRfNjqDG0rMLCu_oQ8V3Dxdsx0WZoYUyNv8,912 +django/contrib/sites/locale/pl/LC_MESSAGES/django.mo,sha256=TbH30lyyQ2QpAxc5XJKWCBNV3WUl7wOL4a-BKkeyUdM,944 +django/contrib/sites/locale/pl/LC_MESSAGES/django.po,sha256=-kQ49UvXITMy1vjJoN_emuazV_EjNDQnZDERXWNoKvw,1181 +django/contrib/sites/locale/pt/LC_MESSAGES/django.mo,sha256=PrcFQ04lFJ7mIYThXbW6acmDigEFIoLAC0PYk5hfaJs,797 +django/contrib/sites/locale/pt/LC_MESSAGES/django.po,sha256=Aj8hYI9W5nk5uxKHj1oE-b9bxmmuoeXLKaJDPfI2x2o,993 +django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.mo,sha256=BsFfarOR6Qk67fB-tTWgGhuOReJSgjwJBkIzZsv28vo,824 +django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.po,sha256=jfvgelpWn2VQqYe2_CE39SLTsscCckvjuZo6dWII28c,1023 +django/contrib/sites/locale/ro/LC_MESSAGES/django.mo,sha256=oGsZw4_uYpaH6adMxnAuifJgHeZ_ytRZ4rFhiNfRQkQ,857 +django/contrib/sites/locale/ro/LC_MESSAGES/django.po,sha256=tWbWVbjFFELNzSXX4_5ltmzEeEJsY3pKwgEOjgV_W_8,1112 +django/contrib/sites/locale/ru/LC_MESSAGES/django.mo,sha256=bIZJWMpm2O5S6RC_2cfkrp5NXaTU2GWSsMr0wHVEmcw,1016 +django/contrib/sites/locale/ru/LC_MESSAGES/django.po,sha256=jHy5GR05ZSjLmAwaVNq3m0WdhO9GYxge3rDBziqesA8,1300 +django/contrib/sites/locale/sk/LC_MESSAGES/django.mo,sha256=-EYdm14ZjoR8bd7Rv2b5G7UJVSKmZa1ItLsdATR3-Cg,822 +django/contrib/sites/locale/sk/LC_MESSAGES/django.po,sha256=L2YRNq26DdT3OUFhw25ncZBgs232v6kSsAUTc0beIC8,1019 +django/contrib/sites/locale/sl/LC_MESSAGES/django.mo,sha256=JmkpTKJGWgnBM3CqOUriGvrDnvg2YWabIU2kbYAOM4s,845 +django/contrib/sites/locale/sl/LC_MESSAGES/django.po,sha256=qWrWrSz5r3UOVraX08ILt3TTmfyTDGKbJKbTlN9YImU,1059 +django/contrib/sites/locale/sq/LC_MESSAGES/django.mo,sha256=gVY4vWlvDvWI9mSlFfIWqHP4a_NNFt-0CFzStPRXuoQ,810 +django/contrib/sites/locale/sq/LC_MESSAGES/django.po,sha256=zg3ALcMNZErAS_xFxmtv6TmXZ0vxobX5AzCwOSRSwc8,930 +django/contrib/sites/locale/sr/LC_MESSAGES/django.mo,sha256=jFpsqetfcXxdEnY3fX-Jhxa2f0iSALLqptW6jzk0flc,724 +django/contrib/sites/locale/sr/LC_MESSAGES/django.po,sha256=ZJ5yq6aiVQhms2KE2SQlNjxyzTYZuN0MxNbFylzlfTQ,955 +django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=pK37c--H6ehAyUtViy5viEbJwVtnhF5Z2O6tG28kWgo,714 +django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.po,sha256=FC_JIIl1hwnjzth_e1M3icJgnS1BibXZEtpK10Aef0w,945 +django/contrib/sites/locale/sv/LC_MESSAGES/django.mo,sha256=qmhdn3N2C_DR_FYrUaFSacVjghgfb0CuWKanVRJSTq8,792 +django/contrib/sites/locale/sv/LC_MESSAGES/django.po,sha256=dDVuuuHGpZIoT6dU48aT2j4nEuGrd6zZ3FiZEs3TCeE,987 +django/contrib/sites/locale/sw/LC_MESSAGES/django.mo,sha256=cWjjDdFXBGmpUm03UDtgdDrREa2r75oMsXiEPT_Bx3g,781 +django/contrib/sites/locale/sw/LC_MESSAGES/django.po,sha256=oOKNdztQQU0sd6XmLI-n3ONmTL7jx3Q0z1YD8673Wi8,901 +django/contrib/sites/locale/ta/LC_MESSAGES/django.mo,sha256=CLO41KsSKqBrgtrHi6fmXaBk-_Y2l4KBLDJctZuZyWY,714 +django/contrib/sites/locale/ta/LC_MESSAGES/django.po,sha256=YsTITHg7ikkNcsP29tDgkZrUdtO0s9PrV1XPu4mgqCw,939 +django/contrib/sites/locale/te/LC_MESSAGES/django.mo,sha256=GmIWuVyIOcoQoAmr2HxCwBDE9JUYEktzYig93H_4v50,687 +django/contrib/sites/locale/te/LC_MESSAGES/django.po,sha256=jbncxU9H3EjXxWPsEoCKJhKi392XXTGvWyuenqLDxps,912 +django/contrib/sites/locale/th/LC_MESSAGES/django.mo,sha256=4BQRjNbPJEQog4oe8CUHxHXszfZpw09Qa3XIku41eac,850 +django/contrib/sites/locale/th/LC_MESSAGES/django.po,sha256=OpTsWP-Whkf-j4qdjdOh-Gw72qJtiLyMllKefENTAcA,1047 +django/contrib/sites/locale/tr/LC_MESSAGES/django.mo,sha256=NxEKAJFmns0tWftlgyKXHJcBKBxo6ImR4SjIw8-zbgk,799 +django/contrib/sites/locale/tr/LC_MESSAGES/django.po,sha256=L9tsnwxw1BEJD-Nm3m1RAS7ekgdmyC0ETs_mr7tQw1E,1043 +django/contrib/sites/locale/tt/LC_MESSAGES/django.mo,sha256=gmmjXeEQUlBpfDmouhxE-qpEtv-iWdQSobYL5MWprZc,706 +django/contrib/sites/locale/tt/LC_MESSAGES/django.po,sha256=yj49TjwcZ4YrGqnJrKh3neKydlTgwYduto9KsmxI_eI,930 +django/contrib/sites/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 +django/contrib/sites/locale/udm/LC_MESSAGES/django.po,sha256=vrLZ0XJF63CO3IucbQpd12lxuoM9S8tTUv6cpu3g81c,767 +django/contrib/sites/locale/uk/LC_MESSAGES/django.mo,sha256=H4806mPqOoHJFm549F7drzsfkvAXWKmn1w_WVwQx9rk,960 +django/contrib/sites/locale/uk/LC_MESSAGES/django.po,sha256=jmJKTuGLhfP4rg8M_d86XR4X8qYB-JAtEf6jRKuzi3w,1187 +django/contrib/sites/locale/ur/LC_MESSAGES/django.mo,sha256=s6QL8AB_Mp9haXS4n1r9b0YhEUECPxUyPrHTMI3agts,654 +django/contrib/sites/locale/ur/LC_MESSAGES/django.po,sha256=R9tv3qtett8CUGackoHrc5XADeygVKAE0Fz8YzK2PZ4,885 +django/contrib/sites/locale/vi/LC_MESSAGES/django.mo,sha256=YOaKcdrN1238Zdm81jUkc2cpxjInAbdnhsSqHP_jQsI,762 +django/contrib/sites/locale/vi/LC_MESSAGES/django.po,sha256=AHcqR2p0fdscLvzbJO_a-CzMzaeRL4LOw4HB9K3noVQ,989 +django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=7D9_pDY5lBRpo1kfzIQL-PNvIg-ofCm7cBHE1-JWlMk,779 +django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.po,sha256=xI_N00xhV8dWDp4fg5Mmj9ivOBBdHP79T3-JYXPyc5M,946 +django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=0F6Qmh1smIXlOUNDaDwDajyyGecc1azfwh8BhXrpETo,790 +django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.po,sha256=ixbXNBNKNfrpI_B0O_zktTfo63sRFMOk1B1uIh4DGGg,1046 +django/contrib/sites/migrations/0001_initial.py,sha256=CkzQ6PgORwSokrpq6Dj6u-WCEtcuSf4Pau6UyiBpSlA,1069 +django/contrib/sites/migrations/0002_alter_domain_unique.py,sha256=HECWqP0R0hp77p_ubI5bI9DqEXIiGOTTszAr4EpgtVE,517 +django/contrib/sites/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/staticfiles/__init__.py,sha256=eGxMURIKxiv-dE7rP1hwNgUhfzUN36-Bc58jCpHgmCE,73 +django/contrib/staticfiles/apps.py,sha256=q0Tfga23RfN9gCRPhopgChqOFqbtGfkc3-VeH1CRClg,413 +django/contrib/staticfiles/checks.py,sha256=rH9A8NIYtEkA_PRYXQJxndm243O6Mz6GwyqWSUe3f24,391 +django/contrib/staticfiles/finders.py,sha256=a46SgWyQxKlZY_UdfBnOLVvIs8HHQ7Nc8xy2EquuiD4,10158 +django/contrib/staticfiles/handlers.py,sha256=WLg6lshuKMSfFPfPLeDDer3_1TrEIg-OpCEdcp4uqEg,2329 +django/contrib/staticfiles/storage.py,sha256=mIhWdkv-HCRivTWdozB7vnRP7OjnWjZFarUlfjNj-uM,19152 +django/contrib/staticfiles/testing.py,sha256=4X-EtOfXnwkJAyFT8qe4H4sbVTKgM65klLUtY81KHiE,463 +django/contrib/staticfiles/urls.py,sha256=owDM_hdyPeRmxYxZisSMoplwnzWrptI_W8-3K2f7ITA,498 +django/contrib/staticfiles/utils.py,sha256=vrtb1g0Zt1idSZmBAAJ2qLOxGcyb7uWAxqlxZ7C7B40,1954 +django/contrib/staticfiles/views.py,sha256=CaWZq4AHEbOGW7mg_0mbkGUP8KJTlVNnofDBNIhRUo4,1264 +django/contrib/staticfiles/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/staticfiles/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/staticfiles/management/commands/collectstatic.py,sha256=sFhpb9H0M6v0HElRwdURTtkyXKqZfqfwd0C0J9EXP1w,15136 +django/contrib/staticfiles/management/commands/findstatic.py,sha256=R5CN75jGnvsV16MQ23eWake_EBE7NG94ExKL-54NqYQ,1539 +django/contrib/staticfiles/management/commands/runserver.py,sha256=uv-h6a8AOs0c92ILT_3Mu0UTBoCiQzThpUEmR-blj70,1318 +django/contrib/staticfiles/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/contrib/staticfiles/templatetags/staticfiles.py,sha256=P3ixCkaCvU8wTQYePYgZh0mWzyeE0y4SDXltF8TWB6M,537 +django/contrib/syndication/__init__.py,sha256=b5C6iIdbIOHf5wvcm1QJYsspErH3TyWJnCDYS9NjFY4,73 +django/contrib/syndication/apps.py,sha256=hXquFH_3BL6NNR2cxLU-vHlBJZ3OCjbcl8jkzCNvE64,203 +django/contrib/syndication/views.py,sha256=kXBT4kGjWBqmYVU0BFrMxMyqkdPeUjgIr-TGp5HvCS0,8617 +django/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/exceptions.py,sha256=V61tsXhjxUnLxfNVAQBUUhvSgvdDhLL3ajIS5TCGlyI,5275 +django/core/paginator.py,sha256=tUAUQ5XA_aSw1Ws-3qJfxXKzeVoKGiThoie9mbAj_6s,5884 +django/core/signals.py,sha256=uGRybHCJZ74by2HV-9JEWvfmnw_scuhcxaRP3UmZDjE,247 +django/core/signing.py,sha256=fRflzQnv2LA99q7vBCu3FXrtA_6mNefufR-6OlSQAtI,6660 +django/core/validators.py,sha256=M5V3aRs0qjsI1mM4-jKw1FHR4IPf-ntPGN3es2rVwZ0,18596 +django/core/wsgi.py,sha256=2sYMSe3IBrENeQT7rys-04CRmf8hW2Q2CjlkBUIyjHk,388 +django/core/cache/__init__.py,sha256=gfjHtXklQU4M8vluEtpJf-mG3q7UHATaGrluiYAzO_0,3711 +django/core/cache/utils.py,sha256=EakHn48OQtJP7OCLwkfACYZjVqjBtcdp86xGJbgPXVc,432 +django/core/cache/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/cache/backends/base.py,sha256=hn98WTdIDebq0oy5SAVq08-pkmGAbt75rLOCqAvuji4,9799 +django/core/cache/backends/db.py,sha256=qVcCIEztElRPXAbAG0a9vz27qgv1ZFjwunyDtSo_kEo,8939 +django/core/cache/backends/dummy.py,sha256=DtugeHHs1doIp2dV3CX5dkoJ5dj6bJ7rtKmHNBogBYg,1218 +django/core/cache/backends/filebased.py,sha256=osnUkOsfqK3dxctG8p3UtT4j_8TIs2Cq8Ppj4Bq9qSU,4884 +django/core/cache/backends/locmem.py,sha256=ibbZBYB3SVcbwgvEz-R5k33F4G_ycuxBoTfz06wWbDc,4198 +django/core/cache/backends/memcached.py,sha256=KigcrxWadhCmb8A1suMMJt0xxfTbsqfi0InDHXxP5YY,7956 +django/core/checks/__init__.py,sha256=_HP2dErvPYginc0R1Bwblq1R-gykN2sxcYCCyMaalHg,879 +django/core/checks/caches.py,sha256=jhyfX_m6TepTYRBa-j3qh1owD1W-3jmceu8b8dIFqVk,415 +django/core/checks/database.py,sha256=IpXyIS-TDTH4p037aG2l0qWnAVFtp8ozJEsXMvaoIu8,261 +django/core/checks/messages.py,sha256=ZbasGH7L_MeIGIwb_nYiO9Z_MXF0-aXO1ru2xFACj6Y,2161 +django/core/checks/model_checks.py,sha256=Gif4kfndBdBe4sc2NfLThe__qKcJBY5eqD-2Oh6takA,6183 +django/core/checks/registry.py,sha256=qk77K8-s8jfZR0ej7Rx-iemsXEkKF47d0VB4pmEnqa8,3108 +django/core/checks/templates.py,sha256=GnnM1ZW3CIk22KmyK094qzgGIrxmIULFGfPPuvnArFI,1185 +django/core/checks/urls.py,sha256=lA8wbw2WDC-e4ZAr-9ooEWtGvrNyMh1G-MZbojGq9W8,3246 +django/core/checks/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/checks/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/checks/security/base.py,sha256=JsF8UvJLlWXF2ysswWaT08Mqd6KDt4weOUr1-spCZt8,6743 +django/core/checks/security/csrf.py,sha256=CH09reOHXQEdCMqhlejyh0IsGwDQkFeHRYO25glZTYE,1259 +django/core/checks/security/sessions.py,sha256=vvsxKEwb3qHgnCG0R5KUkfUpMHuZMfxjo9-X-2BTp-4,2558 +django/core/files/__init__.py,sha256=OjalFLvs-vPaTE3vP0eYZWyNwMj9pLJZNgG4AcGn2_Y,60 +django/core/files/base.py,sha256=E2Tanv7zjeBZYrGgph4FShEMtv1MPN0fs1mS_L-JOiY,4984 +django/core/files/images.py,sha256=_lnhvkwnXJ_Dih6nNIAm9UvTwxOd7CSPi4MjPVxMybY,2377 +django/core/files/locks.py,sha256=nn0KJG_yXoIT_pHqzeZhBkQsA1tghaVzN-p4DA5VER4,3512 +django/core/files/move.py,sha256=1R3xTJKI9Plo0xRknz-Uv2_QQRw_vmr-rUEcrTJloMA,2956 +django/core/files/storage.py,sha256=tEzJUiMS6W_dk0IceFRtqAwi1vMC7H-wFjocBe7zN94,14633 +django/core/files/temp.py,sha256=jR1S5j-UtRMbQEYpHAY-yffp6QCKxngbzqi6MA1tOwI,2501 +django/core/files/uploadedfile.py,sha256=hHaPethGK2DEBIZzf7UeSRVznea4qHgsv_zHWjQe5ho,3928 +django/core/files/uploadhandler.py,sha256=n4edWZI6txsO-UTW6L3X5aX2krSr7rxu6h5LQwdR_48,6539 +django/core/files/utils.py,sha256=5Ady6JuzCYb_VAtSwc9Dr-iTmpuMIVuJ3RKck1-sYzk,1752 +django/core/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/handlers/base.py,sha256=nF21s4mXxClfbkT4pQ1MSLlcJVXi1RqfVshDcUSw0ow,6867 +django/core/handlers/exception.py,sha256=SoirxgN-UU96fJMJ_LtBbPE4A4WXgYUc-sKo64LsmnQ,4691 +django/core/handlers/wsgi.py,sha256=8mRSLDdUkPebrtjdcJpdl5OQufxzZemjDg_f2KDCdAc,8029 +django/core/mail/__init__.py,sha256=LBC94qDGLULxasR97XAb0xGssr29-EbNUTDpbtnQ6iE,4484 +django/core/mail/message.py,sha256=vyEe2o3YC0rvabe3PXh4DHXtnjR0lrQ4ySdgXsfRcy8,17159 +django/core/mail/utils.py,sha256=nUQWqzPAZfqWY2J7SsYfVlihYMYz6i_A8H5D0pSkBvo,452 +django/core/mail/backends/__init__.py,sha256=VJ_9dBWKA48MXBZXVUaTy9NhgfRonapA6UAjVFEPKD8,37 +django/core/mail/backends/base.py,sha256=f9Oeaw1RAiPHmsTdQakeYzEabfOtULz0UvldP4Cydpk,1660 +django/core/mail/backends/console.py,sha256=l1XFESBbk1Ney5bUgjCYVPoSDzjobzIK3GMQyxQX1Qk,1402 +django/core/mail/backends/dummy.py,sha256=sI7tAa3MfG43UHARduttBvEAYYfiLasgF39jzaZPu9E,234 +django/core/mail/backends/filebased.py,sha256=OPRc5lDsB9Gble251fwXp0oq1qKeZM9T2JTcZwL_5js,2715 +django/core/mail/backends/locmem.py,sha256=OgTK_4QGhsBdqtDKY6bwYNKw2MXudc0PSF5GNVqS7gk,884 +django/core/mail/backends/smtp.py,sha256=TE2v-96rSgN7nZ_3CfrNc7-0Utk4ALB3obRw-TXfz90,5302 +django/core/management/__init__.py,sha256=WHEr3W3YgriQXmQ0osrNqh0eV6KMjZA0oW6YIl880tc,15323 +django/core/management/base.py,sha256=O9HYlEe3B5wNdIv3Hbpay-nunhnFP1Xm_wHeuIeDEuY,20363 +django/core/management/color.py,sha256=jAThS-IMFpjAFQ15P6Ncv7ze33dR1gFz_fXfzHBrcnI,1821 +django/core/management/sql.py,sha256=bnxEUUIJScj6A67s0txpq4RT8sh0n-RS5ZxcNqySaAU,1921 +django/core/management/templates.py,sha256=x7PeOu2FCAFOMc3v0Y95s_LJQVmCBFv-g5RqUXNoH5c,13714 +django/core/management/utils.py,sha256=kZFPEyKenZUWEaz1Ko8c5XScI7MhmHjloPfWyiaHMCA,3490 +django/core/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/management/commands/check.py,sha256=nwmRA9rdeavDPmIpZGmUG79fftjradKtrogNIN4CakA,2312 +django/core/management/commands/compilemessages.py,sha256=F4zYpo3xuK30ri5Ja5RquPsP-esQJ3DHhkz6SNmsqNo,5073 +django/core/management/commands/createcachetable.py,sha256=zgcn_QHH_fTh181L1pcRBmRVrNCUgQPyGyKxahQ8kvI,4376 +django/core/management/commands/dbshell.py,sha256=OeexBQJXEUArOKWGKpBSsaA043X1UokzNWc_EDbJi5M,1240 +django/core/management/commands/diffsettings.py,sha256=3as-r5_kfS8lw93SO7xUNs12p_IGVOzG43UTLdcMXx8,3369 +django/core/management/commands/dumpdata.py,sha256=uJ1znSWHk06pugtNdgly_gfWaNpQwOtqI59CgvJHI-Y,8607 +django/core/management/commands/flush.py,sha256=9lJy_cGMajdVmrLwdFpYqDCN89G69xYcjwBNfOpkRVc,3590 +django/core/management/commands/inspectdb.py,sha256=gqP7PCdnmdAPI1YHOeuheG-7qEl9Ch-697rFaFJ5J40,12852 +django/core/management/commands/loaddata.py,sha256=rXZ31_IItpXlzAKf2S9X1TOCFGKQcG3OVrGbJJ5p_1Y,14267 +django/core/management/commands/makemessages.py,sha256=0fzXP5GmPGfWJkoQ_reY8G0Furt5tT1rWXPfa2FBL80,27468 +django/core/management/commands/makemigrations.py,sha256=OMeTnpJfYla4xQicyJLCmUmHwH39_jSebzREdLyVyfI,14261 +django/core/management/commands/migrate.py,sha256=Pk4ZVi3YlnCm-ZN0lB0fp_XzKAHHBROA1pW9c8o3Oio,14044 +django/core/management/commands/runserver.py,sha256=X1wCUWzjCeL8_nLnCwrVaJD2Od0zdNezguiq0maNYgI,6347 +django/core/management/commands/sendtestemail.py,sha256=quvNqm0lfl3vvDfL0S0pBtW1te7LGcYNUrrac4lMAAg,1488 +django/core/management/commands/shell.py,sha256=BROjrvPNCp1kC6jArrOEgzdyj0f6MNh4p760w2NdCyE,4055 +django/core/management/commands/showmigrations.py,sha256=OQ2ovRjgy4A_LRUtFe6u2siUn0xqUBD-Qj3o7Ke5Rqs,5333 +django/core/management/commands/sqlflush.py,sha256=mNxqSBp-fF36h3JMtEsDvYzCysxDA5R0IjhyiYyDMiI,795 +django/core/management/commands/sqlmigrate.py,sha256=bKBsq3ldex8SR8GhMnrA7FS8kpXGjjy8lax_EL6Bc3E,2742 +django/core/management/commands/sqlsequencereset.py,sha256=hCyc6og7K4cDbVflf85lusgoQz0fWiOylo6Jtlold8U,872 +django/core/management/commands/squashmigrations.py,sha256=m__NLsjU9-4YHJKOfcMmNdkklbLTEVLJ4epxpLjQVCM,9351 +django/core/management/commands/startapp.py,sha256=rvXApmLdP3gBinKaOMJtT1g3YrgVTlHteqNqFioNu8Y,503 +django/core/management/commands/startproject.py,sha256=ygP95ZEldotgEVmxDYBPUyAedNQTTwJulKLinGUxZtg,688 +django/core/management/commands/test.py,sha256=SexB7-Cdz4P3E9BcH8eGPOHuTKE5d0tCzyWfKNBQ0S8,2231 +django/core/management/commands/testserver.py,sha256=Veo-U69NUEyFuM_O9tG7GjRZ3aR2vWzcaVWahAIdS_M,2117 +django/core/serializers/__init__.py,sha256=74Jfha4K1Jxuciz0JCUPqXVUbGAqM0WhkzROJ1-Vfyk,8201 +django/core/serializers/base.py,sha256=AdJDQc0c2XXwsBrZs7VM8rZr6pUsP4JCJIYBXDc0EGc,7732 +django/core/serializers/json.py,sha256=sKfzArRjK2zNaRUxYRBbUWmoQfDUKzyKdIKu1gBeKnc,3352 +django/core/serializers/python.py,sha256=BIJQvWkHt0AAAL3oM_TVM2foFwqNRmx4XDIHcrrazxc,7320 +django/core/serializers/pyyaml.py,sha256=SXwXHjs0_29tycOtXXs-lWGS--SBBVeHlNb-rjheCak,2674 +django/core/serializers/xml_serializer.py,sha256=5TnYdZtx4uWbgCOf-xrknNtJNM7KvObtaCjpxg0CHxY,15138 +django/core/servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/core/servers/basehttp.py,sha256=e60X0mo7GHl6SAR7w-s4NT4YI9n9eeHpWLZvt4ZhqT8,6065 +django/db/__init__.py,sha256=1mrVglcKwooIWzGxQPgRevVkgd1iBAa7ESWPUAZNcS8,2128 +django/db/transaction.py,sha256=tHQFzfrcupqrrv_Ux8wvRKYOsEi8WiwYdMHX7wTpjqY,11229 +django/db/utils.py,sha256=jDaaur7BVLCU87RRPCS9gBW_I_QOdraOk4f1vWn3cXY,9790 +django/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/db/backends/ddl_references.py,sha256=dBg6xSNpyH3YdHInd5afAo6oU_USpv828lnrg78tmug,5792 +django/db/backends/signals.py,sha256=rAFB5bUdnk5jckIT4PwVwEuE6aj4dbtasRHcRnIyH6Y,95 +django/db/backends/utils.py,sha256=14Jf5WWbG4qQ49iXQmguidWt4WuxEDyWghoiG6oacyE,8688 +django/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/db/backends/base/base.py,sha256=qLA8aM_ZOJleEXDKsYssvbJOyGcGweUI71BkwiW1wBs,24431 +django/db/backends/base/client.py,sha256=r6dcRhY5tPx9lzDZhbcDC1z9LDdXxRe_vtkgYQSmuEI,513 +django/db/backends/base/creation.py,sha256=jMCa7C65YTELVTteIbGPoLtilqnNNB-ay9TcM2iL-tY,11972 +django/db/backends/base/features.py,sha256=yDtSTHZS-IW5MVG6AzEWTa-XzfsEuv1aI8UKorAKe9k,10909 +django/db/backends/base/introspection.py,sha256=G0ejTl_mFSCse_4kbAcqssS_3x20wSyPQDgvzXNmJkQ,8035 +django/db/backends/base/operations.py,sha256=vJWV22M8sfN4czjzroZQ903rU9Py-KwP8DImqROUGgA,24665 +django/db/backends/base/schema.py,sha256=dvBBGiZ6VmRes-nbMbPcCUIlyQJ8ruzTFjgQjUmdA3c,49505 +django/db/backends/base/validation.py,sha256=4zIAVsePyETiRtK7CAw78y4ZiCPISs0Pv17mFWy2Tr4,1040 +django/db/backends/dummy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/db/backends/dummy/base.py,sha256=ZsB_hKOW9tuaNbZt64fGY6tk0_FqMiF72rp8TE3NrDA,2244 +django/db/backends/dummy/features.py,sha256=m_ZHTydiox34PXZGj9AbbpjZni9UW44eKvz_VNbM7Ug,153 +django/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/db/backends/mysql/base.py,sha256=FZoDgaLnLLxhEN8i-nIIRaz-B2dM__jFMS_gIEstjWM,14072 +django/db/backends/mysql/client.py,sha256=vvt1-wevYeQR4JmklrmZ_nrUrXdMaAXQOV7j42XZx4M,1834 +django/db/backends/mysql/compiler.py,sha256=J30bWgLviaWfUktegN7YnXmp6CaEZ6u8VeuiN4DUk4E,704 +django/db/backends/mysql/creation.py,sha256=vFhQ2zYbGrC_TrIc7wBcbh_i7apGD-t0ZG0h3vD_IJQ,3265 +django/db/backends/mysql/features.py,sha256=t6RO73Hp-Ji397xqN4wnhdRvxVLyu9OgHyXUHuh6uIY,3538 +django/db/backends/mysql/introspection.py,sha256=J803HLgJTly4WwD8_uWGUjmUjDJwAW-FyKFWZIF1i5I,10201 +django/db/backends/mysql/operations.py,sha256=fBXLCjk1t2rCTwuNNZFJm5je4RAUKYsiJyE62Do0PJs,11358 +django/db/backends/mysql/schema.py,sha256=jXTAKbeFSFu5g1WVmHtX7B4UJFWoF0DJN66birCgOQs,4479 +django/db/backends/mysql/validation.py,sha256=C0MLttf0KGEU9i0N1jrXwprRgSV0uT7qL4Eu9yllpRQ,2565 +django/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/db/backends/oracle/base.py,sha256=Bjx8wY7N9oGDSjvKP96-9j2IbqCSrNrNl_3Sd1mSb58,22638 +django/db/backends/oracle/client.py,sha256=efoAYVH76x_AMMqq1h8JNaCpq_UtlktyuYuXLZfze4E,331 +django/db/backends/oracle/compiler.py,sha256=I4vNNZ3qYrZ8mV4yL4YCyDOyExUaFbrYOcA-gywqWgg,2437 +django/db/backends/oracle/creation.py,sha256=-oOjmWy8kXznf3VH7TQt2Miq3B0Xvn7hy0cvuTPa6BM,18640 +django/db/backends/oracle/features.py,sha256=Zb68pUqzB79OEHDWtTkBYdxlDfoDk6hZiCyDAP2pqqc,2088 +django/db/backends/oracle/functions.py,sha256=PHMO9cApG1EhZPD4E0Vd6dzPmE_Dzouf9GIWbF1X7kc,768 +django/db/backends/oracle/introspection.py,sha256=MKc51u-u3kD3lPJIEUkWHSfByHOu2-CQpo0Q9KD2NLs,11946 +django/db/backends/oracle/operations.py,sha256=KMN3WeC_Tt3VGuYXMevqq9pq2Yopwauo54GXOJdqnlo,23939 +django/db/backends/oracle/schema.py,sha256=GFR1jojMnqcPiZmf00iWYK2aD-ao5caTH09iUyaY0pc,7358 +django/db/backends/oracle/utils.py,sha256=nQVsE_cwQZeyvLwFhZ_UTvGs3SdoGCzeCJ82UD3Rhj0,1457 +django/db/backends/oracle/validation.py,sha256=O1Vx5ljfyEVo9W-o4OVsu_OTfZ5V5P9HX3kNMtdE75o,860 +django/db/backends/postgresql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/db/backends/postgresql/base.py,sha256=lY3G4HLKY4gCR08T_rC4khafOcLrDtqBLfcuMXqaBAo,10558 +django/db/backends/postgresql/client.py,sha256=EbqEen1Nkp5sb4RVn1tawrbEioXQjbGI6M72FfTg79w,2382 +django/db/backends/postgresql/creation.py,sha256=rGjKMO8KH-vKrrHXrSInMvthrtkTMyDIgIQB5p6GmnQ,2928 +django/db/backends/postgresql/features.py,sha256=v_5YfdP7eSpGAXyPIlBe8aiSYuWb8eiNJD6l0NxyOp4,2429 +django/db/backends/postgresql/introspection.py,sha256=B9SNIsDMP_TX-YmrvGq2gPeTuClp41x3RrxQEY4eafs,11775 +django/db/backends/postgresql/operations.py,sha256=0eDv7U7RMBeeh8rVHBSiPNLpZb_uHtaLja0alxUbkuc,11123 +django/db/backends/postgresql/schema.py,sha256=10GrHRQlQ5j1pGh6vjdxgWP7yChyBmpi7605asUA8ic,6402 +django/db/backends/postgresql/utils.py,sha256=3GXuTEoyPNqfUcXOCVnC-gw7xdAV17ZvZYb4Qu6f7Mc,176 +django/db/backends/postgresql_psycopg2/__init__.py,sha256=5v4iwk9d_ENPQMdjDfQxvPKTlOXxfaWsnaR-qgCPMcM,261 +django/db/backends/postgresql_psycopg2/base.py,sha256=g2aAztfMtAL93F8tGmO1W2YQbmr-w5sm_Obopi4JHX4,40 +django/db/backends/postgresql_psycopg2/client.py,sha256=IRCmGthBTRhO2RVGdyuxWLJowAc5H1_-1azwzrvJ-Ag,42 +django/db/backends/postgresql_psycopg2/creation.py,sha256=K2mX3uKrYKPu6snParWOUpdPE7njMl7d5F_9rWTEMy4,44 +django/db/backends/postgresql_psycopg2/features.py,sha256=5wEMe_Zj-SGxQ5AF06SH7ghMuamD_y7ddvJ9LBqZxhA,44 +django/db/backends/postgresql_psycopg2/introspection.py,sha256=uhjKJBighkTzV0JeFYJsYedni4w5I_N9LpIwDaPmOsE,49 +django/db/backends/postgresql_psycopg2/operations.py,sha256=xkIOUX-rLI6YjTKtEHYEK89whe2J1T-FKNVRBW2Jbh4,46 +django/db/backends/postgresql_psycopg2/schema.py,sha256=R-3T1eOq2-yD66L2--ICntPF2ZsLZ-Ok4TV4FGxyG5c,42 +django/db/backends/postgresql_psycopg2/utils.py,sha256=eneNs5az6_Q07x0q991G7ZABYgE-YgMg9-Xk35LT7PM,41 +django/db/backends/sqlite3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/db/backends/sqlite3/base.py,sha256=79X7iB3L9yeqh2ASIat0g5TZZGoI3aBELsS2Vph4Obc,18674 +django/db/backends/sqlite3/client.py,sha256=wiSj2r4sCG-n3SwFKJV2mVEw9GFXiyFbHgD_Ic_DjxA,311 +django/db/backends/sqlite3/creation.py,sha256=eQToSSfszeS-SyQzihO4FAcEFREKrNlJbQReTaFRUXk,4866 +django/db/backends/sqlite3/features.py,sha256=tBceqqJ_bGtQDLVHrWzFS3acvTNAVechQMIY9utgRL4,2347 +django/db/backends/sqlite3/introspection.py,sha256=YJYVQfFZOUDYKuxAAH-ZnGRZuh_yjaumboYvi8FxdQ0,13221 +django/db/backends/sqlite3/operations.py,sha256=7oRNkRsIHdZyBSFpHBfmSJO1S1GbzR9Z1QwGqzB-hPg,11862 +django/db/backends/sqlite3/schema.py,sha256=Qsw58FtoeInfasOFncAFD4T39zXkqSU8ISZO3iRiy5g,17548 +django/db/migrations/__init__.py,sha256=Oa4RvfEa6hITCqdcqwXYC66YknFKyluuy7vtNbSc-L4,97 +django/db/migrations/autodetector.py,sha256=laJi1HxlaEB4HsBbn4pdVytV-_zUClv7BgLClIm8bu0,59878 +django/db/migrations/exceptions.py,sha256=LCj-jTC1MhrKCyarNxhWWhQFIU2DGkUV4AtLwIEZ1MQ,1205 +django/db/migrations/executor.py,sha256=3goKbSuwv_VMZJd2bnYp9B9KU1Hn6Sy3wJpZ2L5CMHA,17479 +django/db/migrations/graph.py,sha256=7dVuynqL0AtIAug6wvaHT8YWB68pbnLrHFoPwFMjX-Q,15508 +django/db/migrations/loader.py,sha256=VZtwhgnKJ3jIv58o6aMGoNY_qS5PhIPY8k5EZdn6k9I,14786 +django/db/migrations/migration.py,sha256=XsGy8wvCWZBX-s3oGzovrwfYd_ffz0RYhWZ2D08AVug,8235 +django/db/migrations/optimizer.py,sha256=c2dt0t4AOVKLOCYYWZJm9C0IteVzTkD8D7r2Lh4A8iE,2803 +django/db/migrations/questioner.py,sha256=N18IZJrKLzaKFb9781l-Bnq-py0R-LEstzhGHnTLJoQ,9839 +django/db/migrations/recorder.py,sha256=YV9VB2IWX9n4Qf3EuZyryu2OHGIy2syacpaW4LNktIc,2891 +django/db/migrations/serializer.py,sha256=UWpSdTpc8JJm5GaPrDENs11sU8q0_9IenXUkFKMllrs,13457 +django/db/migrations/state.py,sha256=jFbM1wda7EwjrliAiz1HOFKDUbIpDGqSQSHynkQhJdU,25204 +django/db/migrations/topological_sort.py,sha256=M8VCyxJq-OOn-i-d6HgFYi0A77iOO7H6-iAjlqabywE,1141 +django/db/migrations/utils.py,sha256=ApIIVhNrnnZ79yzrbPeREFsk5kxLCuOd1rwh3dDaNLI,388 +django/db/migrations/writer.py,sha256=p_oLWrhPVvNrgpxXNTcfTLSHBGXOJSo5Ax4yHinXHCQ,11085 +django/db/migrations/operations/__init__.py,sha256=AsJk4Z1G6-hLJRWkyOLpP3lApxn4OmP4h1yqPrnUlfU,700 +django/db/migrations/operations/base.py,sha256=tYSvlbstzKKr2VSHnsn7PrKr8FL748C3oc253Auds4k,4830 +django/db/migrations/operations/fields.py,sha256=0PflYROnEv-J7Mayci7VOX9HtshT-pF_P_LSSexq0i4,13496 +django/db/migrations/operations/models.py,sha256=KLsnlPqlyqoHV-nUhFgiW4_OzCUwP39_0rJXhLgGuOM,32632 +django/db/migrations/operations/special.py,sha256=6vO2RRgaUPnxEjbkTX3QwAN-LaadZFHYpFHouAaMmig,7792 +django/db/migrations/operations/utils.py,sha256=E1pAxwoutzNe0TDZBTaGwjtu7p2Vmt14sFidLl_q3OI,527 +django/db/models/__init__.py,sha256=WL0qmZ8SIT8XaOaMcICSheau1rQ2zSOBC-G97P6Atdw,2928 +django/db/models/aggregates.py,sha256=8UxgzXRT57RuQVsxppfD10Z37-1o5bzIyWoeBHvA04w,6821 +django/db/models/base.py,sha256=cQJEIh3Uo4FZ9WsaaC82OEbiuAiHqZHqMqkI0SKsP1Y,71296 +django/db/models/constants.py,sha256=BstFLrG_rKBHL-IZ7iqXY9uSKLL6IOKOjheXBetCan0,117 +django/db/models/deletion.py,sha256=wG5lFqNLzIl60u9ARCmpZqPY-F3hrpcc4Q9GI9jMFgA,13584 +django/db/models/expressions.py,sha256=KunNfzMtw_ajODKF7ATlFLrIMwRqUqoJQnXd1NewdwU,47502 +django/db/models/indexes.py,sha256=PjGjFIUEeNGqWsYVou2txCNV8pmUeb-Noc8pwEMP7d4,4759 +django/db/models/lookups.py,sha256=0wg5loWajDmX4w0gjX92WbKfQsTrIsnq8NvnAqW4iz0,20976 +django/db/models/manager.py,sha256=SPZrZ3SUTGFQd7J23mcH2sj16HMTfs1M4oZQg2GlUoQ,6828 +django/db/models/options.py,sha256=ZSXf8SObwmC2iF2bEY-9skbh42leTBOZJgzZmcptSVo,34835 +django/db/models/query.py,sha256=crU2Zc5tbvZ37Hq_FamFVqTuEitJVixUeX0dfNtPZA8,74693 +django/db/models/query_utils.py,sha256=mSQtOVHWfqapebkzwTxsc1n97LMyjU7F9Nc2PpbOomk,12027 +django/db/models/signals.py,sha256=CJt6W3JnXMzRc2BQP0s_Qj6Q_PSC4hBTYnWyPatbjoU,2161 +django/db/models/utils.py,sha256=1mQ_zPVpHleO_BFdEU714a09NMvSmR65-T3P31hhMEk,852 +django/db/models/fields/__init__.py,sha256=Fj9F7DO5aqOlNPAZZHwgx_Kq9CSibXW3WzEJW-Hr5FE,85914 +django/db/models/fields/files.py,sha256=NDHAitUxI4O5k7RW74yIviqdJIZSezb60nknXlhgLPY,17906 +django/db/models/fields/mixins.py,sha256=5Ckq4d1cZODHfViLGcUyuJwvVPyV-Kfd2aZJzY4ckxc,816 +django/db/models/fields/proxy.py,sha256=fcJ2d1ZiY0sEouSq9SV7W1fm5eE3C_nMGky3Ma347dk,515 +django/db/models/fields/related.py,sha256=YSMq9uF8UETnnUfn-DHko46zY0Q870weHmYnzjfXX58,68335 +django/db/models/fields/related_descriptors.py,sha256=vONHdFpi4ARo3hruFYZYpLp6E8yuByGbQzpjWX-4S_M,49460 +django/db/models/fields/related_lookups.py,sha256=-T9rIa4aOgy3Uy8Q0QkTj8Npux0E8P4ZSVAf9jsMf6I,7023 +django/db/models/fields/reverse_related.py,sha256=j-YOys46oqP7T-8xfjz3_5FcOWR_hMBBp2xg8xfFmSs,10046 +django/db/models/functions/__init__.py,sha256=QliWCZZiyOGHEaBMAwujzgV-Zrf8O9bNCgqb8CxXkrE,1174 +django/db/models/functions/base.py,sha256=9vjosVnqGU82AvEtHlrvDoTgYMbJbvf2QBxuhWzRFMc,7155 +django/db/models/functions/datetime.py,sha256=7KlQP-hcAQCGQcka3695m5JZ08Oe8aEmSvowSQgIr_c,9967 +django/db/models/functions/window.py,sha256=quryNTlbAO5vImSRbIQNxyFJ7jAq_M_1vmuyZSCgyMs,2948 +django/db/models/sql/__init__.py,sha256=OcwrDD5reAtAe_L3iB6sm7uqzi1JOaoozN-p8veYZrc,252 +django/db/models/sql/compiler.py,sha256=6NWDvBQCKXXMtRosWS6YDbScxf9zHdKhh9B-u7eBvW4,66355 +django/db/models/sql/constants.py,sha256=p9_PSAOMk-5Gj2bR6mzrQZ5HGOFPxRCdxRk3Y8l1cXA,1039 +django/db/models/sql/datastructures.py,sha256=LPRTkrZ7Is1d4MMo29mWXV7s4W3u9f16UNAce3pk3a4,6721 +django/db/models/sql/query.py,sha256=tXt0czLKAc2iQvajqAGHeG7QANNLCF1mvgr0pcEFPz4,96644 +django/db/models/sql/subqueries.py,sha256=Hvu5xnsO4VLDDHKR6Q3h63VsiyASI3PCHQvU9i15G0w,7198 +django/db/models/sql/where.py,sha256=QQShEZva9Wa040FE_hfYpgUGPXBxm5JJBgTJcyWW4fo,7967 +django/dispatch/__init__.py,sha256=aZs1qtjOnhy8LWricxId1AQgpSUee-WCF-EzCj6o6qs,288 +django/dispatch/dispatcher.py,sha256=cZ9MkTFtcL366cFUAw8oOK9v9ofbhMWWyoL5aDG0P58,10848 +django/dispatch/license.txt,sha256=VABMS2BpZOvBY68W0EYHwW5Cj4p4oCb-y1P3DAn0qU8,1743 +django/forms/__init__.py,sha256=S6ckOMmvUX-vVST6AC-M8BzsfVQwuEUAdHWabMN-OGI,368 +django/forms/boundfield.py,sha256=aZmGbbiIJ_yA5iPw-sLCwWycQsCeKKaCFPVie7EzhVY,10749 +django/forms/fields.py,sha256=U76WvH2B-EeHm5edo1dRFtexkvUrNlzKbFCj_s4sjHU,44053 +django/forms/forms.py,sha256=WcLs14zO32u6QwNMOymzZXlh_hYSnrk5P1CgZIhixEM,20240 +django/forms/formsets.py,sha256=dkr74GXWf9L-dfcEe7JRmF_pqR2rIwOi7F7OxV5FmJY,18191 +django/forms/models.py,sha256=UVhQ7V6liv0TobbrjwTRs4yOZV-4zPQGzgzEJ-5xE3o,56012 +django/forms/renderers.py,sha256=mcfyrCSCSAYQTmII5g-82ZynuAv4S_P4FxLQ59ZYQck,1972 +django/forms/utils.py,sha256=3oMmxvzaruMZPMcEYCLOS8MUH4NK6SIyiAhW2kTVeME,5736 +django/forms/widgets.py,sha256=wfWrMZ3dJ_8WVqNaOoxG_OhNsYM2-3Gu078DCsytYKE,36684 +django/forms/jinja2/django/forms/widgets/attrs.html,sha256=_J2P-AOpHFhIwaqCNcrJFxEY4s-KPdy0Wcq0KlarIG0,172 +django/forms/jinja2/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 +django/forms/jinja2/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 +django/forms/jinja2/django/forms/widgets/clearable_file_input.html,sha256=4dmO2jGov35wB0hbbEQJG_8CWcD1czjWy6ViQ9TIJcc,467 +django/forms/jinja2/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/input.html,sha256=_Cr3sQVyv3alcf77UOGvxAabSINCATkVX3qqlEP_ciE,174 +django/forms/jinja2/django/forms/widgets/input_option.html,sha256=ZjX4w2EeSaPnWjhBiVpi5L-IriTjQ5s7fsS6gTMy5U0,205 +django/forms/jinja2/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 +django/forms/jinja2/django/forms/widgets/multiple_input.html,sha256=O9W9tLA_gdxNqN_No2Tesd8_2GhOTyKEkCOnp_rUBn4,431 +django/forms/jinja2/django/forms/widgets/multiwidget.html,sha256=pr-MxRyucRxn_HvBGZvbc3JbFyrAolbroxvA4zmPz2Y,86 +django/forms/jinja2/django/forms/widgets/number.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/password.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 +django/forms/jinja2/django/forms/widgets/radio_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 +django/forms/jinja2/django/forms/widgets/select.html,sha256=ESyDzbLTtM7-OG34EuSUnvxCtyP5IrQsZh0jGFrIdEA,365 +django/forms/jinja2/django/forms/widgets/select_date.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/forms/jinja2/django/forms/widgets/select_option.html,sha256=tNa1D3G8iy2ZcWeKyI-mijjDjRmMaqSo-jnAR_VS3Qc,110 +django/forms/jinja2/django/forms/widgets/splitdatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/forms/jinja2/django/forms/widgets/splithiddendatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/forms/jinja2/django/forms/widgets/text.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/textarea.html,sha256=Av1Y-hpXUU2AjrhnUivgZFKNBLdwCSZSeuSmCqmCkDA,145 +django/forms/jinja2/django/forms/widgets/time.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/jinja2/django/forms/widgets/url.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/attrs.html,sha256=9ylIPv5EZg-rx2qPLgobRkw6Zq_WJSM8kt106PpSYa0,172 +django/forms/templates/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 +django/forms/templates/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 +django/forms/templates/django/forms/widgets/clearable_file_input.html,sha256=4dmO2jGov35wB0hbbEQJG_8CWcD1czjWy6ViQ9TIJcc,467 +django/forms/templates/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/input.html,sha256=522egUaO0QWqTWwqBIEdTZI23I_fqKpWw64hMEaccm0,191 +django/forms/templates/django/forms/widgets/input_option.html,sha256=ZjX4w2EeSaPnWjhBiVpi5L-IriTjQ5s7fsS6gTMy5U0,205 +django/forms/templates/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 +django/forms/templates/django/forms/widgets/multiple_input.html,sha256=HwEaZLEiZYdPJ6brC9QWRGaIKzcX5UA2Tj5Rsq_NvOk,462 +django/forms/templates/django/forms/widgets/multiwidget.html,sha256=slk4AgCdXnVmFvavhjVcsza0quTOP2LG50D8wna0dw0,117 +django/forms/templates/django/forms/widgets/number.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/password.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 +django/forms/templates/django/forms/widgets/radio_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 +django/forms/templates/django/forms/widgets/select.html,sha256=7U0RzjeESG87ENzQjPRUF71gvKvGjVVvXcpsW2-BTR4,384 +django/forms/templates/django/forms/widgets/select_date.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/forms/templates/django/forms/widgets/select_option.html,sha256=N_psd0JYCqNhx2eh2oyvkF2KU2dv7M9mtMw_4BLYq8A,127 +django/forms/templates/django/forms/widgets/splitdatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/forms/templates/django/forms/widgets/splithiddendatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 +django/forms/templates/django/forms/widgets/text.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/textarea.html,sha256=Av1Y-hpXUU2AjrhnUivgZFKNBLdwCSZSeuSmCqmCkDA,145 +django/forms/templates/django/forms/widgets/time.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/forms/templates/django/forms/widgets/url.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 +django/http/__init__.py,sha256=5JImoB1BZNuZBOt5qyDX7t51McYbkDLX45eKmNN_Fes,1010 +django/http/cookie.py,sha256=7pFpsa7ITOB2LNv6lbXbt3DKwdJlFgsAKKSWFUmwO2w,1128 +django/http/multipartparser.py,sha256=xbOHPiGnO4mx7MyANA22hfduNKI1uKL5TSGrcVWepyE,24832 +django/http/request.py,sha256=93--k0OOpiRW-d6SbAnzXxbCUhXpvo2S_4wNbrgEo8U,20584 +django/http/response.py,sha256=7eN5TuQS2MEZ1HVpeGJPgp7527fNh7Y5hKjdZla4eWw,17512 +django/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/middleware/cache.py,sha256=6_rVV_p0NXY75nfrU0JOt56O--x8CQ6ZcbGWnzjW3Eg,7570 +django/middleware/clickjacking.py,sha256=4rzsG5m_Z2VabN7J_5ZVeFj14X3FAbs0iU5LKoBb9js,1733 +django/middleware/common.py,sha256=-C_VQObEpT9G9Y7OFx8UVNAwJhWQfSDicV0-WhEe-KM,8584 +django/middleware/csrf.py,sha256=L5zmV7loWuWktjUEUcFdPpjg5gXAPHyaO-zJpCpCasw,13363 +django/middleware/gzip.py,sha256=oq6J0L_1NLZuvV1F1MxuFPzdUS71301py0GWHBAmk2k,2060 +django/middleware/http.py,sha256=UO8H-fZpzpwiGDSD0sPoRqCAb3klksH25LFqkV6Dq8I,1636 +django/middleware/locale.py,sha256=QcxeqrDmZdEar1yhkGusYUIG0DdTlnkkf_E9L6SWy-o,3058 +django/middleware/security.py,sha256=he5CoJN5d5v61X2qDJr2eYGOetAK6X6l3O_1c0Zd69k,2016 +django/template/__init__.py,sha256=t5onT26DOSny4Qi7iz_a82M5WJydvPpkb6hFjE010CE,1871 +django/template/base.py,sha256=-abjmQn2vTQxlgnuMJ5JgJwvWBnTJFFtuv1QbwQCXgc,38215 +django/template/context.py,sha256=LkyuI1J-5iZk04ByzgQn7uxksqkTwWf7cHK--ucWIPU,9076 +django/template/context_processors.py,sha256=drfyVYugSe1lg9VIbsC3oRLUG64Gw94Oq77FLfk2ZNI,2407 +django/template/defaultfilters.py,sha256=DCLCHdfQkseWVBRZxvf1Iyhkbwc419gNzKW4djYmw3o,25806 +django/template/defaulttags.py,sha256=b88tlGSi5OWIPjwtoWmYmzsG8QXCagiea8fB8MWxNlU,49943 +django/template/engine.py,sha256=dWgo-JaCkgA0SCI_JmG5ZihzL0lbDZf5rTJyU1un49o,6886 +django/template/exceptions.py,sha256=awd7B80xhFB574Lt2IdIyHCpD6KGGyuKGkIoalr9deo,1340 +django/template/library.py,sha256=g2gi5FfSug-Wak2P4Weg7qGcwHrwIy47vse35YYkLbk,12812 +django/template/loader.py,sha256=-t5cTnWJrxtS2vyg9cguz4rXxlTBni4XoJUuqJNglPI,2054 +django/template/loader_tags.py,sha256=ZDcJWpCogd9NecVimLthqnSfdRV3yQInZ7_fnagWKQQ,13329 +django/template/response.py,sha256=dBq9wQvYEvCtHqpeK6Diw-yYkcQpbVDIeL22nckII3Q,5425 +django/template/smartif.py,sha256=QBvsTtD4YiyGoU4hXrW8vqR0CBAFOZGuDoRP3aGEgOs,6408 +django/template/utils.py,sha256=xQ-lHLzXrSFx4xc9E2Tja6MZHKGkKRRATxKwvCe3MPU,3665 +django/template/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/template/backends/base.py,sha256=qu6TlykN2JAUeQqIbiGujYG1dEsXZmAMpnzmLP0gSPg,2757 +django/template/backends/django.py,sha256=_w350tmHAMSLOw-b2o9rR0Wn6YX3QMkpHkkpvbo_EwI,4186 +django/template/backends/dummy.py,sha256=Nl313SxX1rxE1F-5AHCljgejrYpYCx-QXJpNUkQWXR4,1767 +django/template/backends/jinja2.py,sha256=bx8DcA2PqqzDmcgegY11pm5EhmD_gWTTLauGo91imL4,3504 +django/template/backends/utils.py,sha256=Wler787-GWAoQb6m7qaWdCfQoSBkHFLFECAdFe8xO_E,416 +django/template/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/template/loaders/app_directories.py,sha256=w3a84EAXWX12w7F1CyxIQ_lFiTwxFS7xf3rCEcnUqyc,313 +django/template/loaders/base.py,sha256=kvjmN-UHxdd6Pwgkexw7IHL0YeJQgXXbuz_tdj5ciKc,1558 +django/template/loaders/cached.py,sha256=n1t8aaDO_gq4aQUI2bFUSDDIE-SqrVzrXsvw661NTys,3669 +django/template/loaders/filesystem.py,sha256=OWTnIwWbVj-Td5VrOkKw1G_6pIuz1Vnh5CedZN5glyU,1507 +django/template/loaders/locmem.py,sha256=8cBYI8wPOOnIx_3v7fC5jezA_6pJLqgqObeLwHXQJKo,673 +django/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/templatetags/cache.py,sha256=otY3c4Ti9YLxFfOuIX5TZ7w12aGDPkyGfQNsaPVZ_M0,3401 +django/templatetags/i18n.py,sha256=Nzk-jyMfH9Z7jkNTQV_yRNVvftJDKYpIvJiRTtFLCuw,19093 +django/templatetags/l10n.py,sha256=__KS2RJf9mlS9EMzYooKoP6XquP4FDwyOr_xaD3TAAM,1689 +django/templatetags/static.py,sha256=om3cu4NVaH4MVUq-XPLxPVNlLUCxTbbp0qAVVSaClj4,4502 +django/templatetags/tz.py,sha256=HFzJsvh-x9yjoju4kiIpKAI0U_4crtoftqiT8llM_u8,5400 +django/test/__init__.py,sha256=5FrmvgBrxzZo5UVLW9HZ1iHBMMhcnXcNL5Y2xnaqVPA,682 +django/test/client.py,sha256=PY1YqhOaqguGApZHRmvRi9XePB6oP4CgjM7RMQk6OvI,26876 +django/test/html.py,sha256=su6cUczjfqucIrEhyp2Y_6JGH8uesJrpcvcbH1GTvvI,7570 +django/test/runner.py,sha256=nMc4VuyKDusaL8CyV0l3N_Pu0uGhwl-OxmXfHepDNN0,25346 +django/test/selenium.py,sha256=DFTUveBYZfODKHU_XN-UJpvm4VXeg-_uxTEH4SsC3fY,3271 +django/test/signals.py,sha256=BQlO0pXZTOdcbhgW1gJLc16WW2Q75wx_2wheG5kCh9U,6729 +django/test/testcases.py,sha256=pezhRHclmZiPt4TH5O0-hVSYNRNpibv7oY1ON795wOg,55089 +django/test/utils.py,sha256=8Wepq7h56ONrPu5t2LUWnu6OD5B6n0MfXhh7ordVO1U,28391 +django/urls/__init__.py,sha256=FdHfNv5NwWEIt1EqEpRY7xJ-i4tD-SCLj0tq3qT6X1E,959 +django/urls/base.py,sha256=ol5Wujd0NvWuBj8fQ66t6wx2nzWtCpVcg76uOvEqzOY,5529 +django/urls/conf.py,sha256=8Xug9NhJXDEysRXWrY2iHf0snfJMUmQkYZAomPltWMY,2946 +django/urls/converters.py,sha256=uukXCTD66n8NX_fiArq_s4p4to0oPqzuChNi6lpSAR8,1300 +django/urls/exceptions.py,sha256=alLNjkORtAxneC00g4qnRpG5wouOHvJvGbymdpKtG_I,115 +django/urls/resolvers.py,sha256=pPfTI9AAzEl_qerP-ndQwWzef1kyUsZvK9x8HTENpYo,25068 +django/urls/utils.py,sha256=VHDcmggNRHSbPJAql5KJhe7wX4pSjrKb64Fu-p14D9Q,2152 +django/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/utils/_os.py,sha256=CYxm1Ju2X5bl2fKKsYyCgemWdv6LPhEiDkaV3t_zf30,2435 +django/utils/archive.py,sha256=lWCX77dPtL6whlRjc2XaMqX8YP_9WPBMbw13n5Iu9Sg,7462 +django/utils/autoreload.py,sha256=QAj1ss_lF8hyTOMAACPso-Z6lNJM31044yLZFIIO-Hc,10325 +django/utils/baseconv.py,sha256=xYReIqcF2FFD85BqDrl48xo4UijII9D6YyC-FHsUPbw,2989 +django/utils/cache.py,sha256=yFegtgHpRPdb0KrTVmnDA66d-VEEmTRl8DQM-8hHzUc,16413 +django/utils/crypto.py,sha256=kmctPFVOMrZv-ZZJ_AnFsNSz3HBem3_J0vPqXPDo3l4,3092 +django/utils/datastructures.py,sha256=LECZu-BbSk2ZjunU1MGhC40lnA-12YuGEZ0uZp0zeOA,8559 +django/utils/dateformat.py,sha256=YyUXezYqG_R-hMqSh4Q50qyTfvReD_4TTHVD2c1zH4U,11508 +django/utils/dateparse.py,sha256=bg5SFVRFkUG4E06ZmU9HMvlVVz8OWTLW0OM9MAQXdF4,4731 +django/utils/dates.py,sha256=LczKNLLK2B6tg9FlrZUXgH9E9w14IqpuJHFUHLq2nCg,2295 +django/utils/datetime_safe.py,sha256=OnmCe-x1GMGDSiamEWqXEqAeTYyYrCAXUjKmgla1SmA,2837 +django/utils/deconstruct.py,sha256=hcO_7qassSI5dTfQ5CPttA8s3f9yaF8UnqKKma3bI6M,1975 +django/utils/decorators.py,sha256=6AftjSerJAtOAMjFGRbo3yTWvcaeRs0Li6jBslwPCAU,6796 +django/utils/deprecation.py,sha256=GvTCItgsfYJFhCvQ0pcmuyDDkaT5SCghhddns3YCzA0,3352 +django/utils/duration.py,sha256=e9u-nFSTt94c2xY91ZPILFei93yJbudefWlyCfYDd5s,1112 +django/utils/encoding.py,sha256=5CQjnr34WWGN2aoevn3CoQy8OZmaIBtWITi4_eybjU0,8994 +django/utils/feedgenerator.py,sha256=GLhiXNYDBZGJUa0FQU6nL-q1wvLaro01cdljGJn7AGI,16280 +django/utils/formats.py,sha256=cbcND7BRRcA3FW9OXKR0ZUVcPip4bHzDMDXjAq1broo,8945 +django/utils/functional.py,sha256=agR0TMLGS89cRAH0q1_5C7oq_jWG8UGWCR8AQzK_c1U,13347 +django/utils/html.py,sha256=yDvseYz1eYZo7COE01fhKugqho2tK1DUXKTVuL_ucIQ,13219 +django/utils/html_parser.py,sha256=r4_58apC-2nTlsb8U_IhAV6CkXyyomECwNUceXd1FjE,522 +django/utils/http.py,sha256=4cUoYHT_j2qV4WRbhOAmbl0OTNxBswsd8pdIYdWrI_k,15138 +django/utils/inspect.py,sha256=QWQvmtteqKw5m-EMj4ZK2ZwSx-DslUVk91z0Nkilylw,1688 +django/utils/ipv6.py,sha256=WBkmZXdtbIHgcaWDKm4ElRvzyu_wKLCW2aA18g1RCJo,1350 +django/utils/itercompat.py,sha256=lacIDjczhxbwG4ON_KfG1H6VNPOGOpbRhnVhbedo2CY,184 +django/utils/jslex.py,sha256=jOes0kfZoIIPxPMNWkXMJ6D3x3f95B5cZWKXo38Rhcc,7707 +django/utils/log.py,sha256=NlJM6lVKcNIPORfcmIEbPWihftyrs0UVn9SPFsBXv0A,6379 +django/utils/lorem_ipsum.py,sha256=P_BSLsITDP2ZW9EJPy6ciFneib0iz9ezBz2LD7CViRE,4775 +django/utils/lru_cache.py,sha256=4g-svLUmsvn2wlS-rPEJbFr_ODqoar5qxwIjGxrLlxA,256 +django/utils/module_loading.py,sha256=zmTlFLAdv20BhBHoPCDBBT2N7PAUrkYctAUDHF1kUPs,3649 +django/utils/numberformat.py,sha256=fuSLvYVK4lo_Wd71yWP5fxBKeOpMQ3fipIDkvw5TlHU,2476 +django/utils/regex_helper.py,sha256=ZNQL2n_QLFhDSSbOJUrV6LazOZ-L1BU8wROjlOP2MCY,12621 +django/utils/safestring.py,sha256=zI0FSoQ-pRtGzOP8vpxn9BePHXyTxMNh9hfrRNKV6EM,2473 +django/utils/six.py,sha256=ecocr7GKytCmp9FbyOLDUR4_0vngcOjMJItxTGnTRV8,30502 +django/utils/synch.py,sha256=xPLelilO5ExgCHStSIszcYCAADOsghfDERY4ehkMGtM,2550 +django/utils/termcolors.py,sha256=JrysYBjC72oq0WBL6EJ44A8ZEij_S7QsivoRQugxPEk,7362 +django/utils/text.py,sha256=mWw4XoUQAjE5i0bFd5OVzW9G2nXFYWVK4ui0RQBOtVU,14092 +django/utils/timesince.py,sha256=WVWenJ0639Kazt7-EhytpC5gnE99cAhP0azQasBcIaQ,2788 +django/utils/timezone.py,sha256=52BTXPDyAIDIjsbpM6AJ76VqMok7DtXN04aYHZjnR00,8234 +django/utils/tree.py,sha256=ZxMnEXezuaZPH1zrz5YggQZiSUuU9pxAfloM18JAc1g,4851 +django/utils/version.py,sha256=_XvHClAZhpqbwXr4wO5iUqT_BeuK2F8q6l21hL0Iy5U,2818 +django/utils/xmlutils.py,sha256=B3FOKaFNynp0fC1wliItPSKzNABSyc-0x897F7kEVj4,1184 +django/utils/translation/__init__.py,sha256=7-Prpm1Z_r4U9k5bC0QXtq1SZBx9H9txsz90k7spzuU,7499 +django/utils/translation/template.py,sha256=62Ipn0LYDaZwAPM9OQWgH8aKkuZ-xaIkj41bTio-1q0,9979 +django/utils/translation/trans_null.py,sha256=20q6ayK6V2aylDQzcFmtz-X3faye3SKedb9nDMl4opQ,1258 +django/utils/translation/trans_real.py,sha256=zgGTEZVPucPAnKOSrYKvs4dmPVs7R8ka68nVDdSkASg,18540 +django/views/__init__.py,sha256=DGdAuGC0t1bMju9i-B9p_gqPgRIFHtLXTdIxNKWFGsw,63 +django/views/csrf.py,sha256=TOnXES5w0BmUvyq7whGB6Z6Ds4-RotIVammFGN88UKY,6252 +django/views/debug.py,sha256=sDUdXdsVRLcJqccq7HqY6LDi0BaaUYNY3mHqpKLB0f0,20367 +django/views/defaults.py,sha256=Q7qxucjUHPoQmjjT_p93erxGXNaNK2THO4OZrhTMw-k,4260 +django/views/i18n.py,sha256=I73xYV604j0tek35-o1r0-LO__5aEXiT4v8K1gDDAUE,11735 +django/views/static.py,sha256=FS-Z_Vvd1By9dOQdg2NeqgSI_7NU4KRmAuqubAfndxo,4623 +django/views/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +django/views/decorators/cache.py,sha256=uSLzb61mCuFKIm8tR3Gs_NP1H7U-BOEU_QOc3IhBC_4,1705 +django/views/decorators/clickjacking.py,sha256=EW-DRe2dR8yg4Rf8HRHl8c4-C8mL3HKGa6PxZRKmFtU,1565 +django/views/decorators/csrf.py,sha256=xPWVVNw_DBidvX_ZVYvN7CePt1HpxpUxsb6wMr0Oe4Y,2073 +django/views/decorators/debug.py,sha256=Q_ul_n8M89WoPL87mDYomZ74mv_djuudZZ-b-uB1I6s,2569 +django/views/decorators/gzip.py,sha256=PtpSGd8BePa1utGqvKMFzpLtZJxpV2_Jej8llw5bCJY,253 +django/views/decorators/http.py,sha256=iMl98tvpUXs4mSg-d0S4soAV-E_ynr3MlRpwyff6CRY,4715 +django/views/decorators/vary.py,sha256=6wEXI5yBFZYDVednNPc0bYbXGG-QzkIUQ-50ErDrA_k,1084 +django/views/generic/__init__.py,sha256=WTnzEXnKyJqzHlLu_VsXInYg-GokDNBCUYNV_U6U-ok,822 +django/views/generic/base.py,sha256=QnQhKsAP8E83lwZo5Py8iOgjIoXfi_a6nrmmQoGfK08,7429 +django/views/generic/dates.py,sha256=V9AXAGCcMsiO5YxSFSQTCx19bACQaY_wBM5GH-5dbaI,25251 +django/views/generic/detail.py,sha256=X8fJS4Dg7qMSkstsDnGBpYw6Lmyr18tNYhRsoSBZNqk,6521 +django/views/generic/edit.py,sha256=bJAQ5HAK_upREBxmgUDWAbUMd56gw3Qk1Emiglmx7c8,8342 +django/views/generic/list.py,sha256=Z1ti5yZADM1rT-s_QqUyoRGDBeEX6rkoZxoE_CE0iMY,7388 +django/views/templates/default_urlconf.html,sha256=uTxHyCtjPV09MlXNBOjSq5meAfkhmJ72hCvlDOEtMwU,16595 +django/views/templates/technical_404.html,sha256=nZT2gkPAYc7G8VNJXst-dEyim0t83xjX-TtCGtxJZwc,2453 +django/views/templates/technical_500.html,sha256=ez3ErTVw3TUUhQOTipX6rHFpN9eiysKVRTz-maEwS2g,17218 +django/views/templates/technical_500.txt,sha256=7VWOipQg2poVyusbM8dQHRyRR-iUB_dOehAoF0HBHNM,3367 +../../../bin/django-admin,sha256=tCPpfc-HOy0szljTTFsVa3UktEG3uAQM0Z7Ef5RASAw,308 +Django-2.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +django/templatetags/__pycache__/tz.cpython-36.pyc,, +django/templatetags/__pycache__/l10n.cpython-36.pyc,, +django/templatetags/__pycache__/i18n.cpython-36.pyc,, +django/templatetags/__pycache__/cache.cpython-36.pyc,, +django/templatetags/__pycache__/static.cpython-36.pyc,, +django/templatetags/__pycache__/__init__.cpython-36.pyc,, +django/middleware/__pycache__/csrf.cpython-36.pyc,, +django/middleware/__pycache__/clickjacking.cpython-36.pyc,, +django/middleware/__pycache__/common.cpython-36.pyc,, +django/middleware/__pycache__/gzip.cpython-36.pyc,, +django/middleware/__pycache__/locale.cpython-36.pyc,, +django/middleware/__pycache__/security.cpython-36.pyc,, +django/middleware/__pycache__/cache.cpython-36.pyc,, +django/middleware/__pycache__/http.cpython-36.pyc,, +django/middleware/__pycache__/__init__.cpython-36.pyc,, +django/forms/__pycache__/renderers.cpython-36.pyc,, +django/forms/__pycache__/boundfield.cpython-36.pyc,, +django/forms/__pycache__/widgets.cpython-36.pyc,, +django/forms/__pycache__/forms.cpython-36.pyc,, +django/forms/__pycache__/models.cpython-36.pyc,, +django/forms/__pycache__/formsets.cpython-36.pyc,, +django/forms/__pycache__/utils.cpython-36.pyc,, +django/forms/__pycache__/fields.cpython-36.pyc,, +django/forms/__pycache__/__init__.cpython-36.pyc,, +django/core/cache/backends/__pycache__/locmem.cpython-36.pyc,, +django/core/cache/backends/__pycache__/db.cpython-36.pyc,, +django/core/cache/backends/__pycache__/base.cpython-36.pyc,, +django/core/cache/backends/__pycache__/dummy.cpython-36.pyc,, +django/core/cache/backends/__pycache__/__init__.cpython-36.pyc,, +django/core/cache/backends/__pycache__/filebased.cpython-36.pyc,, +django/core/cache/backends/__pycache__/memcached.cpython-36.pyc,, +django/core/cache/__pycache__/utils.cpython-36.pyc,, +django/core/cache/__pycache__/__init__.cpython-36.pyc,, +django/core/mail/backends/__pycache__/smtp.cpython-36.pyc,, +django/core/mail/backends/__pycache__/console.cpython-36.pyc,, +django/core/mail/backends/__pycache__/locmem.cpython-36.pyc,, +django/core/mail/backends/__pycache__/base.cpython-36.pyc,, +django/core/mail/backends/__pycache__/dummy.cpython-36.pyc,, +django/core/mail/backends/__pycache__/__init__.cpython-36.pyc,, +django/core/mail/backends/__pycache__/filebased.cpython-36.pyc,, +django/core/mail/__pycache__/message.cpython-36.pyc,, +django/core/mail/__pycache__/utils.cpython-36.pyc,, +django/core/mail/__pycache__/__init__.cpython-36.pyc,, +django/core/checks/compatibility/__pycache__/__init__.cpython-36.pyc,, +django/core/checks/security/__pycache__/sessions.cpython-36.pyc,, +django/core/checks/security/__pycache__/csrf.cpython-36.pyc,, +django/core/checks/security/__pycache__/base.cpython-36.pyc,, +django/core/checks/security/__pycache__/__init__.cpython-36.pyc,, +django/core/checks/__pycache__/model_checks.cpython-36.pyc,, +django/core/checks/__pycache__/database.cpython-36.pyc,, +django/core/checks/__pycache__/messages.cpython-36.pyc,, +django/core/checks/__pycache__/templates.cpython-36.pyc,, +django/core/checks/__pycache__/caches.cpython-36.pyc,, +django/core/checks/__pycache__/registry.cpython-36.pyc,, +django/core/checks/__pycache__/__init__.cpython-36.pyc,, +django/core/checks/__pycache__/urls.cpython-36.pyc,, +django/core/management/__pycache__/sql.cpython-36.pyc,, +django/core/management/__pycache__/templates.cpython-36.pyc,, +django/core/management/__pycache__/base.cpython-36.pyc,, +django/core/management/__pycache__/color.cpython-36.pyc,, +django/core/management/__pycache__/utils.cpython-36.pyc,, +django/core/management/__pycache__/__init__.cpython-36.pyc,, +django/core/management/commands/__pycache__/sqlmigrate.cpython-36.pyc,, +django/core/management/commands/__pycache__/startproject.cpython-36.pyc,, +django/core/management/commands/__pycache__/dumpdata.cpython-36.pyc,, +django/core/management/commands/__pycache__/dbshell.cpython-36.pyc,, +django/core/management/commands/__pycache__/showmigrations.cpython-36.pyc,, +django/core/management/commands/__pycache__/sqlflush.cpython-36.pyc,, +django/core/management/commands/__pycache__/compilemessages.cpython-36.pyc,, +django/core/management/commands/__pycache__/startapp.cpython-36.pyc,, +django/core/management/commands/__pycache__/loaddata.cpython-36.pyc,, +django/core/management/commands/__pycache__/squashmigrations.cpython-36.pyc,, +django/core/management/commands/__pycache__/makemessages.cpython-36.pyc,, +django/core/management/commands/__pycache__/sqlsequencereset.cpython-36.pyc,, +django/core/management/commands/__pycache__/check.cpython-36.pyc,, +django/core/management/commands/__pycache__/makemigrations.cpython-36.pyc,, +django/core/management/commands/__pycache__/inspectdb.cpython-36.pyc,, +django/core/management/commands/__pycache__/migrate.cpython-36.pyc,, +django/core/management/commands/__pycache__/testserver.cpython-36.pyc,, +django/core/management/commands/__pycache__/sendtestemail.cpython-36.pyc,, +django/core/management/commands/__pycache__/diffsettings.cpython-36.pyc,, +django/core/management/commands/__pycache__/flush.cpython-36.pyc,, +django/core/management/commands/__pycache__/runserver.cpython-36.pyc,, +django/core/management/commands/__pycache__/shell.cpython-36.pyc,, +django/core/management/commands/__pycache__/__init__.cpython-36.pyc,, +django/core/management/commands/__pycache__/test.cpython-36.pyc,, +django/core/management/commands/__pycache__/createcachetable.cpython-36.pyc,, +django/core/__pycache__/exceptions.cpython-36.pyc,, +django/core/__pycache__/signals.cpython-36.pyc,, +django/core/__pycache__/paginator.cpython-36.pyc,, +django/core/__pycache__/validators.cpython-36.pyc,, +django/core/__pycache__/signing.cpython-36.pyc,, +django/core/__pycache__/wsgi.cpython-36.pyc,, +django/core/__pycache__/__init__.cpython-36.pyc,, +django/core/serializers/__pycache__/xml_serializer.cpython-36.pyc,, +django/core/serializers/__pycache__/pyyaml.cpython-36.pyc,, +django/core/serializers/__pycache__/python.cpython-36.pyc,, +django/core/serializers/__pycache__/base.cpython-36.pyc,, +django/core/serializers/__pycache__/__init__.cpython-36.pyc,, +django/core/serializers/__pycache__/json.cpython-36.pyc,, +django/core/files/__pycache__/uploadedfile.cpython-36.pyc,, +django/core/files/__pycache__/temp.cpython-36.pyc,, +django/core/files/__pycache__/storage.cpython-36.pyc,, +django/core/files/__pycache__/uploadhandler.cpython-36.pyc,, +django/core/files/__pycache__/images.cpython-36.pyc,, +django/core/files/__pycache__/move.cpython-36.pyc,, +django/core/files/__pycache__/base.cpython-36.pyc,, +django/core/files/__pycache__/utils.cpython-36.pyc,, +django/core/files/__pycache__/__init__.cpython-36.pyc,, +django/core/files/__pycache__/locks.cpython-36.pyc,, +django/core/handlers/__pycache__/base.cpython-36.pyc,, +django/core/handlers/__pycache__/wsgi.cpython-36.pyc,, +django/core/handlers/__pycache__/exception.cpython-36.pyc,, +django/core/handlers/__pycache__/__init__.cpython-36.pyc,, +django/core/servers/__pycache__/basehttp.cpython-36.pyc,, +django/core/servers/__pycache__/__init__.cpython-36.pyc,, +django/test/__pycache__/client.cpython-36.pyc,, +django/test/__pycache__/testcases.cpython-36.pyc,, +django/test/__pycache__/signals.cpython-36.pyc,, +django/test/__pycache__/utils.cpython-36.pyc,, +django/test/__pycache__/selenium.cpython-36.pyc,, +django/test/__pycache__/__init__.cpython-36.pyc,, +django/test/__pycache__/html.cpython-36.pyc,, +django/test/__pycache__/runner.cpython-36.pyc,, +django/bin/__pycache__/django-admin.cpython-36.pyc,, +django/dispatch/__pycache__/dispatcher.cpython-36.pyc,, +django/dispatch/__pycache__/__init__.cpython-36.pyc,, +django/template/backends/__pycache__/django.cpython-36.pyc,, +django/template/backends/__pycache__/jinja2.cpython-36.pyc,, +django/template/backends/__pycache__/base.cpython-36.pyc,, +django/template/backends/__pycache__/utils.cpython-36.pyc,, +django/template/backends/__pycache__/dummy.cpython-36.pyc,, +django/template/backends/__pycache__/__init__.cpython-36.pyc,, +django/template/__pycache__/engine.cpython-36.pyc,, +django/template/__pycache__/defaulttags.cpython-36.pyc,, +django/template/__pycache__/response.cpython-36.pyc,, +django/template/__pycache__/context_processors.cpython-36.pyc,, +django/template/__pycache__/exceptions.cpython-36.pyc,, +django/template/__pycache__/smartif.cpython-36.pyc,, +django/template/__pycache__/defaultfilters.cpython-36.pyc,, +django/template/__pycache__/loader.cpython-36.pyc,, +django/template/__pycache__/base.cpython-36.pyc,, +django/template/__pycache__/loader_tags.cpython-36.pyc,, +django/template/__pycache__/utils.cpython-36.pyc,, +django/template/__pycache__/library.cpython-36.pyc,, +django/template/__pycache__/context.cpython-36.pyc,, +django/template/__pycache__/__init__.cpython-36.pyc,, +django/template/loaders/__pycache__/cached.cpython-36.pyc,, +django/template/loaders/__pycache__/app_directories.cpython-36.pyc,, +django/template/loaders/__pycache__/locmem.cpython-36.pyc,, +django/template/loaders/__pycache__/filesystem.cpython-36.pyc,, +django/template/loaders/__pycache__/base.cpython-36.pyc,, +django/template/loaders/__pycache__/__init__.cpython-36.pyc,, +django/utils/translation/__pycache__/trans_real.cpython-36.pyc,, +django/utils/translation/__pycache__/template.cpython-36.pyc,, +django/utils/translation/__pycache__/__init__.cpython-36.pyc,, +django/utils/translation/__pycache__/trans_null.cpython-36.pyc,, +django/utils/__pycache__/tree.cpython-36.pyc,, +django/utils/__pycache__/inspect.cpython-36.pyc,, +django/utils/__pycache__/feedgenerator.cpython-36.pyc,, +django/utils/__pycache__/synch.cpython-36.pyc,, +django/utils/__pycache__/duration.cpython-36.pyc,, +django/utils/__pycache__/dateformat.cpython-36.pyc,, +django/utils/__pycache__/timesince.cpython-36.pyc,, +django/utils/__pycache__/datastructures.cpython-36.pyc,, +django/utils/__pycache__/version.cpython-36.pyc,, +django/utils/__pycache__/deprecation.cpython-36.pyc,, +django/utils/__pycache__/xmlutils.cpython-36.pyc,, +django/utils/__pycache__/functional.cpython-36.pyc,, +django/utils/__pycache__/ipv6.cpython-36.pyc,, +django/utils/__pycache__/itercompat.cpython-36.pyc,, +django/utils/__pycache__/_os.cpython-36.pyc,, +django/utils/__pycache__/safestring.cpython-36.pyc,, +django/utils/__pycache__/archive.cpython-36.pyc,, +django/utils/__pycache__/text.cpython-36.pyc,, +django/utils/__pycache__/datetime_safe.cpython-36.pyc,, +django/utils/__pycache__/six.cpython-36.pyc,, +django/utils/__pycache__/formats.cpython-36.pyc,, +django/utils/__pycache__/encoding.cpython-36.pyc,, +django/utils/__pycache__/baseconv.cpython-36.pyc,, +django/utils/__pycache__/lru_cache.cpython-36.pyc,, +django/utils/__pycache__/deconstruct.cpython-36.pyc,, +django/utils/__pycache__/crypto.cpython-36.pyc,, +django/utils/__pycache__/log.cpython-36.pyc,, +django/utils/__pycache__/numberformat.cpython-36.pyc,, +django/utils/__pycache__/termcolors.cpython-36.pyc,, +django/utils/__pycache__/autoreload.cpython-36.pyc,, +django/utils/__pycache__/cache.cpython-36.pyc,, +django/utils/__pycache__/lorem_ipsum.cpython-36.pyc,, +django/utils/__pycache__/dates.cpython-36.pyc,, +django/utils/__pycache__/http.cpython-36.pyc,, +django/utils/__pycache__/jslex.cpython-36.pyc,, +django/utils/__pycache__/html_parser.cpython-36.pyc,, +django/utils/__pycache__/__init__.cpython-36.pyc,, +django/utils/__pycache__/decorators.cpython-36.pyc,, +django/utils/__pycache__/dateparse.cpython-36.pyc,, +django/utils/__pycache__/html.cpython-36.pyc,, +django/utils/__pycache__/regex_helper.cpython-36.pyc,, +django/utils/__pycache__/module_loading.cpython-36.pyc,, +django/utils/__pycache__/timezone.cpython-36.pyc,, +django/__pycache__/shortcuts.cpython-36.pyc,, +django/__pycache__/__main__.cpython-36.pyc,, +django/__pycache__/__init__.cpython-36.pyc,, +django/contrib/syndication/__pycache__/views.cpython-36.pyc,, +django/contrib/syndication/__pycache__/apps.cpython-36.pyc,, +django/contrib/syndication/__pycache__/__init__.cpython-36.pyc,, +django/contrib/messages/__pycache__/constants.cpython-36.pyc,, +django/contrib/messages/__pycache__/context_processors.cpython-36.pyc,, +django/contrib/messages/__pycache__/views.cpython-36.pyc,, +django/contrib/messages/__pycache__/middleware.cpython-36.pyc,, +django/contrib/messages/__pycache__/apps.cpython-36.pyc,, +django/contrib/messages/__pycache__/utils.cpython-36.pyc,, +django/contrib/messages/__pycache__/__init__.cpython-36.pyc,, +django/contrib/messages/__pycache__/api.cpython-36.pyc,, +django/contrib/messages/storage/__pycache__/base.cpython-36.pyc,, +django/contrib/messages/storage/__pycache__/cookie.cpython-36.pyc,, +django/contrib/messages/storage/__pycache__/fallback.cpython-36.pyc,, +django/contrib/messages/storage/__pycache__/session.cpython-36.pyc,, +django/contrib/messages/storage/__pycache__/__init__.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0001_initial.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0008_alter_user_username_max_length.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0006_require_contenttypes_0002.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0003_alter_user_email_max_length.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0002_alter_permission_name_max_length.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0007_alter_validators_add_error_messages.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/__init__.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0004_alter_user_username_opts.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0005_alter_user_last_login_null.cpython-36.pyc,, +django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length.cpython-36.pyc,, +django/contrib/auth/management/__pycache__/__init__.cpython-36.pyc,, +django/contrib/auth/management/commands/__pycache__/createsuperuser.cpython-36.pyc,, +django/contrib/auth/management/commands/__pycache__/changepassword.cpython-36.pyc,, +django/contrib/auth/management/commands/__pycache__/__init__.cpython-36.pyc,, +django/contrib/auth/__pycache__/context_processors.cpython-36.pyc,, +django/contrib/auth/__pycache__/checks.cpython-36.pyc,, +django/contrib/auth/__pycache__/admin.cpython-36.pyc,, +django/contrib/auth/__pycache__/password_validation.cpython-36.pyc,, +django/contrib/auth/__pycache__/forms.cpython-36.pyc,, +django/contrib/auth/__pycache__/signals.cpython-36.pyc,, +django/contrib/auth/__pycache__/models.cpython-36.pyc,, +django/contrib/auth/__pycache__/mixins.cpython-36.pyc,, +django/contrib/auth/__pycache__/views.cpython-36.pyc,, +django/contrib/auth/__pycache__/tokens.cpython-36.pyc,, +django/contrib/auth/__pycache__/middleware.cpython-36.pyc,, +django/contrib/auth/__pycache__/validators.cpython-36.pyc,, +django/contrib/auth/__pycache__/apps.cpython-36.pyc,, +django/contrib/auth/__pycache__/base_user.cpython-36.pyc,, +django/contrib/auth/__pycache__/hashers.cpython-36.pyc,, +django/contrib/auth/__pycache__/__init__.cpython-36.pyc,, +django/contrib/auth/__pycache__/decorators.cpython-36.pyc,, +django/contrib/auth/__pycache__/urls.cpython-36.pyc,, +django/contrib/auth/__pycache__/backends.cpython-36.pyc,, +django/contrib/auth/handlers/__pycache__/modwsgi.cpython-36.pyc,, +django/contrib/auth/handlers/__pycache__/__init__.cpython-36.pyc,, +django/contrib/admin/templatetags/__pycache__/admin_list.cpython-36.pyc,, +django/contrib/admin/templatetags/__pycache__/admin_static.cpython-36.pyc,, +django/contrib/admin/templatetags/__pycache__/log.cpython-36.pyc,, +django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-36.pyc,, +django/contrib/admin/templatetags/__pycache__/__init__.cpython-36.pyc,, +django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-36.pyc,, +django/contrib/admin/migrations/__pycache__/0001_initial.cpython-36.pyc,, +django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-36.pyc,, +django/contrib/admin/migrations/__pycache__/__init__.cpython-36.pyc,, +django/contrib/admin/__pycache__/exceptions.cpython-36.pyc,, +django/contrib/admin/__pycache__/checks.cpython-36.pyc,, +django/contrib/admin/__pycache__/widgets.cpython-36.pyc,, +django/contrib/admin/__pycache__/forms.cpython-36.pyc,, +django/contrib/admin/__pycache__/models.cpython-36.pyc,, +django/contrib/admin/__pycache__/sites.cpython-36.pyc,, +django/contrib/admin/__pycache__/tests.cpython-36.pyc,, +django/contrib/admin/__pycache__/actions.cpython-36.pyc,, +django/contrib/admin/__pycache__/apps.cpython-36.pyc,, +django/contrib/admin/__pycache__/utils.cpython-36.pyc,, +django/contrib/admin/__pycache__/helpers.cpython-36.pyc,, +django/contrib/admin/__pycache__/filters.cpython-36.pyc,, +django/contrib/admin/__pycache__/options.cpython-36.pyc,, +django/contrib/admin/__pycache__/__init__.cpython-36.pyc,, +django/contrib/admin/__pycache__/decorators.cpython-36.pyc,, +django/contrib/admin/views/__pycache__/autocomplete.cpython-36.pyc,, +django/contrib/admin/views/__pycache__/main.cpython-36.pyc,, +django/contrib/admin/views/__pycache__/__init__.cpython-36.pyc,, +django/contrib/admin/views/__pycache__/decorators.cpython-36.pyc,, +django/contrib/staticfiles/templatetags/__pycache__/staticfiles.cpython-36.pyc,, +django/contrib/staticfiles/templatetags/__pycache__/__init__.cpython-36.pyc,, +django/contrib/staticfiles/management/__pycache__/__init__.cpython-36.pyc,, +django/contrib/staticfiles/management/commands/__pycache__/findstatic.cpython-36.pyc,, +django/contrib/staticfiles/management/commands/__pycache__/collectstatic.cpython-36.pyc,, +django/contrib/staticfiles/management/commands/__pycache__/runserver.cpython-36.pyc,, +django/contrib/staticfiles/management/commands/__pycache__/__init__.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/handlers.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/checks.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/storage.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/testing.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/views.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/apps.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/finders.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/utils.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/__init__.cpython-36.pyc,, +django/contrib/staticfiles/__pycache__/urls.cpython-36.pyc,, +django/contrib/__pycache__/__init__.cpython-36.pyc,, +django/contrib/flatpages/templatetags/__pycache__/flatpages.cpython-36.pyc,, +django/contrib/flatpages/templatetags/__pycache__/__init__.cpython-36.pyc,, +django/contrib/flatpages/migrations/__pycache__/0001_initial.cpython-36.pyc,, +django/contrib/flatpages/migrations/__pycache__/__init__.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/admin.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/forms.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/models.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/views.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/middleware.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/apps.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/sitemaps.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/__init__.cpython-36.pyc,, +django/contrib/flatpages/__pycache__/urls.cpython-36.pyc,, +django/contrib/sites/migrations/__pycache__/0001_initial.cpython-36.pyc,, +django/contrib/sites/migrations/__pycache__/0002_alter_domain_unique.cpython-36.pyc,, +django/contrib/sites/migrations/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sites/__pycache__/managers.cpython-36.pyc,, +django/contrib/sites/__pycache__/admin.cpython-36.pyc,, +django/contrib/sites/__pycache__/shortcuts.cpython-36.pyc,, +django/contrib/sites/__pycache__/models.cpython-36.pyc,, +django/contrib/sites/__pycache__/management.cpython-36.pyc,, +django/contrib/sites/__pycache__/middleware.cpython-36.pyc,, +django/contrib/sites/__pycache__/apps.cpython-36.pyc,, +django/contrib/sites/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sites/__pycache__/requests.cpython-36.pyc,, +django/contrib/postgres/forms/__pycache__/jsonb.cpython-36.pyc,, +django/contrib/postgres/forms/__pycache__/array.cpython-36.pyc,, +django/contrib/postgres/forms/__pycache__/ranges.cpython-36.pyc,, +django/contrib/postgres/forms/__pycache__/hstore.cpython-36.pyc,, +django/contrib/postgres/forms/__pycache__/__init__.cpython-36.pyc,, +django/contrib/postgres/aggregates/__pycache__/general.cpython-36.pyc,, +django/contrib/postgres/aggregates/__pycache__/statistics.cpython-36.pyc,, +django/contrib/postgres/aggregates/__pycache__/__init__.cpython-36.pyc,, +django/contrib/postgres/__pycache__/lookups.cpython-36.pyc,, +django/contrib/postgres/__pycache__/signals.cpython-36.pyc,, +django/contrib/postgres/__pycache__/operations.cpython-36.pyc,, +django/contrib/postgres/__pycache__/functions.cpython-36.pyc,, +django/contrib/postgres/__pycache__/indexes.cpython-36.pyc,, +django/contrib/postgres/__pycache__/validators.cpython-36.pyc,, +django/contrib/postgres/__pycache__/apps.cpython-36.pyc,, +django/contrib/postgres/__pycache__/search.cpython-36.pyc,, +django/contrib/postgres/__pycache__/utils.cpython-36.pyc,, +django/contrib/postgres/__pycache__/__init__.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/jsonb.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/array.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/ranges.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/citext.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/utils.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/hstore.cpython-36.pyc,, +django/contrib/postgres/fields/__pycache__/__init__.cpython-36.pyc,, +django/contrib/redirects/migrations/__pycache__/0001_initial.cpython-36.pyc,, +django/contrib/redirects/migrations/__pycache__/__init__.cpython-36.pyc,, +django/contrib/redirects/__pycache__/admin.cpython-36.pyc,, +django/contrib/redirects/__pycache__/models.cpython-36.pyc,, +django/contrib/redirects/__pycache__/middleware.cpython-36.pyc,, +django/contrib/redirects/__pycache__/apps.cpython-36.pyc,, +django/contrib/redirects/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sessions/migrations/__pycache__/0001_initial.cpython-36.pyc,, +django/contrib/sessions/migrations/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sessions/backends/__pycache__/signed_cookies.cpython-36.pyc,, +django/contrib/sessions/backends/__pycache__/cached_db.cpython-36.pyc,, +django/contrib/sessions/backends/__pycache__/db.cpython-36.pyc,, +django/contrib/sessions/backends/__pycache__/file.cpython-36.pyc,, +django/contrib/sessions/backends/__pycache__/base.cpython-36.pyc,, +django/contrib/sessions/backends/__pycache__/cache.cpython-36.pyc,, +django/contrib/sessions/backends/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sessions/management/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sessions/management/commands/__pycache__/clearsessions.cpython-36.pyc,, +django/contrib/sessions/management/commands/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sessions/__pycache__/serializers.cpython-36.pyc,, +django/contrib/sessions/__pycache__/base_session.cpython-36.pyc,, +django/contrib/sessions/__pycache__/exceptions.cpython-36.pyc,, +django/contrib/sessions/__pycache__/models.cpython-36.pyc,, +django/contrib/sessions/__pycache__/middleware.cpython-36.pyc,, +django/contrib/sessions/__pycache__/apps.cpython-36.pyc,, +django/contrib/sessions/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sitemaps/management/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sitemaps/management/commands/__pycache__/ping_google.cpython-36.pyc,, +django/contrib/sitemaps/management/commands/__pycache__/__init__.cpython-36.pyc,, +django/contrib/sitemaps/__pycache__/views.cpython-36.pyc,, +django/contrib/sitemaps/__pycache__/apps.cpython-36.pyc,, +django/contrib/sitemaps/__pycache__/__init__.cpython-36.pyc,, +django/contrib/humanize/templatetags/__pycache__/humanize.cpython-36.pyc,, +django/contrib/humanize/templatetags/__pycache__/__init__.cpython-36.pyc,, +django/contrib/humanize/__pycache__/apps.cpython-36.pyc,, +django/contrib/humanize/__pycache__/__init__.cpython-36.pyc,, +django/contrib/contenttypes/migrations/__pycache__/0001_initial.cpython-36.pyc,, +django/contrib/contenttypes/migrations/__pycache__/0002_remove_content_type_name.cpython-36.pyc,, +django/contrib/contenttypes/migrations/__pycache__/__init__.cpython-36.pyc,, +django/contrib/contenttypes/management/__pycache__/__init__.cpython-36.pyc,, +django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-36.pyc,, +django/contrib/contenttypes/management/commands/__pycache__/__init__.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/checks.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/admin.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/forms.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/models.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/views.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/apps.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/fields.cpython-36.pyc,, +django/contrib/contenttypes/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/libgeos.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/prepared.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/point.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/factory.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/linestring.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/collections.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/mutable_list.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/polygon.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/geometry.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/coordseq.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/io.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/geos/__pycache__/error.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/predicates.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/prepared.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/topology.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/errcheck.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/threadsafe.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/coordseq.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/io.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/geom.cpython-36.pyc,, +django/contrib/gis/geos/prototypes/__pycache__/misc.cpython-36.pyc,, +django/contrib/gis/forms/__pycache__/widgets.cpython-36.pyc,, +django/contrib/gis/forms/__pycache__/fields.cpython-36.pyc,, +django/contrib/gis/forms/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/feature.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/field.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/envelope.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/srs.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/layer.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/datasource.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/libgdal.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/geometries.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/geomtype.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/error.cpython-36.pyc,, +django/contrib/gis/gdal/__pycache__/driver.cpython-36.pyc,, +django/contrib/gis/gdal/prototypes/__pycache__/generation.cpython-36.pyc,, +django/contrib/gis/gdal/prototypes/__pycache__/srs.cpython-36.pyc,, +django/contrib/gis/gdal/prototypes/__pycache__/errcheck.cpython-36.pyc,, +django/contrib/gis/gdal/prototypes/__pycache__/raster.cpython-36.pyc,, +django/contrib/gis/gdal/prototypes/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/gdal/prototypes/__pycache__/ds.cpython-36.pyc,, +django/contrib/gis/gdal/prototypes/__pycache__/geom.cpython-36.pyc,, +django/contrib/gis/gdal/raster/__pycache__/const.cpython-36.pyc,, +django/contrib/gis/gdal/raster/__pycache__/band.cpython-36.pyc,, +django/contrib/gis/gdal/raster/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/gdal/raster/__pycache__/source.cpython-36.pyc,, +django/contrib/gis/gdal/raster/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/admin/__pycache__/widgets.cpython-36.pyc,, +django/contrib/gis/admin/__pycache__/options.cpython-36.pyc,, +django/contrib/gis/admin/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/management/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/management/commands/__pycache__/inspectdb.cpython-36.pyc,, +django/contrib/gis/management/commands/__pycache__/ogrinspect.cpython-36.pyc,, +django/contrib/gis/management/commands/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/utils/__pycache__/ogrinfo.cpython-36.pyc,, +django/contrib/gis/utils/__pycache__/srs.cpython-36.pyc,, +django/contrib/gis/utils/__pycache__/ogrinspect.cpython-36.pyc,, +django/contrib/gis/utils/__pycache__/layermapping.cpython-36.pyc,, +django/contrib/gis/utils/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/__pycache__/measure.cpython-36.pyc,, +django/contrib/gis/__pycache__/feeds.cpython-36.pyc,, +django/contrib/gis/__pycache__/shortcuts.cpython-36.pyc,, +django/contrib/gis/__pycache__/views.cpython-36.pyc,, +django/contrib/gis/__pycache__/apps.cpython-36.pyc,, +django/contrib/gis/__pycache__/geometry.cpython-36.pyc,, +django/contrib/gis/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/__pycache__/ptr.cpython-36.pyc,, +django/contrib/gis/serializers/__pycache__/geojson.cpython-36.pyc,, +django/contrib/gis/serializers/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/sitemaps/__pycache__/views.cpython-36.pyc,, +django/contrib/gis/sitemaps/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/sitemaps/__pycache__/kml.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/introspection.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/operations.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/models.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/features.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/adapter.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/schema.cpython-36.pyc,, +django/contrib/gis/db/backends/oracle/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/backends/__pycache__/utils.cpython-36.pyc,, +django/contrib/gis/db/backends/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/introspection.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/operations.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/const.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/models.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/features.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/adapter.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/schema.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/pgraster.cpython-36.pyc,, +django/contrib/gis/db/backends/postgis/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/backends/mysql/__pycache__/introspection.cpython-36.pyc,, +django/contrib/gis/db/backends/mysql/__pycache__/operations.cpython-36.pyc,, +django/contrib/gis/db/backends/mysql/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/db/backends/mysql/__pycache__/features.cpython-36.pyc,, +django/contrib/gis/db/backends/mysql/__pycache__/schema.cpython-36.pyc,, +django/contrib/gis/db/backends/mysql/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/introspection.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/client.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/operations.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/models.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/features.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/adapter.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/schema.cpython-36.pyc,, +django/contrib/gis/db/backends/spatialite/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/backends/base/__pycache__/operations.cpython-36.pyc,, +django/contrib/gis/db/backends/base/__pycache__/models.cpython-36.pyc,, +django/contrib/gis/db/backends/base/__pycache__/features.cpython-36.pyc,, +django/contrib/gis/db/backends/base/__pycache__/adapter.cpython-36.pyc,, +django/contrib/gis/db/backends/base/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/models/__pycache__/lookups.cpython-36.pyc,, +django/contrib/gis/db/models/__pycache__/proxy.cpython-36.pyc,, +django/contrib/gis/db/models/__pycache__/functions.cpython-36.pyc,, +django/contrib/gis/db/models/__pycache__/aggregates.cpython-36.pyc,, +django/contrib/gis/db/models/__pycache__/fields.cpython-36.pyc,, +django/contrib/gis/db/models/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/models/sql/__pycache__/conversion.cpython-36.pyc,, +django/contrib/gis/db/models/sql/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/db/__pycache__/__init__.cpython-36.pyc,, +django/contrib/gis/geoip2/__pycache__/resources.cpython-36.pyc,, +django/contrib/gis/geoip2/__pycache__/base.cpython-36.pyc,, +django/contrib/gis/geoip2/__pycache__/__init__.cpython-36.pyc,, +django/contrib/admindocs/__pycache__/views.cpython-36.pyc,, +django/contrib/admindocs/__pycache__/middleware.cpython-36.pyc,, +django/contrib/admindocs/__pycache__/apps.cpython-36.pyc,, +django/contrib/admindocs/__pycache__/utils.cpython-36.pyc,, +django/contrib/admindocs/__pycache__/__init__.cpython-36.pyc,, +django/contrib/admindocs/__pycache__/urls.cpython-36.pyc,, +django/http/__pycache__/response.cpython-36.pyc,, +django/http/__pycache__/multipartparser.cpython-36.pyc,, +django/http/__pycache__/request.cpython-36.pyc,, +django/http/__pycache__/cookie.cpython-36.pyc,, +django/http/__pycache__/__init__.cpython-36.pyc,, +django/urls/__pycache__/resolvers.cpython-36.pyc,, +django/urls/__pycache__/exceptions.cpython-36.pyc,, +django/urls/__pycache__/converters.cpython-36.pyc,, +django/urls/__pycache__/base.cpython-36.pyc,, +django/urls/__pycache__/utils.cpython-36.pyc,, +django/urls/__pycache__/conf.cpython-36.pyc,, +django/urls/__pycache__/__init__.cpython-36.pyc,, +django/db/migrations/__pycache__/exceptions.cpython-36.pyc,, +django/db/migrations/__pycache__/serializer.cpython-36.pyc,, +django/db/migrations/__pycache__/loader.cpython-36.pyc,, +django/db/migrations/__pycache__/state.cpython-36.pyc,, +django/db/migrations/__pycache__/autodetector.cpython-36.pyc,, +django/db/migrations/__pycache__/recorder.cpython-36.pyc,, +django/db/migrations/__pycache__/questioner.cpython-36.pyc,, +django/db/migrations/__pycache__/optimizer.cpython-36.pyc,, +django/db/migrations/__pycache__/writer.cpython-36.pyc,, +django/db/migrations/__pycache__/executor.cpython-36.pyc,, +django/db/migrations/__pycache__/topological_sort.cpython-36.pyc,, +django/db/migrations/__pycache__/migration.cpython-36.pyc,, +django/db/migrations/__pycache__/utils.cpython-36.pyc,, +django/db/migrations/__pycache__/__init__.cpython-36.pyc,, +django/db/migrations/__pycache__/graph.cpython-36.pyc,, +django/db/migrations/operations/__pycache__/models.cpython-36.pyc,, +django/db/migrations/operations/__pycache__/base.cpython-36.pyc,, +django/db/migrations/operations/__pycache__/special.cpython-36.pyc,, +django/db/migrations/operations/__pycache__/utils.cpython-36.pyc,, +django/db/migrations/operations/__pycache__/fields.cpython-36.pyc,, +django/db/migrations/operations/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/introspection.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/client.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/operations.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/creation.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/base.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/features.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/schema.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/utils.cpython-36.pyc,, +django/db/backends/postgresql/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/dummy/__pycache__/base.cpython-36.pyc,, +django/db/backends/dummy/__pycache__/features.cpython-36.pyc,, +django/db/backends/dummy/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/introspection.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/client.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/operations.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/creation.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/functions.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/compiler.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/base.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/features.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/schema.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/utils.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/validation.cpython-36.pyc,, +django/db/backends/oracle/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/__pycache__/ddl_references.cpython-36.pyc,, +django/db/backends/__pycache__/signals.cpython-36.pyc,, +django/db/backends/__pycache__/utils.cpython-36.pyc,, +django/db/backends/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/introspection.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/client.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/operations.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/creation.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/base.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/features.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/schema.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/utils.cpython-36.pyc,, +django/db/backends/postgresql_psycopg2/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/introspection.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/client.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/operations.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/creation.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/base.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/features.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/schema.cpython-36.pyc,, +django/db/backends/sqlite3/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/introspection.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/client.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/operations.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/creation.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/compiler.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/base.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/features.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/schema.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/validation.cpython-36.pyc,, +django/db/backends/mysql/__pycache__/__init__.cpython-36.pyc,, +django/db/backends/base/__pycache__/introspection.cpython-36.pyc,, +django/db/backends/base/__pycache__/client.cpython-36.pyc,, +django/db/backends/base/__pycache__/operations.cpython-36.pyc,, +django/db/backends/base/__pycache__/creation.cpython-36.pyc,, +django/db/backends/base/__pycache__/base.cpython-36.pyc,, +django/db/backends/base/__pycache__/features.cpython-36.pyc,, +django/db/backends/base/__pycache__/schema.cpython-36.pyc,, +django/db/backends/base/__pycache__/validation.cpython-36.pyc,, +django/db/backends/base/__pycache__/__init__.cpython-36.pyc,, +django/db/models/__pycache__/lookups.cpython-36.pyc,, +django/db/models/__pycache__/expressions.cpython-36.pyc,, +django/db/models/__pycache__/constants.cpython-36.pyc,, +django/db/models/__pycache__/query_utils.cpython-36.pyc,, +django/db/models/__pycache__/query.cpython-36.pyc,, +django/db/models/__pycache__/signals.cpython-36.pyc,, +django/db/models/__pycache__/indexes.cpython-36.pyc,, +django/db/models/__pycache__/base.cpython-36.pyc,, +django/db/models/__pycache__/deletion.cpython-36.pyc,, +django/db/models/__pycache__/utils.cpython-36.pyc,, +django/db/models/__pycache__/aggregates.cpython-36.pyc,, +django/db/models/__pycache__/manager.cpython-36.pyc,, +django/db/models/__pycache__/options.cpython-36.pyc,, +django/db/models/__pycache__/__init__.cpython-36.pyc,, +django/db/models/functions/__pycache__/datetime.cpython-36.pyc,, +django/db/models/functions/__pycache__/window.cpython-36.pyc,, +django/db/models/functions/__pycache__/base.cpython-36.pyc,, +django/db/models/functions/__pycache__/__init__.cpython-36.pyc,, +django/db/models/fields/__pycache__/related.cpython-36.pyc,, +django/db/models/fields/__pycache__/proxy.cpython-36.pyc,, +django/db/models/fields/__pycache__/files.cpython-36.pyc,, +django/db/models/fields/__pycache__/mixins.cpython-36.pyc,, +django/db/models/fields/__pycache__/related_lookups.cpython-36.pyc,, +django/db/models/fields/__pycache__/related_descriptors.cpython-36.pyc,, +django/db/models/fields/__pycache__/reverse_related.cpython-36.pyc,, +django/db/models/fields/__pycache__/__init__.cpython-36.pyc,, +django/db/models/sql/__pycache__/constants.cpython-36.pyc,, +django/db/models/sql/__pycache__/datastructures.cpython-36.pyc,, +django/db/models/sql/__pycache__/query.cpython-36.pyc,, +django/db/models/sql/__pycache__/compiler.cpython-36.pyc,, +django/db/models/sql/__pycache__/subqueries.cpython-36.pyc,, +django/db/models/sql/__pycache__/where.cpython-36.pyc,, +django/db/models/sql/__pycache__/__init__.cpython-36.pyc,, +django/db/__pycache__/transaction.cpython-36.pyc,, +django/db/__pycache__/utils.cpython-36.pyc,, +django/db/__pycache__/__init__.cpython-36.pyc,, +django/views/decorators/__pycache__/debug.cpython-36.pyc,, +django/views/decorators/__pycache__/csrf.cpython-36.pyc,, +django/views/decorators/__pycache__/clickjacking.cpython-36.pyc,, +django/views/decorators/__pycache__/gzip.cpython-36.pyc,, +django/views/decorators/__pycache__/vary.cpython-36.pyc,, +django/views/decorators/__pycache__/cache.cpython-36.pyc,, +django/views/decorators/__pycache__/http.cpython-36.pyc,, +django/views/decorators/__pycache__/__init__.cpython-36.pyc,, +django/views/__pycache__/debug.cpython-36.pyc,, +django/views/__pycache__/csrf.cpython-36.pyc,, +django/views/__pycache__/i18n.cpython-36.pyc,, +django/views/__pycache__/defaults.cpython-36.pyc,, +django/views/__pycache__/static.cpython-36.pyc,, +django/views/__pycache__/__init__.cpython-36.pyc,, +django/views/generic/__pycache__/edit.cpython-36.pyc,, +django/views/generic/__pycache__/list.cpython-36.pyc,, +django/views/generic/__pycache__/detail.cpython-36.pyc,, +django/views/generic/__pycache__/base.cpython-36.pyc,, +django/views/generic/__pycache__/dates.cpython-36.pyc,, +django/views/generic/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/sl/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/sl/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/sk/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/sk/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/pl/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/pl/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/vi/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/vi/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/sq/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/sq/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/de_CH/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/de_CH/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/sv/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/sv/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ga/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ga/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/he/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/he/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/km/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/km/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/nn/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/nn/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/da/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/da/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/es_NI/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/es_NI/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/mn/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/mn/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/pt_BR/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/pt_BR/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/es_CO/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/es_CO/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ja/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ja/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/el/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/el/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/lv/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/lv/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/fy/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/fy/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/it/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/it/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ca/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ca/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/is/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/is/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/cs/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/cs/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/te/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/te/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/zh_Hans/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/zh_Hans/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ru/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ru/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/zh_Hant/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/zh_Hant/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ro/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ro/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/pt/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/pt/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/uk/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/uk/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/sr/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/sr/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/en_AU/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/en_AU/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/en_GB/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/en_GB/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/es_PR/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/es_PR/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ml/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ml/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/es_MX/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/es_MX/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/mk/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/mk/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/kn/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/kn/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/bs/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/bs/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ar/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ar/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/gl/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/gl/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/hr/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/hr/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/hu/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/hu/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/nl/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/nl/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/bg/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/bg/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/bn/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/bn/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/es_AR/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/es_AR/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/nb/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/nb/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/hi/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/hi/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ka/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ka/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/de/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/de/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/az/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/az/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/gd/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/gd/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ko/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ko/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/fi/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/fi/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/sr_Latn/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/sr_Latn/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/eo/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/eo/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/id/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/id/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/fr/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/fr/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/es/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/es/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/et/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/et/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/en/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/en/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/fa/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/fa/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/lt/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/lt/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/cy/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/cy/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/eu/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/eu/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/ta/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/ta/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/th/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/th/__pycache__/__init__.cpython-36.pyc,, +django/conf/locale/tr/__pycache__/formats.cpython-36.pyc,, +django/conf/locale/tr/__pycache__/__init__.cpython-36.pyc,, +django/conf/__pycache__/global_settings.cpython-36.pyc,, +django/conf/__pycache__/__init__.cpython-36.pyc,, +django/conf/urls/__pycache__/i18n.cpython-36.pyc,, +django/conf/urls/__pycache__/static.cpython-36.pyc,, +django/conf/urls/__pycache__/__init__.cpython-36.pyc,, +django/apps/__pycache__/config.cpython-36.pyc,, +django/apps/__pycache__/registry.cpython-36.pyc,, +django/apps/__pycache__/__init__.cpython-36.pyc,, +../../../bin/__pycache__/django-admin.cpython-36.pyc,, diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/bin/django-admin.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/bin/django-admin.py old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/conf/project_template/manage.py-tpl b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/conf/project_template/manage.py-tpl old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-36.pyc deleted file mode 100644 index 0fcb51c0cbcbda68183371c0678f52da54044dbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 749 zcmYjOy>8nu5GM6!S#f~0Pta8b5;-n{#z0V{K#)$&(o9?k%6As1Qj|(b4&0?fyJqSO zbnT1uA+&btD|9L;+ej(g>3H`Y@9w)-$H&Q!UticukC5NwzY|#d+Df~y3J6d|D#~c( zF^{^tr~E2l0VVGU_z-*}5FjnXuRaSQ{6Ny^kIf^gHzbuTjOb*o+aaoIK-H#nh&x%~ z=UU^+!44<3#P9cKHqYv?;Z{rC}ZPBA)`uX3LJm$~DEuM)sE%?sA*@Y_>s@*DZ1_DjX(&YtgH2 zh!JEba)lO>jI-&dSFO+t1+Z`e8`w2KNO2B<7j*kLvIDtTA$9 zld_F4*}7JMrp=a+T`tSz{9>ukK|}Eo+J~HPi`UJiC2C&i>^^H`bDH;3!Kq$|{$j;> zc2f#n)EVr4tJ+d1^K4`|ds=X2Us&)1#oS<3Z;*?=tGNI;Yqln|?Kx>rtcv|845(*6 zrvo}h@6w1(cXiGnAIaDeFxxx(PO8?p`A7WI#5?P`4Gi(sj_Ehl)pFPqI`jVlyYS6K diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt index 75b52484..d6456956 100644 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt +++ b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt @@ -1,202 +1,202 @@ - - 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 - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. + + 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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0002_alter_permission_name_max_length.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0002_alter_permission_name_max_length.cpython-36.pyc deleted file mode 100644 index b98b8f4bada6151c5dc03e58102c1e82bbd8278d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmYjP&2H2%5O(5Zf1<7EQy}Hg^|q*@D$V1E9a{stSXb-S`P!U!m2dv zE$ei5QtWgMC+1A<&No7^7nL++%V7L%TGLxyus|L=ToprrGa*B(;=tiJaPyD4Wp`u4 y;|SYjC}wn$BvFjtaDJ61d_ERhLNUxg%se;`^Nrdu=KI-`k;$j{28j!V9n-&Tz_i2w diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0003_alter_user_email_max_length.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0003_alter_user_email_max_length.cpython-36.pyc deleted file mode 100644 index cb2bd616a73f6e23f8b0927610c8085425f75b57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmYjP&2H2%5O(5Zn+;nDcmggU<U*Sk8_cvQ3;|Zx+gh190q- z2jIwy@DRRo>ML+Sj2%krXeOii|2}(vdprOB^ArCX5%P=NItkjxDE1L5AP_aAjd;|? zJdVgK0x{4p1gMHu^fToYk~gGCuP~PsvCG@KGICva+PX>Gfokm1hptbC#xaVWqf&%N zKzIyys)$pStWv;sYO>mb6eh3**(HVPCBFewME|J6ft$R41&-a9E*2;)p znYOkThYKxRC0hAGG)h;PmJC)Im#S9Q&D9^A{c$_k4@H4{|D)MaAaK)758tQi_5gqsQRZjepbP4F40 zUTIKzSu1N|Eadq!kK?89XlQV}@Cyfr%R9t3Qu~9Ldw!Z%zrV5G)El{0Y$FXj>l#qT zvIVfi#cDA>Sm?)~p*jcqz7!YLll~AHn^&5hvcB$j%AsyxNAJnuU?~K9zLL7?7>vJV zr`M(~nP-~a+$_Te`~Nuiyox~OExLF63*(=W7n`HX=p;#^7{A~@DH1*%XY4{5um`*$ Ycmr*;?qj{njz$)r;%g<=lXaK=1%RE#-2eap diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0004_alter_user_username_opts.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0004_alter_user_username_opts.cpython-36.pyc deleted file mode 100644 index d135b523159a7042afa0ccd79dc234c1f30f4f11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 946 zcmYjPJ9E=O5Y{`k;$(QvP%&yX5X&TFh-Vlk8D0&ffP_NL&Dpz=&*+sq$%)fYgf%i4mCug6Q(guy#1S7U!BQaweovEv#(3`G-3!X4x4Lj5BrIDD>fi5`U zUwN>8WmB{dJt|_e>3&?{H4d+X3k^5;@ERJQu1`{p-h6{KeZ(cv=gI&<}P7!Fa+Y z9}}ty3K^W>8Ona}0V{p-Gysu^N(DTJU_a_dPok}e1x23D`$wS{Z=#fiWEm>O6I4Xv z|7xX0P)&D&X~`-)ucS}=xHm&NDiktZU1-OC%XGVIoc2-fiNF*NLrZ#;AlJx*>rIEX zF^n}nW0X^;NPds8)0(F`kFmH1SYi&Cj|D18vN2-+K-2k7|50k)#NF5Q+QnYi7e6}A z#h99XyyW!DN)nA1l;=qi!QwM6@=A(Pq~#FZ$T6ZH zJijfBl>k^#Qcugdbg4SM)IBmC+jAY$qUo3&nwHt#A5y#SFM#?>puPrb`xJMVH!y06 dYsqTUZeG6d9uh*+dAVr8D^r7NVteKt`ya`<5N7}Y diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0005_alter_user_last_login_null.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0005_alter_user_last_login_null.cpython-36.pyc deleted file mode 100644 index cc1a72fbd53f79280d7f181aeaa58019c0e1054c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 691 zcmYjP&2H2%5O(5Zn+?07FMz}eDTmhKXGK@4P?0J)(F=R>#Y%SEkgekcJ6TjD!~w3o z@d6xq5gx)lD^v7!tF4KpM-Iz)qH%WxiPI zr=X#_0{f{H*VW7J1Ubqp%~q_dyQ6Zb6&&ej#jscl!Ok~@u384W-@4VksY~X$W&68i zSYUCV#W9rQ^y9>%b3fTmJH&jKobGsh Mh0l{%PuC&+56gzYod5s; diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0006_require_contenttypes_0002.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0006_require_contenttypes_0002.cpython-36.pyc deleted file mode 100644 index c71cc0e6fa8086043a06b9100771d23fe3f67093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmYjPyKdVs6eUI5aSVCyQUu86A)%VWZ44Aah60(ArJb}~(7vonm!cF>a^R^$^9TKc zj{T8*1lLaeg-*S+lcofCbZ}qdIppiU(+I3_@b+_IXNoU<#2 z8H#&`Li2U@O_Ui9KCs#FH`TEjkCWO|UUjB%VULi0D@Dc1 z0S;-*I38X<^~ZtgyU+2cD2h2K+i4GdAh0TQV4KP~aJ{uLUp21NuIsj~4)GEi%ESHiQ(XFtvb*@Ro;{mVB97nfjk%!r!a}Oe#b0d7o-P0Y diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0007_alter_validators_add_error_messages.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0007_alter_validators_add_error_messages.cpython-36.pyc deleted file mode 100644 index ab3d70fde35f1a125eec1cae7cdde3c18495fa0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 zcmY*X&2H2%5RQ{hA`Dge>-!n^X8UYTF z+?kP-5UabnJM&U+=BGY!-a6oc|J4B>y=mvdOFPi{=)}R5@pEF*gmaz?;JTD5cAIb} zGRd_l3)KX(5-?X|Yj`tOjk0H!vI3oyfRnngmXXv$f7-E77))271A!p00$u1~ciOvf zG6Ft?mjSF^dd510z6s(^(|dn|*Z92FlV*J|7(8PVPii5Njmtt~q4lCd#mviQ}G656j;niM9sOc)}$g zYm_P~Wps?ED3j9W>_u_k29_|!QXz0cT5&2#I=SlS1yumCK^0+sYET)3Z`T;A9prR|!u_tK=i zJh$;YIx582l=|qJ(@!@I(S&7%*WK{Lk@syZR{Z%!D=Fq&Bb{?ekINhkS#$_=cQ_pm zwui-2C?NX`>U6{w*-o`!$z^m>+LaP^wpFXSxI5J*@{asqP7|6 zZ8K8y!4Bg#6L#CMj03R$=})SK?3ftsQV)&jdV%i~*G!)T?e3B;X>ATn_3kZklWW|> m;x5b7yMBRD%VW!3>vl`TQhQ)fn(p&uMP3jKY8mc(u!`a$G;@^?Lh^rzJ|Zu8eU2hEnE|O;IVHpsL+U zp{(1+W_*gZS7qX&!t3xTFlWJ~D91rL=4G=rApuV%a+n8rB~+=R>*M!$Q3;6<1-t!T zFdB2oM;ciLxeU(n5@i&;#nPNS3qT~IQ~}Q*IHVDMN_Qv=@+_T4cV9Ibr=b^b|5svX zjA_A2yec)Z{EDTRCFNN9I$Y|8T5)%Va+oV*ro7OJ{f6>pSG&!tTIT{&I0T~&+$fEJ;?67mmJlQV}bbotEMo(!Wik)F4QrOA%c-0>*qB;;5L*mM+gs^+=nx diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length.cpython-36.pyc deleted file mode 100644 index e03cf66cea45a713d6eacaa28c15b00ef5807abc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707 zcmYjP&2H2%5O(5Zn}n?dJOL6CQVy*HsA5+_s0aindZ8y@EN90}v&}leP8P}q3Apx( z#E~N}!bAAVsjt9^akf9}$X~`Y^UY+w`04I$_Uq3V{xu-vFWFiV+K0I9BLpB2G-MU< zU={K(Aa4nTK)(~9Dp=BQlv9Y_lRUn}T#|<_Th*13ecfv7CaV@yV;4Sjy%IDIaoYkx z5gq{HA>63~PF1vw0n4e$atC6Vzz!rA6w(Wd(F8JVGj-{^>-sK|Lx1WX7DX`=vgwr( zgS`SRS4ynpC($TfVN&EHE^Vakg^wLy{=oL1N5=#2$SIG@M(Q&h;D*MhYh}vTs*!^! z**MU6a*?OG_@q`19Oa>jv7nhCCXiew*M^P@U4C^rBYQ zgh=GsOFzXMU(rzSNMD`G&Dmvbr>=DUP0T&t%)`H*tTXjm_KK~gVJB?^%2+lBHk&W! z#lc)Z1`X92*pH<+uby=?l&h#TJ7!(o?Uh5_z@C00hl7O>?DbOWs%5ZwEn3~1x@2Bv zcKcfy7MO1fexvG^;``mX@%PAYn;|505=B9X&*(qOBc5*h>_a(@KaM;GZ^zqM_mS_C Q=Nlnk;B_U|>vfm@2c*Ks2><{9 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-36.pyc deleted file mode 100644 index a10d9277b8465f80d1ff55b83f02e21d7af7a1b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3199 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 PLQ#aF`7b37Yx@5IQOAr7 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy-1.14.0.dist-info/RECORD b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy-1.14.0.dist-info/RECORD index 70711a36..fc083e9f 100644 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy-1.14.0.dist-info/RECORD +++ b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy-1.14.0.dist-info/RECORD @@ -1,747 +1,747 @@ -numpy/__config__.py,sha256=KNB1kK5pX6g-tTxs41ZfrD32q1asv7QolLtKuOQELjE,1519 -numpy/__init__.py,sha256=0GuK-LaEiJRiqvrRckRIORF2gDvUeVsVuTIqTIiheQg,6251 -numpy/_distributor_init.py,sha256=IgPkSK3H9bgjFeUfWuXhjKrgetQl5ztUW-rTyjGHK3c,331 -numpy/_globals.py,sha256=qf1yKIuK_D0imA5KlGE8iIwMg8-cPjDOn09XDTpQ3-k,1859 -numpy/_import_tools.py,sha256=3SF2nj5PVN-dvo90nyR_MKDesG_CkdjsKjnEJz5dVtg,13234 -numpy/add_newdocs.py,sha256=YsVuFJ3tvj9yfNA5owaHPrpL_Me-tfHA9Hf3-dtY2UA,234747 -numpy/conftest.py,sha256=oeEsLztUga9GPjZv6DkotBI_LPyaG0dP1sPxiILtxyg,1557 -numpy/ctypeslib.py,sha256=x1f8LcCdsjyBebwgN6dAiidqZ2yDtOgABTTyKq26eD4,14730 -numpy/dual.py,sha256=YCy6m-ZNQ4dnUdHm7IXtqdJhxu-Od2_IALF9t9IGGvI,1864 -numpy/LICENSE.txt,sha256=LZqeBuw7X8mx5HrtuCzD2Tbxik_IGPTL59XiwxN--20,42197 -numpy/matlib.py,sha256=bfk5RflWhOjnBKhpU4L-WDafyzoNIy5-K-8MMyIauN8,9809 -numpy/setup.py,sha256=lsyhnRXfo0ybq63nVUX8HnYhQ1mI0bSic-mk-lK3wnc,920 -numpy/version.py,sha256=N8joN8hIjl-JnoNgGod1XOrcuPE8Q3GkmPRb2gZ9XJc,294 -numpy/compat/__init__.py,sha256=MHle4gJcrXh1w4SNv0mz5rbUTAjAzHnyO3rtbSW3AUo,498 -numpy/compat/_inspect.py,sha256=e3YHRFlppbfcnSSwlAdlxON5cSW0pEZT6zh7qRlvlkM,7554 -numpy/compat/py3k.py,sha256=ppRKNypmqiWf7uiHBPpa1zPsHRQj-FGjwH1l3VRO3H0,3637 -numpy/compat/setup.py,sha256=XpMi600IpZvzlNAuOaiwxAUZXDEhzEU4HYh1_p2kBCY,371 -numpy/core/__init__.py,sha256=odFytSn-HunBsWr8_QBcoA_RbQaH2fLFDb3gN70K_R8,3044 -numpy/core/_dummy.cpython-36m-darwin.so,sha256=Yr6euqkb2Jh1uaHOZvT-r26pbuANiL6UsRq3nmVZSO4,25264 -numpy/core/_internal.py,sha256=dfk2fEU4fpw0bo1acllt9eN82Mqh0f8hWaNhiVKe5pI,21639 -numpy/core/_methods.py,sha256=84BTKNFGhQO1xiQLHAnbgHFiogU086c8AXJGFQ-hqxc,4704 -numpy/core/arrayprint.py,sha256=nLARQljOwPsUSb_Ar8y8PxQw7XQ4vcjGfs-_7Aff8n8,54746 -numpy/core/cversions.py,sha256=ukYNpkei0Coi7DOcbroXuDoXc6kl5odxmcy_39pszA0,413 -numpy/core/defchararray.py,sha256=cWV-tZK51T9EGNzAjminv-7tjUh_Ccak1tvBnZk-8W8,67369 -numpy/core/einsumfunc.py,sha256=rt-Myg_N27dcgpVVKdkhqLMMklr8OtNAd303MczLfmY,39801 -numpy/core/fromnumeric.py,sha256=k1NoHWD7lliZtgnZOd6ojSBZWQjH3atynpFVR41WJ7c,100637 -numpy/core/function_base.py,sha256=kvzSPr9FxeyXxhR1_1XOMlmDW0Dw4u1KECF3aUEtTGg,12340 -numpy/core/generate_numpy_api.py,sha256=PSNxF101-jn99AzQNLRxu4tXT9SzoUTmOhL1w_-tV_A,7506 -numpy/core/getlimits.py,sha256=bD7KdPDYEwVyBn7MuybKjBFTxWuFWFu5A-bsTjLx9zE,18422 -numpy/core/info.py,sha256=SjDs9EfOswEy-ABgUr9f09v83sUdhmwFXRlaZbOGCnA,4692 -numpy/core/machar.py,sha256=I083PVybsu10wDgHzs7vxpvd1KigQuoSqCqSRBKn84A,10789 -numpy/core/memmap.py,sha256=GTz2LUpjGeHk5D4PNcsTT7GJK-fNzzX2outwZ7yb78Q,11432 -numpy/core/multiarray.cpython-36m-darwin.so,sha256=zVxKm3-ARIpmmB8A_wRHVXPfolmi6yfIi9cJAe-NawA,4633048 -numpy/core/multiarray_tests.cpython-36m-darwin.so,sha256=AewE56ndAKIrCiHdXlwHyQljeLFOJNNx3gj6S2i2ATs,222604 -numpy/core/numeric.py,sha256=lGlzGIWQeeJFbZWuSWVwcK5KHOMrEX-TsERZt3cJq1A,85731 -numpy/core/numerictypes.py,sha256=hyWsBr_u8zEkwOoZGyqxl4Hw8r6pLRWJulfNbSDk_fo,29102 -numpy/core/operand_flag_tests.cpython-36m-darwin.so,sha256=aONV3cB0lZjTjXuLCEdG_zKSKlHn-ftyfZI1dkUlWLI,26768 -numpy/core/records.py,sha256=0Gw_S2n2kt9PUQB80Hw1p-TBVo5NsIKCUHsBJJqQUtc,29609 -numpy/core/setup.py,sha256=-BWphQJ41KoTzf4rrg_VpuHNzf5Zz3svG11r90VTfas,41477 -numpy/core/setup_common.py,sha256=ANouzwSb8f8SLYIvhomoY_ct_xPUB85qo-j02OwYuOc,15953 -numpy/core/shape_base.py,sha256=e9au6U6FRQgcbBCqKC2yzbIiruqH0EUuob1LhyVJQIA,18548 -numpy/core/struct_ufunc_test.cpython-36m-darwin.so,sha256=wRHi5yd7SmNcgeluSTTAjEK07It88ctJB7Xuow8GcnA,26844 -numpy/core/test_rational.cpython-36m-darwin.so,sha256=z-5v5c_-av2LZ3bbpFLIamAEjUnW-shd_r3ppdlPY3w,125328 -numpy/core/umath.cpython-36m-darwin.so,sha256=6vnHqJ-0pAIySnzAaNejiXdGigZgYhm5XM8TXlO_5C4,2348376 -numpy/core/umath_tests.cpython-36m-darwin.so,sha256=nQYkoDVTuC_PPwklxKiNfWmpsawCDEpgH0EL5KqUsT4,54108 -numpy/core/include/numpy/__multiarray_api.h,sha256=yepclh-ePKzaERkl10dDfs_HaR6vhu6n7-sI_zZWyjw,61035 -numpy/core/include/numpy/__ufunc_api.h,sha256=z3FkGMT6z9c6j0ODa2A4QY-54qmIyLy-O7LjoSgluq0,11657 -numpy/core/include/numpy/_neighborhood_iterator_imp.h,sha256=hNiUJ3gmJRxdjByk5R5jmLeBKpNfaP_29KLHFuTrSIA,1861 -numpy/core/include/numpy/_numpyconfig.h,sha256=Hm9f4N4IO7JFjrGKbrAaBeSLRKGseOIQ99z_gvYF2j8,982 -numpy/core/include/numpy/arrayobject.h,sha256=SXj-2avTHV8mNWvv7sOYHLKkRKcafDG7_HNpQNot1GE,164 -numpy/core/include/numpy/arrayscalars.h,sha256=vC7QCznlT8vkyvxbIh4QNwi1LR7UkP7GJ1j_0ZiJa1E,3509 -numpy/core/include/numpy/halffloat.h,sha256=ohvyl3Kz3mB1hW3MRzxwPDH-0L9WWM_eKhvYLjtT_2w,1878 -numpy/core/include/numpy/multiarray_api.txt,sha256=pSPa8_5viPnySHv8QTQpNOM3Bx4_dDirI_WmdGYd5hk,55812 -numpy/core/include/numpy/ndarrayobject.h,sha256=DzoNq38b7T78jcML3cEQ-Xf3l15goFWMag0C6vgj9KU,10891 -numpy/core/include/numpy/ndarraytypes.h,sha256=Adea0CadJ5obrdnPodrY1B_TqjyC3wdsxqvX0D6yiGw,64303 -numpy/core/include/numpy/noprefix.h,sha256=YE-lWegAdZKI5lf44AW5jiWbnmO6hircWzj_WMFrLT4,6786 -numpy/core/include/numpy/npy_1_7_deprecated_api.h,sha256=NxVeVL9P08clRuJlLQJIfH9QrgVtkqtndelZESo23NY,4604 -numpy/core/include/numpy/npy_3kcompat.h,sha256=0cNvBxix_U8mqFgqGjC-Ht08WUT3oy32ugKXPNJM3AM,12181 -numpy/core/include/numpy/npy_common.h,sha256=i-I_roGPEsePJCUNk6PSBp3Aa4Kd6wTxyZfgnU-RnxM,37647 -numpy/core/include/numpy/npy_cpu.h,sha256=s8TmXL352YGFC--KCSp-_4iQxXFU58Y5XsDfEFHInH8,2988 -numpy/core/include/numpy/npy_endian.h,sha256=t_w5L4fDg3rmaHa3ZmhcZ-1dkTYV-FKdNCR8NBY_MUs,2288 -numpy/core/include/numpy/npy_interrupt.h,sha256=wMRh41xeFmGEOkwxJpeLp9U-9mCbUv7VeAdAu28p9Kw,3439 -numpy/core/include/numpy/npy_math.h,sha256=o1g_kScKQi6Z_a51-iosiQKSBfG0OqsvsD7sE13Z0Ms,18520 -numpy/core/include/numpy/npy_no_deprecated_api.h,sha256=X-wRYdpuwIuerTnBblKjR7Dqsv8rqxn01RFLVWUHvi8,567 -numpy/core/include/numpy/npy_os.h,sha256=cEvEvpD92EeFjsjRelw1dXJaHYL-0yPJDuz3VeSJs4E,817 -numpy/core/include/numpy/numpyconfig.h,sha256=rBffDZbJysfclc1p9K9DulOKMDMrrU_FRfsx0THGV78,1167 -numpy/core/include/numpy/old_defines.h,sha256=7eiZoi7JrdVT9LXKCoeta5AoIncGa98GcVlWqDrLjwk,6306 -numpy/core/include/numpy/oldnumeric.h,sha256=Yo-LiSzVfDK2YyhlH41ff4gS0m-lv8XjI4JcAzpdy94,708 -numpy/core/include/numpy/ufunc_api.txt,sha256=RZO1PJ1AqVk61bQH1lfqYNzM6CF4dqM_06WVLJ8Qbek,6134 -numpy/core/include/numpy/ufuncobject.h,sha256=9osdJ72Vfkb9UJzs52ssKf0Wmgs_vzMch4NBuEyc12U,12524 -numpy/core/include/numpy/utils.h,sha256=0RTrU1-0V98LJnba5hTGSUoRnxo4HwM9cm2zbxC8B6E,628 -numpy/core/lib/libnpymath.a,sha256=C2Xz9A7N-3wFDyoQh4BdQfWbe7Ygte65Ca3A0_b8DnM,231440 -numpy/core/lib/npy-pkg-config/mlib.ini,sha256=puARujEiRP-jFD3s9Jwpe6E1fgT9T3YIny-pWJRDYNE,139 -numpy/core/lib/npy-pkg-config/npymath.ini,sha256=kamUNrYKAmXqQa8BcNv7D5sLqHh6bnChM0_5rZCsTfY,360 -numpy/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/core/tests/test_abc.py,sha256=uWVQeG8pu3Eak8dHmK5GoeFGiIKBl76aAH-H74p4viw,2472 -numpy/core/tests/test_api.py,sha256=31FydyeHAiv73IcvWpRDX-AkqqYXMpCT5jEev6a6FfQ,18906 -numpy/core/tests/test_arrayprint.py,sha256=07RKEerhMbQt4dxcYGRYKIO7hQLh5e7TKke9pIZVndY,27957 -numpy/core/tests/test_datetime.py,sha256=qN740FxwSsIjmx9ZJBOi7_Z_8uNfNgePr9nQN13k51Y,93390 -numpy/core/tests/test_defchararray.py,sha256=lGJ_u02CgPbEOnRvestVxOJWzylQynImvMRp5f6aNpo,25693 -numpy/core/tests/test_deprecations.py,sha256=ElzfuBRZCYyLXObr2bAXKX3OCvaQAk6kW1kwzZ3TO0Q,19598 -numpy/core/tests/test_dtype.py,sha256=i60gacyb_slOdsIMoXyYnpRC48qWJAKnZ2LpuFHXpLk,28965 -numpy/core/tests/test_einsum.py,sha256=nBMQTSTy7Yj42mum-U8AnrIzf6-LDpP2eZG55-ba3k8,39521 -numpy/core/tests/test_errstate.py,sha256=xGJRBGIbiTvriGlwv3T0iQIZwwcEPZrpYSp6ac5HycU,1576 -numpy/core/tests/test_extint128.py,sha256=u_5xQOmBzUFPFaztHzXxl5U4Ox4ToG-rRIZp9lO0jqQ,5784 -numpy/core/tests/test_function_base.py,sha256=wjsCGDRdrCcsZF-gsqr7XDEf0OBD3PV-MJr6p52B-mA,11413 -numpy/core/tests/test_getlimits.py,sha256=mhxn555VivUhj8tMpoNVbnQmS4hN5j67MeeuGHgoQ2c,4586 -numpy/core/tests/test_half.py,sha256=prMe4YaH8Ik00mv8A7mSJcDUzdjOPqtxvbHmAK8wvP0,18627 -numpy/core/tests/test_indexerrors.py,sha256=MZ9PlkCfGlwxxO7CoA1kqAU_I3W9wDEmiwshji5mkpA,4926 -numpy/core/tests/test_indexing.py,sha256=rGOF3VobxsrjTd4vnDv8HuYfQhKIR8QSxyKadPGpRNI,50084 -numpy/core/tests/test_item_selection.py,sha256=Gdjd3jHB7NQVO1jU-y81YkGTGz1J6rNtSduaTFLXTfg,3669 -numpy/core/tests/test_longdouble.py,sha256=kQruH03nz6XlFjNGHMIGjnsVYM57nui9KH6bN-FKXb8,5960 -numpy/core/tests/test_machar.py,sha256=QmnKVIV53faHjIBHUsYQ7KjX-SRmrE0lLFuipNLx7Jw,1235 -numpy/core/tests/test_mem_overlap.py,sha256=4mHDxV16229uyI1t0drROq_XwwqD17-VrJDN5pChAy8,29564 -numpy/core/tests/test_memmap.py,sha256=5RM3mT_-vGjtoYYatgseRjqDs0jhoxalplGDDXNeEmc,7031 -numpy/core/tests/test_multiarray.py,sha256=hY1G1e71SuXUACnKIUBKchU2VR0I6gvjTbZu4YhH44s,272174 -numpy/core/tests/test_nditer.py,sha256=gl6UBW2k9YTZ-UwWJnbMBP31wovmzS8_hVrNEqXqQqY,106132 -numpy/core/tests/test_numeric.py,sha256=YD1IIWn4PxKAoRgWPJkv_-P-L-1mVubSwgxhx0MLzAc,102126 -numpy/core/tests/test_numerictypes.py,sha256=WqBR5OzIA0C--i-sVeiO1ayUvF-gQUBhZxDtQY0VGN8,15412 -numpy/core/tests/test_print.py,sha256=zpPMWJLXgzVJ7uPR7PlZWe28nr_MyymSO5cXPgzK1ro,8089 -numpy/core/tests/test_records.py,sha256=JaqAyHLMO1c5vMT7hG_Q82NB-lU7hbQ5SkKDLThmaN4,15346 -numpy/core/tests/test_regression.py,sha256=Lfuhv6CvzL5uPWJ_o9Q3DT2I8g8xNOTpz7SYjADthO4,79720 -numpy/core/tests/test_scalar_ctors.py,sha256=vbEucXNOW8AQWwISsGAwUgNKuUKDmGzZp2-rbeDj6_M,2362 -numpy/core/tests/test_scalarinherit.py,sha256=rs8sDrtinrYxOe9uQQ_u5t_zTb3jPc75cAUzdjbGW8c,1867 -numpy/core/tests/test_scalarmath.py,sha256=6bTYxUaNSdeBXvv36HBEvyAMfTbxFVCgCvc5B8alQcU,26626 -numpy/core/tests/test_scalarprint.py,sha256=kmR5OkfHx4-pLVSfYXVAM0OPP-paTzKWguIe9b6GQ9c,10734 -numpy/core/tests/test_shape_base.py,sha256=nJ79bbZtvT6MDxjlHhBzr2yKvWwLbJh18RcvUoZk6_g,20299 -numpy/core/tests/test_ufunc.py,sha256=UFhzMdHyOkcTnmBQqi1P0_9fCrkYqkPHzGCpVyHb_5g,55288 -numpy/core/tests/test_umath.py,sha256=NdltEL3YSOuVoJQ8GWVqCuqIJYzdG0K39C9h8ZxGPF0,99032 -numpy/core/tests/test_umath_complex.py,sha256=i_RpeNLgtGakbxHH6VHBi-VlPFqzjLExEKIpPMSLajQ,19656 -numpy/core/tests/test_unicode.py,sha256=kgAgXK1bK7eoPR5jb-hcsVmMEUpVZNkcp814fOGQwvc,13733 -numpy/core/tests/data/astype_copy.pkl,sha256=lWSzCcvzRB_wpuRGj92spGIw-rNPFcd9hwJaRVvfWdk,716 -numpy/core/tests/data/recarray_from_file.fits,sha256=NA0kliz31FlLnYxv3ppzeruONqNYkuEvts5wzXEeIc4,8640 -numpy/distutils/__config__.py,sha256=KNB1kK5pX6g-tTxs41ZfrD32q1asv7QolLtKuOQELjE,1519 -numpy/distutils/__init__.py,sha256=AEelgCxrNenX-csNhVCrMNIBHGB895HovZJejj_qwVY,1088 -numpy/distutils/__version__.py,sha256=SSRZKvGfvg_GpYbXWtI5gaTK0NGW9nBBCyNghaaXBh8,151 -numpy/distutils/ccompiler.py,sha256=ZQ9GILkgK3c-jipD572npLpSdTXOsd_h1ieNrzqxlU4,28547 -numpy/distutils/compat.py,sha256=xzkW8JgJgGTmye34QCYTIkLfsXBvmPu4tvgCwXNdiU0,218 -numpy/distutils/conv_template.py,sha256=nBPvD1z_mWZg0j9rAyRITxk7bfOfUVJ3yJ34dCiWIwI,9709 -numpy/distutils/core.py,sha256=4r-OVRLoRKp4KzgTjb_Ov7qXDw1NO89x5ShjUoDw34c,8183 -numpy/distutils/cpuinfo.py,sha256=AHJuQeg78_P5EReO1kLd-MAohvB-GfV8zuRh7F8hltI,23015 -numpy/distutils/environment.py,sha256=XBqttd7d6sBr_-XA2nLG7gaRnLS4b_wKd0GoLLG1VQ8,2346 -numpy/distutils/exec_command.py,sha256=G3X8i0rWikxyCe0mwlmiEdmG6_J0OwtbY5-fanqKN8U,8663 -numpy/distutils/extension.py,sha256=q_NjgW-sOoeEBbeSEJwFh411mTgsF7BzGYso61Wf0qg,2967 -numpy/distutils/from_template.py,sha256=U-XEiWrYDXbZUEa8NKykjJpZolzPlBLP8F-kSVhlRb8,7830 -numpy/distutils/info.py,sha256=lNxUhbJnzWjA47P2I_9NW-tuVrjGzL62jHDlQJ3pp6E,157 -numpy/distutils/intelccompiler.py,sha256=1qzr6PMxi0UkR0NUY3rt3gqww9GwJ-Gbe91yxQKlieU,4291 -numpy/distutils/lib2def.py,sha256=i4qqVsMLKHcQIrPXlVhKUQtCAVLw0ePlk08CfOgGLgs,3512 -numpy/distutils/line_endings.py,sha256=aBO2e754iin4Ylo7FNwlBg6nPudXMnQZYdhVhf-E3aA,2053 -numpy/distutils/log.py,sha256=yHzdtNdTg6YtvO50Hu-Le5WJ7Typ2TvaCYabelTaUO0,2745 -numpy/distutils/mingw32ccompiler.py,sha256=VSgUBrHQ0jGARQOmIHR2i2xuy9Qba8Y1A9DQzJRJiMo,25201 -numpy/distutils/misc_util.py,sha256=j0MbOeJgUf1rojMKNVwuq7Z4bPZaBQ8xO0Frqkujork,82201 -numpy/distutils/msvc9compiler.py,sha256=TuPYjPFp3nYQSIG1goNxuOly7o3VMx-H35POMpycB3k,2258 -numpy/distutils/msvccompiler.py,sha256=BTj0LPytcNNxcYJ5AUtQUQiD8ZhYNrzCCGkNxSnwdQI,1991 -numpy/distutils/npy_pkg_config.py,sha256=TOlCf_L1pSQyvsFl60dinf1Fnly4Hg5U9u4krTtCsMk,13243 -numpy/distutils/numpy_distribution.py,sha256=lbnEW1OxWxC_1n2sKd0Q3fC5QnNdFuAkNAlvXF99zIQ,700 -numpy/distutils/pathccompiler.py,sha256=FjNouOTL8u4gLMbJW7GdT0RlsD2nXV1_SEBNZj9QdpQ,779 -numpy/distutils/setup.py,sha256=q3DcCZNkK_jHsC0imocewd4uCKQWWXjkzd4nkBmkMFI,611 -numpy/distutils/system_info.py,sha256=J8IpdAc3goPXByTXxCLsFPUbIGLsUihqCyuEqr31BdY,89501 -numpy/distutils/unixccompiler.py,sha256=nut8kzEi9BQpXcy5qNcy0w0d6BQ5o6ghJx2f0D4DH-w,5156 -numpy/distutils/command/__init__.py,sha256=l5r9aYwIEq1D-JJc8WFUxABk6Ip28FpRK_ok7wSLRZE,1098 -numpy/distutils/command/autodist.py,sha256=1oytviCdsUjm3YxLLVePvWEqxyz0eDRRqvfokDm2sXQ,2048 -numpy/distutils/command/bdist_rpm.py,sha256=rhhIyFzkd5NGi6lZaft44EBPZB3zZFRDc75klJYnbw8,775 -numpy/distutils/command/build.py,sha256=6Q9bDubq5WfwR1K5woDFXed692szD0Rq-5Ckv2xpoK4,1618 -numpy/distutils/command/build_clib.py,sha256=_Y3upI_slekgMk2CI2vplOXj5p1_aEHa-F9_nJ0HOgg,13389 -numpy/distutils/command/build_ext.py,sha256=2oQs0Pv-k3wtr7iEKZxRxK1x2sB3egTGxIvsXhCutqY,25264 -numpy/distutils/command/build_py.py,sha256=7TBGLz0va0PW6sEX-aUjsXdzvhuSbJGgIrMim1JTwu4,1210 -numpy/distutils/command/build_scripts.py,sha256=ze19jHBhC3JggKLbL9wgs9I3mG7ls-V2NbykvleNwgQ,1731 -numpy/distutils/command/build_src.py,sha256=PFSMXRvahsP7oDK1sZXvb-tC2gCv6wupeuXJkrp6xzw,30946 -numpy/distutils/command/config.py,sha256=PhU3G1GEShA2nUJM6jzVxZpqSxG8faRJiOwXw7zZuwc,18010 -numpy/distutils/command/config_compiler.py,sha256=enSybR68NCFnY7wKHTeU4sCmc0zGenL0oZ_8F7Cn-H0,4379 -numpy/distutils/command/develop.py,sha256=nYM5yjhKtGKh_3wZwrvEQBLYHKldz64aU-0iSycSkXA,641 -numpy/distutils/command/egg_info.py,sha256=pdiCFQiQuIpf_xmVk9Njl7iowY9CxGn9KRbU-A9eBfg,987 -numpy/distutils/command/install.py,sha256=yBj3NM6sctAbG3QR5Y4qPs7YjxpW7EoKeMPEkNWf2qU,3127 -numpy/distutils/command/install_clib.py,sha256=6tUO3FbF_b_e_Ly31qod9rB4yHA2z8m2mh6qry1a4yk,1315 -numpy/distutils/command/install_data.py,sha256=7iWTw93ty2sBPwHwg_EEhgQhZSZe6SsKdfTS9RbUR9A,914 -numpy/distutils/command/install_headers.py,sha256=NbZwt-Joo80z_1TfxA-mIWXm2L9Mmh4ZLht7HAuveoo,985 -numpy/distutils/command/sdist.py,sha256=tHmlb0RzD8x04dswPXEua9H_b6GuHWY1V3hYkwJDKvA,799 -numpy/distutils/fcompiler/__init__.py,sha256=FHfaXHp4Ga31vxbFs7LxIkUy0dxwZnnm-My5Z1ncCos,39347 -numpy/distutils/fcompiler/absoft.py,sha256=JCcA8aa-D86JVZKe5ERnL3BGpB2nm2cphkhwhqilQog,5567 -numpy/distutils/fcompiler/compaq.py,sha256=djulalEdV6b58ofcEw14Uoq5-aNgblJMqLIzNwmJ2SE,4109 -numpy/distutils/fcompiler/g95.py,sha256=K68RRAvOvyKoh-jsD9J4ZDsHltrGnJ_AllxULhy6iOE,1396 -numpy/distutils/fcompiler/gnu.py,sha256=WX5n9rIa0LEDKDBBE6DeYm2eZw5skcdxo5b0gaMXe-w,19763 -numpy/distutils/fcompiler/hpux.py,sha256=xpNfy7vCKWPnJ5M3JPnjMAewKBAfKN5hFX3hvEL2zaM,1419 -numpy/distutils/fcompiler/ibm.py,sha256=hkOqy4vPXozEm8Ln4ucWpTfdLlBPOF_bLROOJZvXdKU,3435 -numpy/distutils/fcompiler/intel.py,sha256=to4dvvaWYUOKesTnaFP3kw1kwekY_nPEOO7OIqrmSgE,6773 -numpy/distutils/fcompiler/lahey.py,sha256=pJ0-xgtYwyYXgt8JlN8PFeYYEWB3vOmFkNx6UUFXzuM,1393 -numpy/distutils/fcompiler/mips.py,sha256=IxLojWR1oi0VW93PxPpHQXRwZcYffD1dunllQW2w19A,1780 -numpy/distutils/fcompiler/nag.py,sha256=eiTvBopdCgVh5-HDTryVbRrYvf4r_Sqse1mruTt5Blo,2608 -numpy/distutils/fcompiler/none.py,sha256=N6adoFAf8inIQfCDEBzK5cGI3hLIWWpHmQXux8iJDfA,824 -numpy/distutils/fcompiler/pathf95.py,sha256=Xf1JMB30PDSoNpA1Y-vKPRBeNO0XfSi0dvVQvvdjfUQ,1127 -numpy/distutils/fcompiler/pg.py,sha256=Ix3xah0mbBdx7IqJ3ic7YlzL5HtiBYKtN5PBMd6SDDE,4213 -numpy/distutils/fcompiler/sun.py,sha256=HRyTh2aoHKuL7Lnb96_a1kXkNFaSv7mNFgzUnYYuzYQ,1645 -numpy/distutils/fcompiler/vast.py,sha256=LJ21-WIJsiquLtjdDaNsJqblwN5wuM2FZsYl1R40vN8,1733 -numpy/distutils/mingw/gfortran_vs2003_hack.c,sha256=F3PYZ7LTP_Q1svGVX8N7oRYWpd15LqaiyBoQk5SkQiA,74 -numpy/distutils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/distutils/tests/test_exec_command.py,sha256=eL_MDj2PFcUb45viH2CZQhnhJhC3iotC2fB681ywBp0,7216 -numpy/distutils/tests/test_fcompiler_gnu.py,sha256=D0F-UPIQi8XpFg8iiqFG7ZpCD0YEsYc_tuGRdjG18pU,2288 -numpy/distutils/tests/test_fcompiler_intel.py,sha256=9RZqwxN4PrdGOI-4Z4AYMHMlGEfAUQI3Epq-Sk3TKeM,1210 -numpy/distutils/tests/test_fcompiler_nagfor.py,sha256=IhprctRe_6_5-oprg0mSCa0oD-nlYDSVdz5sXhHH8BA,1247 -numpy/distutils/tests/test_misc_util.py,sha256=4I_8nme1cH-34OJbc9Ja-snSwZ0Zh28JmxY8CkyECvY,3308 -numpy/distutils/tests/test_npy_pkg_config.py,sha256=vfWrY-F5ov7Jv_7mYgXvmwgbd_9qIKZUGHQ-mzbsLio,2709 -numpy/distutils/tests/test_system_info.py,sha256=NROPLl2fFOVdg791f7eWza6q0cuKRiQdWg5pt4JWZJc,7485 -numpy/doc/__init__.py,sha256=BDpxTM0iw2F4thjBkYqjIXX57F5KfIaH8xMd67N6Jh0,574 -numpy/doc/basics.py,sha256=CV0B_8jUvTIR4oCIKnoAxQtrX0rkMHKizO8_5WNZVQ8,7918 -numpy/doc/broadcasting.py,sha256=pUtsDrdRgi7usB8pv37Vx-EZMPk7fpcDDjCCpK9pCWc,5565 -numpy/doc/byteswapping.py,sha256=vbQ7Zy3R0fVPX4zpJB-TzcV4g1nffzok4kDqD9x_Guk,5346 -numpy/doc/constants.py,sha256=Jc0iAiU7KhzmyQ683LwKIaDpmoZyttmePYDvdz4d7EM,8882 -numpy/doc/creation.py,sha256=_ztD3TE-I2sUj3u9v9iQQ2XLKE_u00kzrQeFLLPclQA,5501 -numpy/doc/glossary.py,sha256=cUJhYpuduXVsNwK7IUcgUfx-EbF3rWWGiGhpjmpzc5o,12371 -numpy/doc/indexing.py,sha256=DtFUsUXpNoxCHpNSPfQ_hwI1FCleStL5fdnzP_Z9hLQ,15669 -numpy/doc/internals.py,sha256=xYp6lv4yyV0ZIo_qCvLCAWxDa0rhu7FNrTmpXY1isO4,9669 -numpy/doc/misc.py,sha256=g-tgHRpjmlCrHC-VPdlx_ZAX3ATvkre0oY-TiIc6Izw,6194 -numpy/doc/structured_arrays.py,sha256=ZPXD7-Svyq7Ur6FrkQ_oD-KyrnPZU2ZMxNHC1K_w-mc,22918 -numpy/doc/subclassing.py,sha256=NOBCa__cX2n_9A0ShdDWBAxVrovruYaouK9uAKbvidk,28560 -numpy/doc/ufuncs.py,sha256=vsAkCLEMh7Qa_3x4WbDMY3IQsDCLdOCuB_6P2aEcVLg,5427 -numpy/f2py/__init__.py,sha256=uCYsZBr66CpP0Ek0_PysG2jc1xJCqtzy0j8Ge-5QpUw,2027 -numpy/f2py/__main__.py,sha256=MLrjKb74kCDL3GuZ28623zgDH5iBXRUH4eEHOK_NN0Y,739 -numpy/f2py/__version__.py,sha256=rEHB9hlWmpryhNa0EmMnlAlDCGI4GXILC9CZUEV3Wew,254 -numpy/f2py/auxfuncs.py,sha256=mDvaBo3Y8tYpXLZfq8DCv6UZ3-2JqWc_iNBZRxGesb0,21826 -numpy/f2py/capi_maps.py,sha256=ObU9I3tM5ksYnn_JurrUEqyCM03yXrwJ81aD-8OuO0Y,31539 -numpy/f2py/cb_rules.py,sha256=su1u0Ckj3w0A19l6Ykgy4MfHQjF8EhZFXZ9YoW1xSLE,22356 -numpy/f2py/cfuncs.py,sha256=Tt4r-psLgzrUIb_B6KK-S1SySSH6Qt0WODCJHgnc-yQ,45113 -numpy/f2py/common_rules.py,sha256=qLhn27JDPFqhl-rATOkXX_L5GEq6-6N_7ERP3ued0Po,5030 -numpy/f2py/crackfortran.py,sha256=_wSk5fU_AKbXxROajBLnyEMidUAjHIFNhdy5V7g6Lpw,128404 -numpy/f2py/diagnose.py,sha256=VNuNTGnQaXn9Fn2jlueYt47634CvLQSaAWJWy_Nxwnw,5295 -numpy/f2py/f2py2e.py,sha256=N3JCJy-_96vqHQmoWcY3EvHIlhNWd_Ch9tgpT2laACA,22908 -numpy/f2py/f2py_testing.py,sha256=8rkBjUsNhBavpoBgi_bqDS8H8tBdd5BR8hrE6ENsIAo,1523 -numpy/f2py/f90mod_rules.py,sha256=YFK4MPkGHBxshAInbcapnumX3qlu0h6ya6GQpS8zWLk,9850 -numpy/f2py/func2subr.py,sha256=Oy12rqUa1vcXvzR6g8yx8jSYDwfKt5Jqiebf1QaWX1o,9224 -numpy/f2py/info.py,sha256=Mk1-neqpqYQ6njoVUCKHmMkyFkAqYeWH4cGZr8NfKiI,136 -numpy/f2py/rules.py,sha256=DDX0Vv1ALXnYAexMBjvlFniqt-vnzBB908T6kEARXTw,58525 -numpy/f2py/setup.py,sha256=zNM8_TSn1IK88xsJlat-itELgQzmV6i_yC_TyLzUTZI,3925 -numpy/f2py/use_rules.py,sha256=L6nTSJnxougQ2PVAzR7s-1spidcfDp9tzLIFAJe3gUI,3652 -numpy/f2py/src/fortranobject.c,sha256=TudGxLhRglhZEiySF_NC9KEPWAhCpNfUd7ymbfEsEIw,35813 -numpy/f2py/src/fortranobject.h,sha256=TbUsTEKqs4MM4bLxXCG7stY5r8x6zl0s6s_xRVzhgYc,4931 -numpy/f2py/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/f2py/tests/test_array_from_pyobj.py,sha256=jFY96nTVlk8e6kB38ijsIxBveAfBiK5JFIl6KYHRxXU,22111 -numpy/f2py/tests/test_assumed_shape.py,sha256=rhwzCgHihXONSMCdPh6UJjW65sx9nsKJyB9qEsoQUuA,1001 -numpy/f2py/tests/test_block_docstring.py,sha256=CDIq4TZ7OSn6-sLZk1bDVfG3UZMg4F763c7S063ZMro,623 -numpy/f2py/tests/test_callback.py,sha256=znNm7999PKsarlcLI4E1v6A9WXa1uF6H1fAZZ6wzu4k,4014 -numpy/f2py/tests/test_common.py,sha256=YAywQPUAXGCzHhJp6BwX-pdB-xjEOjJSfe99vdnnTXA,900 -numpy/f2py/tests/test_kind.py,sha256=nJtZKnB3JPEUW0C1WiZhFuuM_D-A6BY-0Rs_rDb_6j0,1126 -numpy/f2py/tests/test_mixed.py,sha256=WBaXSr0KbxLcIAYxTGmhKy8GI9jYvGhqDODvpVcjrPM,975 -numpy/f2py/tests/test_parameter.py,sha256=4xrIfF1gxWtSxXkMR8n4mD_-K_vxeGeSo4ST_LbR7yA,3977 -numpy/f2py/tests/test_regression.py,sha256=osrlIzj2-mrhxg2R3atBt3mBwDH_5_UtKfx8_IvL3nA,829 -numpy/f2py/tests/test_return_character.py,sha256=hh2QHvq1NozQLr2qvhnRPQ22WIo4M8H6UYvi0HYrViA,3869 -numpy/f2py/tests/test_return_complex.py,sha256=I1vkLbSsBxx5-0KAvZa6GDxuK9G3ozZEJp-hAJn1ir8,4784 -numpy/f2py/tests/test_return_integer.py,sha256=EXG73yTSQzztSLz0YtC6kdA1E5nxGngH0yNpdIlRJzU,4696 -numpy/f2py/tests/test_return_logical.py,sha256=ZUPQXuDON9vYopK35H4Z5b7mlr5U7TQ9DezjPlBQOSI,4950 -numpy/f2py/tests/test_return_real.py,sha256=RUYgQ_2dqp0wDhSOBJuoEkq3K8d2MGLnIq_A-ztfbPI,5410 -numpy/f2py/tests/test_size.py,sha256=xmhIHCd9o4oCoVPjf7UgzZ5xE0dNiH1OKKvg05bRNYs,1388 -numpy/f2py/tests/test_string.py,sha256=ZCQCbbemJkG0BlUGPwfHqwI35ZGiS3hJXJ-iJPkOR7k,728 -numpy/f2py/tests/util.py,sha256=ZHJqbYloVpUet0FhgJRNRZ-2oH3bMqBuDISaleosHh8,9454 -numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c,sha256=eeOSoN7luwRZ9Z8NMc8XGEs-vLu4qbdyyxdJPui98oE,8801 -numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap,sha256=But9r9m4iL7EGq_haMW8IiQ4VivH0TgUozxX4pPvdpE,29 -numpy/f2py/tests/src/assumed_shape/foo_free.f90,sha256=oBwbGSlbr9MkFyhVO2aldjc01dr9GHrMrSiRQek8U64,460 -numpy/f2py/tests/src/assumed_shape/foo_mod.f90,sha256=rfzw3QdI-eaDSl-hslCgGpd5tHftJOVhXvb21Y9Gf6M,499 -numpy/f2py/tests/src/assumed_shape/foo_use.f90,sha256=rmT9k4jP9Ru1PLcGqepw9Jc6P9XNXM0axY7o4hi9lUw,269 -numpy/f2py/tests/src/assumed_shape/precision.f90,sha256=r08JeTVmTTExA-hYZ6HzaxVwBn1GMbPAuuwBhBDtJUk,130 -numpy/f2py/tests/src/common/block.f,sha256=GQ0Pd-VMX3H3a-__f2SuosSdwNXHpBqoGnQDjf8aG9g,224 -numpy/f2py/tests/src/kind/foo.f90,sha256=zIHpw1KdkWbTzbXb73hPbCg4N2Htj3XL8DIwM7seXpo,347 -numpy/f2py/tests/src/mixed/foo.f,sha256=90zmbSHloY1XQYcPb8B5d9bv9mCZx8Z8AMTtgDwJDz8,85 -numpy/f2py/tests/src/mixed/foo_fixed.f90,sha256=pxKuPzxF3Kn5khyFq9ayCsQiolxB3SaNtcWaK5j6Rv4,179 -numpy/f2py/tests/src/mixed/foo_free.f90,sha256=fIQ71wrBc00JUAVUj_r3QF9SdeNniBiMw6Ly7CGgPWU,139 -numpy/f2py/tests/src/parameter/constant_both.f90,sha256=-bBf2eqHb-uFxgo6Q7iAtVUUQzrGFqzhHDNaxwSICfQ,1939 -numpy/f2py/tests/src/parameter/constant_compound.f90,sha256=re7pfzcuaquiOia53UT7qNNrTYu2euGKOF4IhoLmT6g,469 -numpy/f2py/tests/src/parameter/constant_integer.f90,sha256=nEmMLitKoSAG7gBBEQLWumogN-KS3DBZOAZJWcSDnFw,612 -numpy/f2py/tests/src/parameter/constant_non_compound.f90,sha256=IcxESVLKJUZ1k9uYKoSb8Hfm9-O_4rVnlkiUU2diy8Q,609 -numpy/f2py/tests/src/parameter/constant_real.f90,sha256=quNbDsM1Ts2rN4WtPO67S9Xi_8l2cXabWRO00CPQSSQ,610 -numpy/f2py/tests/src/regression/inout.f90,sha256=CpHpgMrf0bqA1W3Ozo3vInDz0RP904S7LkpdAH6ODck,277 -numpy/f2py/tests/src/size/foo.f90,sha256=IlFAQazwBRr3zyT7v36-tV0-fXtB1d7WFp6S1JVMstg,815 -numpy/f2py/tests/src/string/char.f90,sha256=ihr_BH9lY7eXcQpHHDQhFoKcbu7VMOX5QP2Tlr7xlaM,618 -numpy/fft/__init__.py,sha256=rmPQWW6qxubvIN7bE2DsN7fR27PWYl64T-rcDFaFcc8,258 -numpy/fft/fftpack.py,sha256=kmkcYonedtyVy1J-98r94Rm6mdUmzix0_kxJXxDq__A,46059 -numpy/fft/fftpack_lite.cpython-36m-darwin.so,sha256=mxARu93uXoUyqOCf5uipXBPbdzpsMj-F68Ddtuq7v9E,107000 -numpy/fft/helper.py,sha256=aZruJcPfb9mKdgTbdhK0er-puvpi0nIVpjI2BiUnjvw,9523 -numpy/fft/info.py,sha256=831NwiCI33uiLx21G7kFCwzZuFxDfmU8n-2LG4FJm2w,7235 -numpy/fft/setup.py,sha256=VR1boee7xZd3lOQVRJ3083I0kYqq_-RCo6CK6UK8Lso,550 -numpy/fft/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/fft/tests/test_fftpack.py,sha256=ivCFMYzRuBVXOwsZJ1HI5FchBsSxNCIyUvhns5DLqlA,7097 -numpy/fft/tests/test_helper.py,sha256=-fY_zZLkSagcL1CAQJAXXSfij1u-tHtxFKKnVaZPXzw,5999 -numpy/lib/__init__.py,sha256=PHzVALHyh1EqdvCw-lhDTH28gXSKjU5-1QSX_azB5QQ,1301 -numpy/lib/_datasource.py,sha256=S_sHqV8T4o3SdrJQ1dzO435zawHX8_fSgWyJMnr20eU,25311 -numpy/lib/_iotools.py,sha256=HVNgaZlOet3H3AiNZL0xl_P8zRkZDW7RI21UgpYGdcI,32616 -numpy/lib/_version.py,sha256=CwmJlO0-MIWJhksrX0Dr_qUDDn-R0oe3Od2I-qLjLs0,4867 -numpy/lib/arraypad.py,sha256=35naV74C2JsxpUYti53PkvPPctR72OrvY_XHDmpz45g,51857 -numpy/lib/arraysetops.py,sha256=Mp-bXIYEcBAHOGlJtAMWVSQwjvZhloS9RtCZ5pQn_o8,20345 -numpy/lib/arrayterator.py,sha256=niYNI2qhySUT5j_3gl07pPbkmY4GJqdwIGaMZyPil84,7191 -numpy/lib/financial.py,sha256=AYHgzhkSiGzm7uRDzmy_3l2pnBKb0re3RUkf4Txeffo,24495 -numpy/lib/format.py,sha256=QFswc50ngoVRafhCtPAgs3Bzhw-OIz6KMRGKOL6Wlqk,29010 -numpy/lib/function_base.py,sha256=S-PYR35reVOR96Uv5X-eiLWYq-tdX3b2a8QSe20jI_A,170032 -numpy/lib/index_tricks.py,sha256=exaSLwRXrJxphFaAv8YF6F9eeUV-95K1CFbyMf7DMRY,26680 -numpy/lib/info.py,sha256=oVczF_pC_CMZC2h2adb2HHza_1qF3qI065j4RBrd-I4,6616 -numpy/lib/mixins.py,sha256=r9doCR1X0arm4q5Nq9qpktMkbRqC51jT_lY8tPJwFgI,7284 -numpy/lib/nanfunctions.py,sha256=JqkUx-LuKLIgX3h2ajC-nQRXDvJxM9p-RhJrb8QrqQs,50854 -numpy/lib/npyio.py,sha256=P6m34vUqI5ZF-Kam7MKEWHvndpCblcWZpikJrbIYJnc,82746 -numpy/lib/polynomial.py,sha256=qTJt-MbtgncmHDU3kd-9ECJi5_E8Xg4Ol9VkqQ1LGuk,38572 -numpy/lib/recfunctions.py,sha256=MrevY2p_tiOII900opEunMd_RZYdocE8_DyeyGUhROE,37016 -numpy/lib/scimath.py,sha256=DVHIce1T85pQnmVF-FusyuIdlQoxt45R2FRx500tcqg,14085 -numpy/lib/setup.py,sha256=os9eV9wSzwTQlfxeoQ33gYQ4wOj1_6EvqcROc8PyGbE,379 -numpy/lib/shape_base.py,sha256=WVSQXCj0oRlmvFr5981L0tzka27Ckvy-JDTFIPM3Uec,28668 -numpy/lib/stride_tricks.py,sha256=uQzHxT2vuGOrDi4y9TkVu-zAthbXujy9V62Rq7HgvnM,8785 -numpy/lib/twodim_base.py,sha256=5pkBest69BJpDyi-KaWG_20yWDv7Ke7oNVrhPYxnFG8,25817 -numpy/lib/type_check.py,sha256=2_-ktL6-z-5MmJ0FedQwqTGawaLu_gn7eXY31pQNZ3g,16500 -numpy/lib/ufunclike.py,sha256=_3VJxYIXlcbkMPQVYKzHn8hwlFzHCYnyKzuBCy0YFYY,5714 -numpy/lib/user_array.py,sha256=7nJPlDfP-04Lcq8iH_cqBbSEsx5cHCcj-2Py-oh-5t0,7817 -numpy/lib/utils.py,sha256=oE5_ULQxkNcx2Slje7SGBOQYONW3XrMGTOnmwE7l114,36340 -numpy/lib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/lib/tests/test__datasource.py,sha256=XiGdTJUjCMfTtMvlspgpGY3ZtHgKAIndGeaPi0g7yDU,10330 -numpy/lib/tests/test__iotools.py,sha256=nytmznzSAUJlJ1zNgSuwe9PrCtU2UC65-XY05diCfCk,13575 -numpy/lib/tests/test__version.py,sha256=-4O_MvSGwZYSzgtt7oWYotmZo9uEF8_95Or73F3X82g,2125 -numpy/lib/tests/test_arraypad.py,sha256=bWRUKL-SEoSvEX52aDPHzYfd61a4pgGpUhILaTaODfc,43647 -numpy/lib/tests/test_arraysetops.py,sha256=53YzcBGeaqxr4ZswYVwjnMgwWvnNIsHVw367KSPSaII,17352 -numpy/lib/tests/test_arrayterator.py,sha256=8_VQ1qF4aDQSUS21Tmdr9JStdRhah0t5UiltpH6sH9A,1455 -numpy/lib/tests/test_financial.py,sha256=4BPj5ad2weNU8qCdF1hlkfvqD2d4X5nf-9uak4eGTr0,17168 -numpy/lib/tests/test_format.py,sha256=_LT78W5o7j9qQWoUapwDxkZJxK3ZhLSsmQMJXjIqGLQ,34531 -numpy/lib/tests/test_function_base.py,sha256=dxkKKwue3xhWhj8uz7qEoKTiY8DAnPFnpv0miy-iijY,132980 -numpy/lib/tests/test_index_tricks.py,sha256=wGSNDPkPqvrfyicGhTOXhr_NmD12F8TXCOZSsADZEIc,13689 -numpy/lib/tests/test_io.py,sha256=zkQfKHUHc_wztQZBIafv0DTH1zuNm2fc7rhT21rhNPI,92159 -numpy/lib/tests/test_mixins.py,sha256=m2fHvYB8x2aoq5BMEokFE-d_KwqnHPPwAWCVo0_pcaY,6849 -numpy/lib/tests/test_nanfunctions.py,sha256=f-W1hIQ3ICdQLKjQKyt3lmHALavzFzf69RNP_dALtkU,34835 -numpy/lib/tests/test_packbits.py,sha256=OnJy_WawkZFlWN1QkdEwyc6nHzJeUqtwMjC-4Rpga3c,12929 -numpy/lib/tests/test_polynomial.py,sha256=Eh941Ic5R5EA1rnp2B1wTar8yHJ94tZnQ28WxbnRUEg,7152 -numpy/lib/tests/test_recfunctions.py,sha256=tUnPXYKpQt6gAa4by0GaFj-Xpm4WqHWWNfrWGxtv9K0,34762 -numpy/lib/tests/test_regression.py,sha256=o-CSZTTADq6SVofa5IKz5UfwAhH3n941Es_JN3aNAF8,8542 -numpy/lib/tests/test_shape_base.py,sha256=GrhZu2UyaNbyxv2ygDmPVBpwYlgqkRnGZt9WJLmBOqQ,19369 -numpy/lib/tests/test_stride_tricks.py,sha256=vjzfmvFvNIXba9NWH_liwfRjEJmHTaZ-ldgGsDAWcok,15042 -numpy/lib/tests/test_twodim_base.py,sha256=B3994ugqF7j2oKONswbGRT1mh4nYmgiGi5V4J26Ostw,17754 -numpy/lib/tests/test_type_check.py,sha256=TpJyb02riykSRclI3JzATjFJnebwm6y476FIJq4XzZ4,13103 -numpy/lib/tests/test_ufunclike.py,sha256=l9_QV0l7BrSe-OvcE-x3t8PQniH02LpMuOdmkobwT6E,3018 -numpy/lib/tests/test_utils.py,sha256=MNjkCaB0glBaVLMGZ9i88g8RIPHmkdbnt47bLWjgCvU,1656 -numpy/lib/tests/data/py2-objarr.npy,sha256=F4cyUC-_TB9QSFLAo2c7c44rC6NUYIgrfGx9PqWPSKk,258 -numpy/lib/tests/data/py2-objarr.npz,sha256=xo13HBT0FbFZ2qvZz0LWGDb3SuQASSaXh7rKfVcJjx4,366 -numpy/lib/tests/data/py3-objarr.npy,sha256=pTTVh8ezp-lwAK3fkgvdKU8Arp5NMKznVD-M6Ex_uA0,341 -numpy/lib/tests/data/py3-objarr.npz,sha256=qQR0gS57e9ta16d_vCQjaaKM74gPdlwCPkp55P-qrdw,449 -numpy/lib/tests/data/python3.npy,sha256=X0ad3hAaLGXig9LtSHAo-BgOvLlFfPYMnZuVIxRmj-0,96 -numpy/lib/tests/data/win64python2.npy,sha256=agOcgHVYFJrV-nrRJDbGnUnF4ZTPYXuSeF-Mtg7GMpc,96 -numpy/linalg/__init__.py,sha256=tj2YrJ_U5GzK7TnL5ho_OcevkID77anudX6UOQMSi_Q,2332 -numpy/linalg/_umath_linalg.cpython-36m-darwin.so,sha256=lr7GZsDFDNwgs-AOcfzMi5qH_3W6ZsQVMgrSK3bqUv4,295636 -numpy/linalg/info.py,sha256=AbXPYYabJK5In0F9IMk-oVWZgDyEaoU45Wnq6RtuCJs,1198 -numpy/linalg/lapack_lite.cpython-36m-darwin.so,sha256=7lsmjV8iyR174s9darQWcFvzXd-819YTTt_MU2PHyIM,41388 -numpy/linalg/linalg.py,sha256=INtXPo5vRC3mnOfGEGSb1FsGCtcFHsg2wdkkNWcx-PA,80393 -numpy/linalg/setup.py,sha256=k1X4EfRWACFtJYfb8Wiol_-pPnEMtqURxQ8H9FwFHWg,1878 -numpy/linalg/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/linalg/tests/test_build.py,sha256=k-3igsO1Dr2vbQhPtqAOvfN28ePChgfnRwHyQhWboEk,1756 -numpy/linalg/tests/test_deprecations.py,sha256=cxhhn3Mvm4HzSvQC2_2QzSBROGqzO5xmPXgUUT1U7vY,776 -numpy/linalg/tests/test_linalg.py,sha256=DXbltD8RG0pYxkfNASo9rCUWgeV7rYhvTHHg1PdewzI,62388 -numpy/linalg/tests/test_regression.py,sha256=gZ5Kue5JPjh6W1_R6LdEd2yIzIjbz85Kfx_rRq2XKlc,5741 -numpy/ma/__init__.py,sha256=NakwmSxyO7pTIVFvYrm5OiYZrMWMMiw-DO59Qd6VWzY,1476 -numpy/ma/bench.py,sha256=2nGYYxQVHYD_htXZCvBZLLot8Ui4uPKbJDdG2AnpfAU,4917 -numpy/ma/core.py,sha256=en4LY_KgNdSUf7fTR6khcR2-oBq1gASReLMFlP_SFNY,255508 -numpy/ma/extras.py,sha256=wKnrRtgcKhCq5zLHFKMVJqikxi9drIdIVWvuoUtbIRA,55952 -numpy/ma/mrecords.py,sha256=oP1xpA8UVf9x5tg_AUL-AMNK0RLxL8IfYUFwHgVq3uY,27435 -numpy/ma/setup.py,sha256=zkieH8BeiGVXl3Wlt_WeP9kciZlyAZY20DDu4SGk4b4,429 -numpy/ma/testutils.py,sha256=H6Wp21rUlT2PxxDsTcUPw9Wt0E_d1GmJyY74cL0maVI,10384 -numpy/ma/timer_comparison.py,sha256=Q1AyfHzNrWzVTrx6ebL9HgpQEkEJPHAkbWuTK_0bBkQ,15586 -numpy/ma/version.py,sha256=KpJAmUE1s1TpbgqgdBpDoslxm7kOMpczLjEzLMGv9Ag,380 -numpy/ma/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/ma/tests/test_core.py,sha256=Gbj-nAZD_eN1YNxrUUL1Dkgh0o6JCn-unCxjulHjHpo,191393 -numpy/ma/tests/test_deprecations.py,sha256=4kO2Er_A_Q1UYqirSAUAA7HBYjX7DAYnIFK8dZX6UpY,2410 -numpy/ma/tests/test_extras.py,sha256=18VmH3Vt9Ee7HdFRn-ML0bUFgQl4h_26Kv0W2OBjQSo,63757 -numpy/ma/tests/test_mrecords.py,sha256=YVDiXN5ftH2cFk8RHySwXKzelR_hKQ9Vs5Vn9db7Elk,19929 -numpy/ma/tests/test_old_ma.py,sha256=lk7RN2yNl90MrzWL375CCnL4L4zOrGADZr-pm0AiSoA,32135 -numpy/ma/tests/test_regression.py,sha256=M8LjQXAWve4Huq_Hq9OFgPOHOnclTPTxwV0VWEjAquQ,2437 -numpy/ma/tests/test_subclassing.py,sha256=pmLM0i9vlGq7CkOI7tds498Vv_gLvosPpbTdAmQ-jGU,13666 -numpy/matrixlib/__init__.py,sha256=TRuVRSDBgQyy2LYdfFMF8pXy21U1oz-cUzYqzB4Jz-w,290 -numpy/matrixlib/defmatrix.py,sha256=O_RESv1d67zCwxNX3PFe4oakGOWHVFjGpaviHNIhjcY,32973 -numpy/matrixlib/setup.py,sha256=o7I_gBds6j6ckztbKLhSXW3XHSItol8bab-rBZ6GH4I,448 -numpy/matrixlib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/matrixlib/tests/test_defmatrix.py,sha256=zyQWTySr8WNjK3GpSSYts2rZTwTHWzDDwyzKQwKPJ2o,15078 -numpy/matrixlib/tests/test_multiarray.py,sha256=klsqFOr-xcE4E5__hjDQKT7fCuVX6t0rIQKDhFfRmCA,705 -numpy/matrixlib/tests/test_numeric.py,sha256=BJKSHDhKjqbOseYJmRcX81XkH_vRNRTDUPWzDmwGn4Q,585 -numpy/matrixlib/tests/test_regression.py,sha256=Jbrv4musHvJ07LKkZxnszZw91qZCZt-Dq1_cb_OM1cU,1082 -numpy/polynomial/__init__.py,sha256=fPyRn9sVQVoaSkR9eyA3hBIGH-5CIHumfFGKsJyuiso,1140 -numpy/polynomial/_polybase.py,sha256=IA8qqX91j96nuB23A_ti2xf2fUjkc24h9XAggfCK4NE,30092 -numpy/polynomial/chebyshev.py,sha256=glORsz3AlRpEWpcRjLnNZPbwu54Sj-ZJiZ2gP8j6FlA,66969 -numpy/polynomial/hermite.py,sha256=ODyNNvaR_d4p24dzw4IZJoYv3xn-YbJqVXQCvTO09yg,57896 -numpy/polynomial/hermite_e.py,sha256=AnQpOv53EXOA0udPGerbNDtVaHf7PlrBDoQx813j6xo,58086 -numpy/polynomial/laguerre.py,sha256=dNugySZSshYOKmwpTZddauJmGx0Dg4LsfuBj3ELkZNM,56309 -numpy/polynomial/legendre.py,sha256=ch8-m6CDGa1yDAwFgaAE5EPKN_i6sIXhr_3w8ru4jBs,57404 -numpy/polynomial/polynomial.py,sha256=XFkmg-AVztRRsWG58ImTskBQXVHidZtdVvbRR-UL22I,52808 -numpy/polynomial/polyutils.py,sha256=2qA03OFnMiXQj6aF0vIUWN2B99D4yd-dEMSMOYDOLf0,11529 -numpy/polynomial/setup.py,sha256=PKIUV6Jh7_0jBboPp3IHPmp6LWVs4tbIkdu_FtmI_5U,385 -numpy/polynomial/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/polynomial/tests/test_chebyshev.py,sha256=RhRGJHG8PGHxSFxjo97LAzYmkGTb7DCmBYccz2hx_LE,20420 -numpy/polynomial/tests/test_classes.py,sha256=WublDB8DP9Ctm_pYnKm3AGnU74kWLLKoZ7SkGobUH9s,19014 -numpy/polynomial/tests/test_hermite.py,sha256=oEn5RZei2YRQCYhlTeLFj4l2RP7S8n_zqmm8BFuL25I,18459 -numpy/polynomial/tests/test_hermite_e.py,sha256=Ooi50d60cSXVHrgDO4hbJVAMDnY3EwFebu2_6x1Il9Y,18789 -numpy/polynomial/tests/test_laguerre.py,sha256=6e76enKt2Pata0ChTj8hA7Pi1fNyZKmjltge9mSWDPc,17398 -numpy/polynomial/tests/test_legendre.py,sha256=EcpWqnkxiOSHkoySCLxU9fPcHfJAPM1MUhaUQyOlHDQ,18162 -numpy/polynomial/tests/test_polynomial.py,sha256=W8CHkyfY1SC57OrRuus1mybbS5b0lkZiHOudHwZF6DQ,19253 -numpy/polynomial/tests/test_polyutils.py,sha256=mulI4VvH_ckIiS3yvwikZKMqdm3EsuvBe4PaCuN2jUo,3085 -numpy/polynomial/tests/test_printing.py,sha256=Q0QZvZvFJvp1HoCz9k4cJdq-RaBHY_YdlcvEq5r-oUg,2140 -numpy/random/__init__.py,sha256=FMKIhJsSSWqFMCzq76AmU_I2yTJglaILDxsIZQPUAbM,5481 -numpy/random/info.py,sha256=HBoOc2MYiM2OaTikwmnDURZzfBsgl5aO3SKILwy4Lyo,5199 -numpy/random/mtrand.cpython-36m-darwin.so,sha256=olB-7lgPde0PaJQQJsWwcKojd-ul2J_bZs6BJNzefqI,2067124 -numpy/random/randomkit.h,sha256=TJrx_QZpTTgUGGfe2KHzUcyfmBeYTVTXrL4EAOT9Ctg,6799 -numpy/random/setup.py,sha256=gbPg4AuCkC4PXNY6j5xzcELwidc7lWBplkkRstSWJxg,2312 -numpy/random/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/random/tests/test_random.py,sha256=VOYdHiN8-BDsce-1CaTi91yCXIvLlnL6N_Gnc7SUscc,65295 -numpy/random/tests/test_regression.py,sha256=heOwWyBfzwrvE-cJXF-kkn56iCsDo2wbLyQB0bxau5U,5119 -numpy/testing/__init__.py,sha256=TrkadhNa5VAuFepMPZMMqs66qPZ-1MWSkRZojVJ4Sjw,475 -numpy/testing/decorators.py,sha256=hUCjkX2SuoE2wOW8oAPs7qvvycv2JiSIZdEzhjz9FK4,128 -numpy/testing/noseclasses.py,sha256=sMSGBp-kViFZ914tLQXid4I8m4jyC5Cn-bKLZm2OU3s,130 -numpy/testing/nosetester.py,sha256=AkEgoiTrftdr5sj-xUialE51x1ZM6LKvojLn1iGmw94,289 -numpy/testing/print_coercion_tables.py,sha256=F44AObcou_xytUWszku8t1bWuui-4I_18o7Z7zW8l18,2705 -numpy/testing/setup.py,sha256=7cb2FQ6qCZQ34wpFHwvLT8CeLba-4uIQn_l9Ne5CvBQ,677 -numpy/testing/utils.py,sha256=sMSKhLZnShlID7JPhKEbeB521MEMs-Ls5yHWvCwGL-c,926 -numpy/testing/nose_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/testing/nose_tools/decorators.py,sha256=6oT8kgtzKwQdvE82Azs0CSauv7o27CYldCElRjUi1KI,8591 -numpy/testing/nose_tools/noseclasses.py,sha256=qDYaNTSFcFT-UFQXrY_xJkQ5JwKDNl1-kpfy-HypzIg,14599 -numpy/testing/nose_tools/nosetester.py,sha256=KHMPbyE8WNJzYHkn9gXJvjqxJAZP0tOlErpJ9uWi8Iw,20562 -numpy/testing/nose_tools/parameterized.py,sha256=4N9SU33K5xndAmOD0baX7cP5PTEwCSDzGmbIUxBtp7c,18286 -numpy/testing/nose_tools/utils.py,sha256=MSREOiECLgDi7lBU-ghB33QM_VNihRzdAMOhNOI5nTY,75434 -numpy/testing/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/testing/tests/test_decorators.py,sha256=mSMOAM-EdSP6xWJHgFdr-i4oDEKcpJKDMhPU9oV5yjI,4554 -numpy/testing/tests/test_doctesting.py,sha256=9ej2qLODMR5e6NpL6ALHmVCsyiqZ7OXzrSPU_dcB4SE,1322 -numpy/testing/tests/test_utils.py,sha256=tID4AwZohRr434lyuk8OIIyn61_75TXl4g2W5UszfvE,46239 -numpy/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -numpy/tests/test_ctypeslib.py,sha256=10Zeegov5bWWLhXFmUS7bkdfSySHXBLFX9DOuaJNeC0,4331 -numpy/tests/test_matlib.py,sha256=vhXHiXHrSs5KRk2JU_w2WAWzVSabiDTlpCSB1FNJc3U,1988 -numpy/tests/test_numpy_version.py,sha256=ailN5HiL7gZdBgneFzZhUKANCtwUNLszH8OAL07pDU4,717 -numpy/tests/test_reloading.py,sha256=M490VKOCvV8x2IA_WrDm4HjcaA5EDrrC65v8PPSY5eY,1038 -numpy/tests/test_scripts.py,sha256=bZyJm0n1fJAN7iOgAI0irqKG9hf8Y9Yi-_76xRIYy_k,3059 -numpy/tests/test_warnings.py,sha256=x7IcCHSuv4hQ5elz3ZVN-L0jxfXlTaXS567LGXUbQTo,2686 -../../../bin/f2py,sha256=igh72wSs0uvdQH3TY3kqzkkmBSKKdb9RuZOCULFjLSE,748 -numpy-1.14.0.dist-info/DESCRIPTION.rst,sha256=jIxOnyL-SJx2zWu8D0b7_U3ryV6Nj7agM4Q18YJw1v4,884 -numpy-1.14.0.dist-info/METADATA,sha256=gi-e07GO4N_jh9UJX4UCWN1L3kfIr1gXUwVSe5h2VAs,2251 -numpy-1.14.0.dist-info/metadata.json,sha256=1V3L1ANpQ2cKSO72olue1DM1-YsKIVlBu-z_sYVdrz0,1369 -numpy-1.14.0.dist-info/RECORD,, -numpy-1.14.0.dist-info/top_level.txt,sha256=4J9lbBMLnAiyxatxh8iRKV5Entd_6-oqbO7pzJjMsPw,6 -numpy-1.14.0.dist-info/WHEEL,sha256=TJcAbsNKv2tiiR-l4ikYQkXgouGWw0EOV7WZPrRyWl4,249 -numpy-1.14.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -numpy/distutils/tests/__pycache__/test_fcompiler_gnu.cpython-36.pyc,, -numpy/distutils/tests/__pycache__/test_misc_util.cpython-36.pyc,, -numpy/distutils/tests/__pycache__/test_fcompiler_intel.cpython-36.pyc,, -numpy/distutils/tests/__pycache__/test_npy_pkg_config.cpython-36.pyc,, -numpy/distutils/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/distutils/tests/__pycache__/test_exec_command.cpython-36.pyc,, -numpy/distutils/tests/__pycache__/test_fcompiler_nagfor.cpython-36.pyc,, -numpy/distutils/tests/__pycache__/test_system_info.cpython-36.pyc,, -numpy/distutils/__pycache__/conv_template.cpython-36.pyc,, -numpy/distutils/__pycache__/exec_command.cpython-36.pyc,, -numpy/distutils/__pycache__/misc_util.cpython-36.pyc,, -numpy/distutils/__pycache__/__version__.cpython-36.pyc,, -numpy/distutils/__pycache__/ccompiler.cpython-36.pyc,, -numpy/distutils/__pycache__/setup.cpython-36.pyc,, -numpy/distutils/__pycache__/npy_pkg_config.cpython-36.pyc,, -numpy/distutils/__pycache__/environment.cpython-36.pyc,, -numpy/distutils/__pycache__/cpuinfo.cpython-36.pyc,, -numpy/distutils/__pycache__/line_endings.cpython-36.pyc,, -numpy/distutils/__pycache__/msvccompiler.cpython-36.pyc,, -numpy/distutils/__pycache__/info.cpython-36.pyc,, -numpy/distutils/__pycache__/compat.cpython-36.pyc,, -numpy/distutils/__pycache__/msvc9compiler.cpython-36.pyc,, -numpy/distutils/__pycache__/system_info.cpython-36.pyc,, -numpy/distutils/__pycache__/pathccompiler.cpython-36.pyc,, -numpy/distutils/__pycache__/log.cpython-36.pyc,, -numpy/distutils/__pycache__/unixccompiler.cpython-36.pyc,, -numpy/distutils/__pycache__/lib2def.cpython-36.pyc,, -numpy/distutils/__pycache__/intelccompiler.cpython-36.pyc,, -numpy/distutils/__pycache__/core.cpython-36.pyc,, -numpy/distutils/__pycache__/from_template.cpython-36.pyc,, -numpy/distutils/__pycache__/numpy_distribution.cpython-36.pyc,, -numpy/distutils/__pycache__/__init__.cpython-36.pyc,, -numpy/distutils/__pycache__/extension.cpython-36.pyc,, -numpy/distutils/__pycache__/mingw32ccompiler.cpython-36.pyc,, -numpy/distutils/__pycache__/__config__.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/compaq.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/none.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/gnu.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/ibm.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/lahey.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/absoft.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/pg.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/nag.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/intel.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/vast.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/sun.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/pathf95.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/g95.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/__init__.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/hpux.cpython-36.pyc,, -numpy/distutils/fcompiler/__pycache__/mips.cpython-36.pyc,, -numpy/distutils/command/__pycache__/build_src.cpython-36.pyc,, -numpy/distutils/command/__pycache__/install_data.cpython-36.pyc,, -numpy/distutils/command/__pycache__/build.cpython-36.pyc,, -numpy/distutils/command/__pycache__/config.cpython-36.pyc,, -numpy/distutils/command/__pycache__/bdist_rpm.cpython-36.pyc,, -numpy/distutils/command/__pycache__/develop.cpython-36.pyc,, -numpy/distutils/command/__pycache__/build_py.cpython-36.pyc,, -numpy/distutils/command/__pycache__/build_clib.cpython-36.pyc,, -numpy/distutils/command/__pycache__/install_headers.cpython-36.pyc,, -numpy/distutils/command/__pycache__/sdist.cpython-36.pyc,, -numpy/distutils/command/__pycache__/build_scripts.cpython-36.pyc,, -numpy/distutils/command/__pycache__/install.cpython-36.pyc,, -numpy/distutils/command/__pycache__/egg_info.cpython-36.pyc,, -numpy/distutils/command/__pycache__/install_clib.cpython-36.pyc,, -numpy/distutils/command/__pycache__/config_compiler.cpython-36.pyc,, -numpy/distutils/command/__pycache__/build_ext.cpython-36.pyc,, -numpy/distutils/command/__pycache__/__init__.cpython-36.pyc,, -numpy/distutils/command/__pycache__/autodist.cpython-36.pyc,, -numpy/compat/__pycache__/_inspect.cpython-36.pyc,, -numpy/compat/__pycache__/setup.cpython-36.pyc,, -numpy/compat/__pycache__/py3k.cpython-36.pyc,, -numpy/compat/__pycache__/__init__.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_abc.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_umath_complex.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_nditer.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_scalarmath.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_numeric.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_errstate.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_mem_overlap.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_api.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_getlimits.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_defchararray.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_function_base.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_half.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_indexing.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_records.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_ufunc.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_numerictypes.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_multiarray.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_datetime.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_machar.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_memmap.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_umath.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_einsum.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_item_selection.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_arrayprint.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_shape_base.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_deprecations.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_indexerrors.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_dtype.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_scalarprint.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_scalar_ctors.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_print.cpython-36.pyc,, -numpy/core/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_unicode.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_regression.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_extint128.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_scalarinherit.cpython-36.pyc,, -numpy/core/tests/__pycache__/test_longdouble.cpython-36.pyc,, -numpy/core/__pycache__/arrayprint.cpython-36.pyc,, -numpy/core/__pycache__/shape_base.cpython-36.pyc,, -numpy/core/__pycache__/records.cpython-36.pyc,, -numpy/core/__pycache__/setup.cpython-36.pyc,, -numpy/core/__pycache__/setup_common.cpython-36.pyc,, -numpy/core/__pycache__/machar.cpython-36.pyc,, -numpy/core/__pycache__/cversions.cpython-36.pyc,, -numpy/core/__pycache__/memmap.cpython-36.pyc,, -numpy/core/__pycache__/numeric.cpython-36.pyc,, -numpy/core/__pycache__/info.cpython-36.pyc,, -numpy/core/__pycache__/numerictypes.cpython-36.pyc,, -numpy/core/__pycache__/getlimits.cpython-36.pyc,, -numpy/core/__pycache__/_internal.cpython-36.pyc,, -numpy/core/__pycache__/_methods.cpython-36.pyc,, -numpy/core/__pycache__/defchararray.cpython-36.pyc,, -numpy/core/__pycache__/generate_numpy_api.cpython-36.pyc,, -numpy/core/__pycache__/fromnumeric.cpython-36.pyc,, -numpy/core/__pycache__/einsumfunc.cpython-36.pyc,, -numpy/core/__pycache__/__init__.cpython-36.pyc,, -numpy/core/__pycache__/function_base.cpython-36.pyc,, -numpy/linalg/tests/__pycache__/test_linalg.cpython-36.pyc,, -numpy/linalg/tests/__pycache__/test_build.cpython-36.pyc,, -numpy/linalg/tests/__pycache__/test_deprecations.cpython-36.pyc,, -numpy/linalg/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/linalg/tests/__pycache__/test_regression.cpython-36.pyc,, -numpy/linalg/__pycache__/setup.cpython-36.pyc,, -numpy/linalg/__pycache__/linalg.cpython-36.pyc,, -numpy/linalg/__pycache__/info.cpython-36.pyc,, -numpy/linalg/__pycache__/__init__.cpython-36.pyc,, -numpy/ma/tests/__pycache__/test_mrecords.cpython-36.pyc,, -numpy/ma/tests/__pycache__/test_subclassing.cpython-36.pyc,, -numpy/ma/tests/__pycache__/test_extras.cpython-36.pyc,, -numpy/ma/tests/__pycache__/test_core.cpython-36.pyc,, -numpy/ma/tests/__pycache__/test_old_ma.cpython-36.pyc,, -numpy/ma/tests/__pycache__/test_deprecations.cpython-36.pyc,, -numpy/ma/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/ma/tests/__pycache__/test_regression.cpython-36.pyc,, -numpy/ma/__pycache__/bench.cpython-36.pyc,, -numpy/ma/__pycache__/version.cpython-36.pyc,, -numpy/ma/__pycache__/setup.cpython-36.pyc,, -numpy/ma/__pycache__/testutils.cpython-36.pyc,, -numpy/ma/__pycache__/timer_comparison.cpython-36.pyc,, -numpy/ma/__pycache__/extras.cpython-36.pyc,, -numpy/ma/__pycache__/mrecords.cpython-36.pyc,, -numpy/ma/__pycache__/core.cpython-36.pyc,, -numpy/ma/__pycache__/__init__.cpython-36.pyc,, -numpy/tests/__pycache__/test_warnings.cpython-36.pyc,, -numpy/tests/__pycache__/test_reloading.cpython-36.pyc,, -numpy/tests/__pycache__/test_numpy_version.cpython-36.pyc,, -numpy/tests/__pycache__/test_scripts.cpython-36.pyc,, -numpy/tests/__pycache__/test_ctypeslib.cpython-36.pyc,, -numpy/tests/__pycache__/test_matlib.cpython-36.pyc,, -numpy/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/__pycache__/conftest.cpython-36.pyc,, -numpy/__pycache__/matlib.cpython-36.pyc,, -numpy/__pycache__/version.cpython-36.pyc,, -numpy/__pycache__/setup.cpython-36.pyc,, -numpy/__pycache__/ctypeslib.cpython-36.pyc,, -numpy/__pycache__/add_newdocs.cpython-36.pyc,, -numpy/__pycache__/_distributor_init.cpython-36.pyc,, -numpy/__pycache__/__init__.cpython-36.pyc,, -numpy/__pycache__/_globals.cpython-36.pyc,, -numpy/__pycache__/_import_tools.cpython-36.pyc,, -numpy/__pycache__/dual.cpython-36.pyc,, -numpy/__pycache__/__config__.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/util.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_mixed.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_string.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_return_complex.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_return_character.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_parameter.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_size.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_return_real.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_kind.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_common.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_block_docstring.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_return_logical.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_array_from_pyobj.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_callback.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_return_integer.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_regression.cpython-36.pyc,, -numpy/f2py/tests/__pycache__/test_assumed_shape.cpython-36.pyc,, -numpy/f2py/__pycache__/f2py_testing.cpython-36.pyc,, -numpy/f2py/__pycache__/cfuncs.cpython-36.pyc,, -numpy/f2py/__pycache__/__version__.cpython-36.pyc,, -numpy/f2py/__pycache__/f90mod_rules.cpython-36.pyc,, -numpy/f2py/__pycache__/common_rules.cpython-36.pyc,, -numpy/f2py/__pycache__/setup.cpython-36.pyc,, -numpy/f2py/__pycache__/cb_rules.cpython-36.pyc,, -numpy/f2py/__pycache__/rules.cpython-36.pyc,, -numpy/f2py/__pycache__/crackfortran.cpython-36.pyc,, -numpy/f2py/__pycache__/use_rules.cpython-36.pyc,, -numpy/f2py/__pycache__/info.cpython-36.pyc,, -numpy/f2py/__pycache__/diagnose.cpython-36.pyc,, -numpy/f2py/__pycache__/__main__.cpython-36.pyc,, -numpy/f2py/__pycache__/capi_maps.cpython-36.pyc,, -numpy/f2py/__pycache__/auxfuncs.cpython-36.pyc,, -numpy/f2py/__pycache__/func2subr.cpython-36.pyc,, -numpy/f2py/__pycache__/f2py2e.cpython-36.pyc,, -numpy/f2py/__pycache__/__init__.cpython-36.pyc,, -numpy/testing/nose_tools/__pycache__/parameterized.cpython-36.pyc,, -numpy/testing/nose_tools/__pycache__/noseclasses.cpython-36.pyc,, -numpy/testing/nose_tools/__pycache__/utils.cpython-36.pyc,, -numpy/testing/nose_tools/__pycache__/__init__.cpython-36.pyc,, -numpy/testing/nose_tools/__pycache__/decorators.cpython-36.pyc,, -numpy/testing/nose_tools/__pycache__/nosetester.cpython-36.pyc,, -numpy/testing/tests/__pycache__/test_doctesting.cpython-36.pyc,, -numpy/testing/tests/__pycache__/test_utils.cpython-36.pyc,, -numpy/testing/tests/__pycache__/test_decorators.cpython-36.pyc,, -numpy/testing/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/testing/__pycache__/setup.cpython-36.pyc,, -numpy/testing/__pycache__/noseclasses.cpython-36.pyc,, -numpy/testing/__pycache__/utils.cpython-36.pyc,, -numpy/testing/__pycache__/print_coercion_tables.cpython-36.pyc,, -numpy/testing/__pycache__/__init__.cpython-36.pyc,, -numpy/testing/__pycache__/decorators.cpython-36.pyc,, -numpy/testing/__pycache__/nosetester.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_index_tricks.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_type_check.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_arraysetops.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_io.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_format.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_stride_tricks.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test__datasource.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_utils.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_function_base.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test__iotools.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_nanfunctions.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_recfunctions.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test__version.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_twodim_base.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_packbits.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_arraypad.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_mixins.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_shape_base.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_ufunclike.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_arrayterator.cpython-36.pyc,, -numpy/lib/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_regression.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_financial.cpython-36.pyc,, -numpy/lib/tests/__pycache__/test_polynomial.cpython-36.pyc,, -numpy/lib/__pycache__/shape_base.cpython-36.pyc,, -numpy/lib/__pycache__/arraypad.cpython-36.pyc,, -numpy/lib/__pycache__/_version.cpython-36.pyc,, -numpy/lib/__pycache__/setup.cpython-36.pyc,, -numpy/lib/__pycache__/financial.cpython-36.pyc,, -numpy/lib/__pycache__/arrayterator.cpython-36.pyc,, -numpy/lib/__pycache__/_datasource.cpython-36.pyc,, -numpy/lib/__pycache__/polynomial.cpython-36.pyc,, -numpy/lib/__pycache__/npyio.cpython-36.pyc,, -numpy/lib/__pycache__/scimath.cpython-36.pyc,, -numpy/lib/__pycache__/ufunclike.cpython-36.pyc,, -numpy/lib/__pycache__/mixins.cpython-36.pyc,, -numpy/lib/__pycache__/recfunctions.cpython-36.pyc,, -numpy/lib/__pycache__/info.cpython-36.pyc,, -numpy/lib/__pycache__/arraysetops.cpython-36.pyc,, -numpy/lib/__pycache__/nanfunctions.cpython-36.pyc,, -numpy/lib/__pycache__/stride_tricks.cpython-36.pyc,, -numpy/lib/__pycache__/user_array.cpython-36.pyc,, -numpy/lib/__pycache__/utils.cpython-36.pyc,, -numpy/lib/__pycache__/type_check.cpython-36.pyc,, -numpy/lib/__pycache__/__init__.cpython-36.pyc,, -numpy/lib/__pycache__/twodim_base.cpython-36.pyc,, -numpy/lib/__pycache__/function_base.cpython-36.pyc,, -numpy/lib/__pycache__/index_tricks.cpython-36.pyc,, -numpy/lib/__pycache__/format.cpython-36.pyc,, -numpy/lib/__pycache__/_iotools.cpython-36.pyc,, -numpy/fft/tests/__pycache__/test_fftpack.cpython-36.pyc,, -numpy/fft/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/fft/tests/__pycache__/test_helper.cpython-36.pyc,, -numpy/fft/__pycache__/setup.cpython-36.pyc,, -numpy/fft/__pycache__/helper.cpython-36.pyc,, -numpy/fft/__pycache__/fftpack.cpython-36.pyc,, -numpy/fft/__pycache__/info.cpython-36.pyc,, -numpy/fft/__pycache__/__init__.cpython-36.pyc,, -numpy/doc/__pycache__/glossary.cpython-36.pyc,, -numpy/doc/__pycache__/constants.cpython-36.pyc,, -numpy/doc/__pycache__/ufuncs.cpython-36.pyc,, -numpy/doc/__pycache__/broadcasting.cpython-36.pyc,, -numpy/doc/__pycache__/basics.cpython-36.pyc,, -numpy/doc/__pycache__/creation.cpython-36.pyc,, -numpy/doc/__pycache__/subclassing.cpython-36.pyc,, -numpy/doc/__pycache__/byteswapping.cpython-36.pyc,, -numpy/doc/__pycache__/indexing.cpython-36.pyc,, -numpy/doc/__pycache__/internals.cpython-36.pyc,, -numpy/doc/__pycache__/__init__.cpython-36.pyc,, -numpy/doc/__pycache__/misc.cpython-36.pyc,, -numpy/doc/__pycache__/structured_arrays.cpython-36.pyc,, -numpy/random/tests/__pycache__/test_random.cpython-36.pyc,, -numpy/random/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/random/tests/__pycache__/test_regression.cpython-36.pyc,, -numpy/random/__pycache__/setup.cpython-36.pyc,, -numpy/random/__pycache__/info.cpython-36.pyc,, -numpy/random/__pycache__/__init__.cpython-36.pyc,, -numpy/matrixlib/tests/__pycache__/test_numeric.cpython-36.pyc,, -numpy/matrixlib/tests/__pycache__/test_multiarray.cpython-36.pyc,, -numpy/matrixlib/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/matrixlib/tests/__pycache__/test_regression.cpython-36.pyc,, -numpy/matrixlib/tests/__pycache__/test_defmatrix.cpython-36.pyc,, -numpy/matrixlib/__pycache__/defmatrix.cpython-36.pyc,, -numpy/matrixlib/__pycache__/setup.cpython-36.pyc,, -numpy/matrixlib/__pycache__/__init__.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_hermite_e.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_printing.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_laguerre.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_hermite.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_classes.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_legendre.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_chebyshev.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/__init__.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_polyutils.cpython-36.pyc,, -numpy/polynomial/tests/__pycache__/test_polynomial.cpython-36.pyc,, -numpy/polynomial/__pycache__/chebyshev.cpython-36.pyc,, -numpy/polynomial/__pycache__/legendre.cpython-36.pyc,, -numpy/polynomial/__pycache__/hermite.cpython-36.pyc,, -numpy/polynomial/__pycache__/setup.cpython-36.pyc,, -numpy/polynomial/__pycache__/polyutils.cpython-36.pyc,, -numpy/polynomial/__pycache__/polynomial.cpython-36.pyc,, -numpy/polynomial/__pycache__/_polybase.cpython-36.pyc,, -numpy/polynomial/__pycache__/hermite_e.cpython-36.pyc,, -numpy/polynomial/__pycache__/__init__.cpython-36.pyc,, -numpy/polynomial/__pycache__/laguerre.cpython-36.pyc,, +numpy/__config__.py,sha256=KNB1kK5pX6g-tTxs41ZfrD32q1asv7QolLtKuOQELjE,1519 +numpy/__init__.py,sha256=0GuK-LaEiJRiqvrRckRIORF2gDvUeVsVuTIqTIiheQg,6251 +numpy/_distributor_init.py,sha256=IgPkSK3H9bgjFeUfWuXhjKrgetQl5ztUW-rTyjGHK3c,331 +numpy/_globals.py,sha256=qf1yKIuK_D0imA5KlGE8iIwMg8-cPjDOn09XDTpQ3-k,1859 +numpy/_import_tools.py,sha256=3SF2nj5PVN-dvo90nyR_MKDesG_CkdjsKjnEJz5dVtg,13234 +numpy/add_newdocs.py,sha256=YsVuFJ3tvj9yfNA5owaHPrpL_Me-tfHA9Hf3-dtY2UA,234747 +numpy/conftest.py,sha256=oeEsLztUga9GPjZv6DkotBI_LPyaG0dP1sPxiILtxyg,1557 +numpy/ctypeslib.py,sha256=x1f8LcCdsjyBebwgN6dAiidqZ2yDtOgABTTyKq26eD4,14730 +numpy/dual.py,sha256=YCy6m-ZNQ4dnUdHm7IXtqdJhxu-Od2_IALF9t9IGGvI,1864 +numpy/LICENSE.txt,sha256=LZqeBuw7X8mx5HrtuCzD2Tbxik_IGPTL59XiwxN--20,42197 +numpy/matlib.py,sha256=bfk5RflWhOjnBKhpU4L-WDafyzoNIy5-K-8MMyIauN8,9809 +numpy/setup.py,sha256=lsyhnRXfo0ybq63nVUX8HnYhQ1mI0bSic-mk-lK3wnc,920 +numpy/version.py,sha256=N8joN8hIjl-JnoNgGod1XOrcuPE8Q3GkmPRb2gZ9XJc,294 +numpy/compat/__init__.py,sha256=MHle4gJcrXh1w4SNv0mz5rbUTAjAzHnyO3rtbSW3AUo,498 +numpy/compat/_inspect.py,sha256=e3YHRFlppbfcnSSwlAdlxON5cSW0pEZT6zh7qRlvlkM,7554 +numpy/compat/py3k.py,sha256=ppRKNypmqiWf7uiHBPpa1zPsHRQj-FGjwH1l3VRO3H0,3637 +numpy/compat/setup.py,sha256=XpMi600IpZvzlNAuOaiwxAUZXDEhzEU4HYh1_p2kBCY,371 +numpy/core/__init__.py,sha256=odFytSn-HunBsWr8_QBcoA_RbQaH2fLFDb3gN70K_R8,3044 +numpy/core/_dummy.cpython-36m-darwin.so,sha256=Yr6euqkb2Jh1uaHOZvT-r26pbuANiL6UsRq3nmVZSO4,25264 +numpy/core/_internal.py,sha256=dfk2fEU4fpw0bo1acllt9eN82Mqh0f8hWaNhiVKe5pI,21639 +numpy/core/_methods.py,sha256=84BTKNFGhQO1xiQLHAnbgHFiogU086c8AXJGFQ-hqxc,4704 +numpy/core/arrayprint.py,sha256=nLARQljOwPsUSb_Ar8y8PxQw7XQ4vcjGfs-_7Aff8n8,54746 +numpy/core/cversions.py,sha256=ukYNpkei0Coi7DOcbroXuDoXc6kl5odxmcy_39pszA0,413 +numpy/core/defchararray.py,sha256=cWV-tZK51T9EGNzAjminv-7tjUh_Ccak1tvBnZk-8W8,67369 +numpy/core/einsumfunc.py,sha256=rt-Myg_N27dcgpVVKdkhqLMMklr8OtNAd303MczLfmY,39801 +numpy/core/fromnumeric.py,sha256=k1NoHWD7lliZtgnZOd6ojSBZWQjH3atynpFVR41WJ7c,100637 +numpy/core/function_base.py,sha256=kvzSPr9FxeyXxhR1_1XOMlmDW0Dw4u1KECF3aUEtTGg,12340 +numpy/core/generate_numpy_api.py,sha256=PSNxF101-jn99AzQNLRxu4tXT9SzoUTmOhL1w_-tV_A,7506 +numpy/core/getlimits.py,sha256=bD7KdPDYEwVyBn7MuybKjBFTxWuFWFu5A-bsTjLx9zE,18422 +numpy/core/info.py,sha256=SjDs9EfOswEy-ABgUr9f09v83sUdhmwFXRlaZbOGCnA,4692 +numpy/core/machar.py,sha256=I083PVybsu10wDgHzs7vxpvd1KigQuoSqCqSRBKn84A,10789 +numpy/core/memmap.py,sha256=GTz2LUpjGeHk5D4PNcsTT7GJK-fNzzX2outwZ7yb78Q,11432 +numpy/core/multiarray.cpython-36m-darwin.so,sha256=zVxKm3-ARIpmmB8A_wRHVXPfolmi6yfIi9cJAe-NawA,4633048 +numpy/core/multiarray_tests.cpython-36m-darwin.so,sha256=AewE56ndAKIrCiHdXlwHyQljeLFOJNNx3gj6S2i2ATs,222604 +numpy/core/numeric.py,sha256=lGlzGIWQeeJFbZWuSWVwcK5KHOMrEX-TsERZt3cJq1A,85731 +numpy/core/numerictypes.py,sha256=hyWsBr_u8zEkwOoZGyqxl4Hw8r6pLRWJulfNbSDk_fo,29102 +numpy/core/operand_flag_tests.cpython-36m-darwin.so,sha256=aONV3cB0lZjTjXuLCEdG_zKSKlHn-ftyfZI1dkUlWLI,26768 +numpy/core/records.py,sha256=0Gw_S2n2kt9PUQB80Hw1p-TBVo5NsIKCUHsBJJqQUtc,29609 +numpy/core/setup.py,sha256=-BWphQJ41KoTzf4rrg_VpuHNzf5Zz3svG11r90VTfas,41477 +numpy/core/setup_common.py,sha256=ANouzwSb8f8SLYIvhomoY_ct_xPUB85qo-j02OwYuOc,15953 +numpy/core/shape_base.py,sha256=e9au6U6FRQgcbBCqKC2yzbIiruqH0EUuob1LhyVJQIA,18548 +numpy/core/struct_ufunc_test.cpython-36m-darwin.so,sha256=wRHi5yd7SmNcgeluSTTAjEK07It88ctJB7Xuow8GcnA,26844 +numpy/core/test_rational.cpython-36m-darwin.so,sha256=z-5v5c_-av2LZ3bbpFLIamAEjUnW-shd_r3ppdlPY3w,125328 +numpy/core/umath.cpython-36m-darwin.so,sha256=6vnHqJ-0pAIySnzAaNejiXdGigZgYhm5XM8TXlO_5C4,2348376 +numpy/core/umath_tests.cpython-36m-darwin.so,sha256=nQYkoDVTuC_PPwklxKiNfWmpsawCDEpgH0EL5KqUsT4,54108 +numpy/core/include/numpy/__multiarray_api.h,sha256=yepclh-ePKzaERkl10dDfs_HaR6vhu6n7-sI_zZWyjw,61035 +numpy/core/include/numpy/__ufunc_api.h,sha256=z3FkGMT6z9c6j0ODa2A4QY-54qmIyLy-O7LjoSgluq0,11657 +numpy/core/include/numpy/_neighborhood_iterator_imp.h,sha256=hNiUJ3gmJRxdjByk5R5jmLeBKpNfaP_29KLHFuTrSIA,1861 +numpy/core/include/numpy/_numpyconfig.h,sha256=Hm9f4N4IO7JFjrGKbrAaBeSLRKGseOIQ99z_gvYF2j8,982 +numpy/core/include/numpy/arrayobject.h,sha256=SXj-2avTHV8mNWvv7sOYHLKkRKcafDG7_HNpQNot1GE,164 +numpy/core/include/numpy/arrayscalars.h,sha256=vC7QCznlT8vkyvxbIh4QNwi1LR7UkP7GJ1j_0ZiJa1E,3509 +numpy/core/include/numpy/halffloat.h,sha256=ohvyl3Kz3mB1hW3MRzxwPDH-0L9WWM_eKhvYLjtT_2w,1878 +numpy/core/include/numpy/multiarray_api.txt,sha256=pSPa8_5viPnySHv8QTQpNOM3Bx4_dDirI_WmdGYd5hk,55812 +numpy/core/include/numpy/ndarrayobject.h,sha256=DzoNq38b7T78jcML3cEQ-Xf3l15goFWMag0C6vgj9KU,10891 +numpy/core/include/numpy/ndarraytypes.h,sha256=Adea0CadJ5obrdnPodrY1B_TqjyC3wdsxqvX0D6yiGw,64303 +numpy/core/include/numpy/noprefix.h,sha256=YE-lWegAdZKI5lf44AW5jiWbnmO6hircWzj_WMFrLT4,6786 +numpy/core/include/numpy/npy_1_7_deprecated_api.h,sha256=NxVeVL9P08clRuJlLQJIfH9QrgVtkqtndelZESo23NY,4604 +numpy/core/include/numpy/npy_3kcompat.h,sha256=0cNvBxix_U8mqFgqGjC-Ht08WUT3oy32ugKXPNJM3AM,12181 +numpy/core/include/numpy/npy_common.h,sha256=i-I_roGPEsePJCUNk6PSBp3Aa4Kd6wTxyZfgnU-RnxM,37647 +numpy/core/include/numpy/npy_cpu.h,sha256=s8TmXL352YGFC--KCSp-_4iQxXFU58Y5XsDfEFHInH8,2988 +numpy/core/include/numpy/npy_endian.h,sha256=t_w5L4fDg3rmaHa3ZmhcZ-1dkTYV-FKdNCR8NBY_MUs,2288 +numpy/core/include/numpy/npy_interrupt.h,sha256=wMRh41xeFmGEOkwxJpeLp9U-9mCbUv7VeAdAu28p9Kw,3439 +numpy/core/include/numpy/npy_math.h,sha256=o1g_kScKQi6Z_a51-iosiQKSBfG0OqsvsD7sE13Z0Ms,18520 +numpy/core/include/numpy/npy_no_deprecated_api.h,sha256=X-wRYdpuwIuerTnBblKjR7Dqsv8rqxn01RFLVWUHvi8,567 +numpy/core/include/numpy/npy_os.h,sha256=cEvEvpD92EeFjsjRelw1dXJaHYL-0yPJDuz3VeSJs4E,817 +numpy/core/include/numpy/numpyconfig.h,sha256=rBffDZbJysfclc1p9K9DulOKMDMrrU_FRfsx0THGV78,1167 +numpy/core/include/numpy/old_defines.h,sha256=7eiZoi7JrdVT9LXKCoeta5AoIncGa98GcVlWqDrLjwk,6306 +numpy/core/include/numpy/oldnumeric.h,sha256=Yo-LiSzVfDK2YyhlH41ff4gS0m-lv8XjI4JcAzpdy94,708 +numpy/core/include/numpy/ufunc_api.txt,sha256=RZO1PJ1AqVk61bQH1lfqYNzM6CF4dqM_06WVLJ8Qbek,6134 +numpy/core/include/numpy/ufuncobject.h,sha256=9osdJ72Vfkb9UJzs52ssKf0Wmgs_vzMch4NBuEyc12U,12524 +numpy/core/include/numpy/utils.h,sha256=0RTrU1-0V98LJnba5hTGSUoRnxo4HwM9cm2zbxC8B6E,628 +numpy/core/lib/libnpymath.a,sha256=C2Xz9A7N-3wFDyoQh4BdQfWbe7Ygte65Ca3A0_b8DnM,231440 +numpy/core/lib/npy-pkg-config/mlib.ini,sha256=puARujEiRP-jFD3s9Jwpe6E1fgT9T3YIny-pWJRDYNE,139 +numpy/core/lib/npy-pkg-config/npymath.ini,sha256=kamUNrYKAmXqQa8BcNv7D5sLqHh6bnChM0_5rZCsTfY,360 +numpy/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/core/tests/test_abc.py,sha256=uWVQeG8pu3Eak8dHmK5GoeFGiIKBl76aAH-H74p4viw,2472 +numpy/core/tests/test_api.py,sha256=31FydyeHAiv73IcvWpRDX-AkqqYXMpCT5jEev6a6FfQ,18906 +numpy/core/tests/test_arrayprint.py,sha256=07RKEerhMbQt4dxcYGRYKIO7hQLh5e7TKke9pIZVndY,27957 +numpy/core/tests/test_datetime.py,sha256=qN740FxwSsIjmx9ZJBOi7_Z_8uNfNgePr9nQN13k51Y,93390 +numpy/core/tests/test_defchararray.py,sha256=lGJ_u02CgPbEOnRvestVxOJWzylQynImvMRp5f6aNpo,25693 +numpy/core/tests/test_deprecations.py,sha256=ElzfuBRZCYyLXObr2bAXKX3OCvaQAk6kW1kwzZ3TO0Q,19598 +numpy/core/tests/test_dtype.py,sha256=i60gacyb_slOdsIMoXyYnpRC48qWJAKnZ2LpuFHXpLk,28965 +numpy/core/tests/test_einsum.py,sha256=nBMQTSTy7Yj42mum-U8AnrIzf6-LDpP2eZG55-ba3k8,39521 +numpy/core/tests/test_errstate.py,sha256=xGJRBGIbiTvriGlwv3T0iQIZwwcEPZrpYSp6ac5HycU,1576 +numpy/core/tests/test_extint128.py,sha256=u_5xQOmBzUFPFaztHzXxl5U4Ox4ToG-rRIZp9lO0jqQ,5784 +numpy/core/tests/test_function_base.py,sha256=wjsCGDRdrCcsZF-gsqr7XDEf0OBD3PV-MJr6p52B-mA,11413 +numpy/core/tests/test_getlimits.py,sha256=mhxn555VivUhj8tMpoNVbnQmS4hN5j67MeeuGHgoQ2c,4586 +numpy/core/tests/test_half.py,sha256=prMe4YaH8Ik00mv8A7mSJcDUzdjOPqtxvbHmAK8wvP0,18627 +numpy/core/tests/test_indexerrors.py,sha256=MZ9PlkCfGlwxxO7CoA1kqAU_I3W9wDEmiwshji5mkpA,4926 +numpy/core/tests/test_indexing.py,sha256=rGOF3VobxsrjTd4vnDv8HuYfQhKIR8QSxyKadPGpRNI,50084 +numpy/core/tests/test_item_selection.py,sha256=Gdjd3jHB7NQVO1jU-y81YkGTGz1J6rNtSduaTFLXTfg,3669 +numpy/core/tests/test_longdouble.py,sha256=kQruH03nz6XlFjNGHMIGjnsVYM57nui9KH6bN-FKXb8,5960 +numpy/core/tests/test_machar.py,sha256=QmnKVIV53faHjIBHUsYQ7KjX-SRmrE0lLFuipNLx7Jw,1235 +numpy/core/tests/test_mem_overlap.py,sha256=4mHDxV16229uyI1t0drROq_XwwqD17-VrJDN5pChAy8,29564 +numpy/core/tests/test_memmap.py,sha256=5RM3mT_-vGjtoYYatgseRjqDs0jhoxalplGDDXNeEmc,7031 +numpy/core/tests/test_multiarray.py,sha256=hY1G1e71SuXUACnKIUBKchU2VR0I6gvjTbZu4YhH44s,272174 +numpy/core/tests/test_nditer.py,sha256=gl6UBW2k9YTZ-UwWJnbMBP31wovmzS8_hVrNEqXqQqY,106132 +numpy/core/tests/test_numeric.py,sha256=YD1IIWn4PxKAoRgWPJkv_-P-L-1mVubSwgxhx0MLzAc,102126 +numpy/core/tests/test_numerictypes.py,sha256=WqBR5OzIA0C--i-sVeiO1ayUvF-gQUBhZxDtQY0VGN8,15412 +numpy/core/tests/test_print.py,sha256=zpPMWJLXgzVJ7uPR7PlZWe28nr_MyymSO5cXPgzK1ro,8089 +numpy/core/tests/test_records.py,sha256=JaqAyHLMO1c5vMT7hG_Q82NB-lU7hbQ5SkKDLThmaN4,15346 +numpy/core/tests/test_regression.py,sha256=Lfuhv6CvzL5uPWJ_o9Q3DT2I8g8xNOTpz7SYjADthO4,79720 +numpy/core/tests/test_scalar_ctors.py,sha256=vbEucXNOW8AQWwISsGAwUgNKuUKDmGzZp2-rbeDj6_M,2362 +numpy/core/tests/test_scalarinherit.py,sha256=rs8sDrtinrYxOe9uQQ_u5t_zTb3jPc75cAUzdjbGW8c,1867 +numpy/core/tests/test_scalarmath.py,sha256=6bTYxUaNSdeBXvv36HBEvyAMfTbxFVCgCvc5B8alQcU,26626 +numpy/core/tests/test_scalarprint.py,sha256=kmR5OkfHx4-pLVSfYXVAM0OPP-paTzKWguIe9b6GQ9c,10734 +numpy/core/tests/test_shape_base.py,sha256=nJ79bbZtvT6MDxjlHhBzr2yKvWwLbJh18RcvUoZk6_g,20299 +numpy/core/tests/test_ufunc.py,sha256=UFhzMdHyOkcTnmBQqi1P0_9fCrkYqkPHzGCpVyHb_5g,55288 +numpy/core/tests/test_umath.py,sha256=NdltEL3YSOuVoJQ8GWVqCuqIJYzdG0K39C9h8ZxGPF0,99032 +numpy/core/tests/test_umath_complex.py,sha256=i_RpeNLgtGakbxHH6VHBi-VlPFqzjLExEKIpPMSLajQ,19656 +numpy/core/tests/test_unicode.py,sha256=kgAgXK1bK7eoPR5jb-hcsVmMEUpVZNkcp814fOGQwvc,13733 +numpy/core/tests/data/astype_copy.pkl,sha256=lWSzCcvzRB_wpuRGj92spGIw-rNPFcd9hwJaRVvfWdk,716 +numpy/core/tests/data/recarray_from_file.fits,sha256=NA0kliz31FlLnYxv3ppzeruONqNYkuEvts5wzXEeIc4,8640 +numpy/distutils/__config__.py,sha256=KNB1kK5pX6g-tTxs41ZfrD32q1asv7QolLtKuOQELjE,1519 +numpy/distutils/__init__.py,sha256=AEelgCxrNenX-csNhVCrMNIBHGB895HovZJejj_qwVY,1088 +numpy/distutils/__version__.py,sha256=SSRZKvGfvg_GpYbXWtI5gaTK0NGW9nBBCyNghaaXBh8,151 +numpy/distutils/ccompiler.py,sha256=ZQ9GILkgK3c-jipD572npLpSdTXOsd_h1ieNrzqxlU4,28547 +numpy/distutils/compat.py,sha256=xzkW8JgJgGTmye34QCYTIkLfsXBvmPu4tvgCwXNdiU0,218 +numpy/distutils/conv_template.py,sha256=nBPvD1z_mWZg0j9rAyRITxk7bfOfUVJ3yJ34dCiWIwI,9709 +numpy/distutils/core.py,sha256=4r-OVRLoRKp4KzgTjb_Ov7qXDw1NO89x5ShjUoDw34c,8183 +numpy/distutils/cpuinfo.py,sha256=AHJuQeg78_P5EReO1kLd-MAohvB-GfV8zuRh7F8hltI,23015 +numpy/distutils/environment.py,sha256=XBqttd7d6sBr_-XA2nLG7gaRnLS4b_wKd0GoLLG1VQ8,2346 +numpy/distutils/exec_command.py,sha256=G3X8i0rWikxyCe0mwlmiEdmG6_J0OwtbY5-fanqKN8U,8663 +numpy/distutils/extension.py,sha256=q_NjgW-sOoeEBbeSEJwFh411mTgsF7BzGYso61Wf0qg,2967 +numpy/distutils/from_template.py,sha256=U-XEiWrYDXbZUEa8NKykjJpZolzPlBLP8F-kSVhlRb8,7830 +numpy/distutils/info.py,sha256=lNxUhbJnzWjA47P2I_9NW-tuVrjGzL62jHDlQJ3pp6E,157 +numpy/distutils/intelccompiler.py,sha256=1qzr6PMxi0UkR0NUY3rt3gqww9GwJ-Gbe91yxQKlieU,4291 +numpy/distutils/lib2def.py,sha256=i4qqVsMLKHcQIrPXlVhKUQtCAVLw0ePlk08CfOgGLgs,3512 +numpy/distutils/line_endings.py,sha256=aBO2e754iin4Ylo7FNwlBg6nPudXMnQZYdhVhf-E3aA,2053 +numpy/distutils/log.py,sha256=yHzdtNdTg6YtvO50Hu-Le5WJ7Typ2TvaCYabelTaUO0,2745 +numpy/distutils/mingw32ccompiler.py,sha256=VSgUBrHQ0jGARQOmIHR2i2xuy9Qba8Y1A9DQzJRJiMo,25201 +numpy/distutils/misc_util.py,sha256=j0MbOeJgUf1rojMKNVwuq7Z4bPZaBQ8xO0Frqkujork,82201 +numpy/distutils/msvc9compiler.py,sha256=TuPYjPFp3nYQSIG1goNxuOly7o3VMx-H35POMpycB3k,2258 +numpy/distutils/msvccompiler.py,sha256=BTj0LPytcNNxcYJ5AUtQUQiD8ZhYNrzCCGkNxSnwdQI,1991 +numpy/distutils/npy_pkg_config.py,sha256=TOlCf_L1pSQyvsFl60dinf1Fnly4Hg5U9u4krTtCsMk,13243 +numpy/distutils/numpy_distribution.py,sha256=lbnEW1OxWxC_1n2sKd0Q3fC5QnNdFuAkNAlvXF99zIQ,700 +numpy/distutils/pathccompiler.py,sha256=FjNouOTL8u4gLMbJW7GdT0RlsD2nXV1_SEBNZj9QdpQ,779 +numpy/distutils/setup.py,sha256=q3DcCZNkK_jHsC0imocewd4uCKQWWXjkzd4nkBmkMFI,611 +numpy/distutils/system_info.py,sha256=J8IpdAc3goPXByTXxCLsFPUbIGLsUihqCyuEqr31BdY,89501 +numpy/distutils/unixccompiler.py,sha256=nut8kzEi9BQpXcy5qNcy0w0d6BQ5o6ghJx2f0D4DH-w,5156 +numpy/distutils/command/__init__.py,sha256=l5r9aYwIEq1D-JJc8WFUxABk6Ip28FpRK_ok7wSLRZE,1098 +numpy/distutils/command/autodist.py,sha256=1oytviCdsUjm3YxLLVePvWEqxyz0eDRRqvfokDm2sXQ,2048 +numpy/distutils/command/bdist_rpm.py,sha256=rhhIyFzkd5NGi6lZaft44EBPZB3zZFRDc75klJYnbw8,775 +numpy/distutils/command/build.py,sha256=6Q9bDubq5WfwR1K5woDFXed692szD0Rq-5Ckv2xpoK4,1618 +numpy/distutils/command/build_clib.py,sha256=_Y3upI_slekgMk2CI2vplOXj5p1_aEHa-F9_nJ0HOgg,13389 +numpy/distutils/command/build_ext.py,sha256=2oQs0Pv-k3wtr7iEKZxRxK1x2sB3egTGxIvsXhCutqY,25264 +numpy/distutils/command/build_py.py,sha256=7TBGLz0va0PW6sEX-aUjsXdzvhuSbJGgIrMim1JTwu4,1210 +numpy/distutils/command/build_scripts.py,sha256=ze19jHBhC3JggKLbL9wgs9I3mG7ls-V2NbykvleNwgQ,1731 +numpy/distutils/command/build_src.py,sha256=PFSMXRvahsP7oDK1sZXvb-tC2gCv6wupeuXJkrp6xzw,30946 +numpy/distutils/command/config.py,sha256=PhU3G1GEShA2nUJM6jzVxZpqSxG8faRJiOwXw7zZuwc,18010 +numpy/distutils/command/config_compiler.py,sha256=enSybR68NCFnY7wKHTeU4sCmc0zGenL0oZ_8F7Cn-H0,4379 +numpy/distutils/command/develop.py,sha256=nYM5yjhKtGKh_3wZwrvEQBLYHKldz64aU-0iSycSkXA,641 +numpy/distutils/command/egg_info.py,sha256=pdiCFQiQuIpf_xmVk9Njl7iowY9CxGn9KRbU-A9eBfg,987 +numpy/distutils/command/install.py,sha256=yBj3NM6sctAbG3QR5Y4qPs7YjxpW7EoKeMPEkNWf2qU,3127 +numpy/distutils/command/install_clib.py,sha256=6tUO3FbF_b_e_Ly31qod9rB4yHA2z8m2mh6qry1a4yk,1315 +numpy/distutils/command/install_data.py,sha256=7iWTw93ty2sBPwHwg_EEhgQhZSZe6SsKdfTS9RbUR9A,914 +numpy/distutils/command/install_headers.py,sha256=NbZwt-Joo80z_1TfxA-mIWXm2L9Mmh4ZLht7HAuveoo,985 +numpy/distutils/command/sdist.py,sha256=tHmlb0RzD8x04dswPXEua9H_b6GuHWY1V3hYkwJDKvA,799 +numpy/distutils/fcompiler/__init__.py,sha256=FHfaXHp4Ga31vxbFs7LxIkUy0dxwZnnm-My5Z1ncCos,39347 +numpy/distutils/fcompiler/absoft.py,sha256=JCcA8aa-D86JVZKe5ERnL3BGpB2nm2cphkhwhqilQog,5567 +numpy/distutils/fcompiler/compaq.py,sha256=djulalEdV6b58ofcEw14Uoq5-aNgblJMqLIzNwmJ2SE,4109 +numpy/distutils/fcompiler/g95.py,sha256=K68RRAvOvyKoh-jsD9J4ZDsHltrGnJ_AllxULhy6iOE,1396 +numpy/distutils/fcompiler/gnu.py,sha256=WX5n9rIa0LEDKDBBE6DeYm2eZw5skcdxo5b0gaMXe-w,19763 +numpy/distutils/fcompiler/hpux.py,sha256=xpNfy7vCKWPnJ5M3JPnjMAewKBAfKN5hFX3hvEL2zaM,1419 +numpy/distutils/fcompiler/ibm.py,sha256=hkOqy4vPXozEm8Ln4ucWpTfdLlBPOF_bLROOJZvXdKU,3435 +numpy/distutils/fcompiler/intel.py,sha256=to4dvvaWYUOKesTnaFP3kw1kwekY_nPEOO7OIqrmSgE,6773 +numpy/distutils/fcompiler/lahey.py,sha256=pJ0-xgtYwyYXgt8JlN8PFeYYEWB3vOmFkNx6UUFXzuM,1393 +numpy/distutils/fcompiler/mips.py,sha256=IxLojWR1oi0VW93PxPpHQXRwZcYffD1dunllQW2w19A,1780 +numpy/distutils/fcompiler/nag.py,sha256=eiTvBopdCgVh5-HDTryVbRrYvf4r_Sqse1mruTt5Blo,2608 +numpy/distutils/fcompiler/none.py,sha256=N6adoFAf8inIQfCDEBzK5cGI3hLIWWpHmQXux8iJDfA,824 +numpy/distutils/fcompiler/pathf95.py,sha256=Xf1JMB30PDSoNpA1Y-vKPRBeNO0XfSi0dvVQvvdjfUQ,1127 +numpy/distutils/fcompiler/pg.py,sha256=Ix3xah0mbBdx7IqJ3ic7YlzL5HtiBYKtN5PBMd6SDDE,4213 +numpy/distutils/fcompiler/sun.py,sha256=HRyTh2aoHKuL7Lnb96_a1kXkNFaSv7mNFgzUnYYuzYQ,1645 +numpy/distutils/fcompiler/vast.py,sha256=LJ21-WIJsiquLtjdDaNsJqblwN5wuM2FZsYl1R40vN8,1733 +numpy/distutils/mingw/gfortran_vs2003_hack.c,sha256=F3PYZ7LTP_Q1svGVX8N7oRYWpd15LqaiyBoQk5SkQiA,74 +numpy/distutils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/distutils/tests/test_exec_command.py,sha256=eL_MDj2PFcUb45viH2CZQhnhJhC3iotC2fB681ywBp0,7216 +numpy/distutils/tests/test_fcompiler_gnu.py,sha256=D0F-UPIQi8XpFg8iiqFG7ZpCD0YEsYc_tuGRdjG18pU,2288 +numpy/distutils/tests/test_fcompiler_intel.py,sha256=9RZqwxN4PrdGOI-4Z4AYMHMlGEfAUQI3Epq-Sk3TKeM,1210 +numpy/distutils/tests/test_fcompiler_nagfor.py,sha256=IhprctRe_6_5-oprg0mSCa0oD-nlYDSVdz5sXhHH8BA,1247 +numpy/distutils/tests/test_misc_util.py,sha256=4I_8nme1cH-34OJbc9Ja-snSwZ0Zh28JmxY8CkyECvY,3308 +numpy/distutils/tests/test_npy_pkg_config.py,sha256=vfWrY-F5ov7Jv_7mYgXvmwgbd_9qIKZUGHQ-mzbsLio,2709 +numpy/distutils/tests/test_system_info.py,sha256=NROPLl2fFOVdg791f7eWza6q0cuKRiQdWg5pt4JWZJc,7485 +numpy/doc/__init__.py,sha256=BDpxTM0iw2F4thjBkYqjIXX57F5KfIaH8xMd67N6Jh0,574 +numpy/doc/basics.py,sha256=CV0B_8jUvTIR4oCIKnoAxQtrX0rkMHKizO8_5WNZVQ8,7918 +numpy/doc/broadcasting.py,sha256=pUtsDrdRgi7usB8pv37Vx-EZMPk7fpcDDjCCpK9pCWc,5565 +numpy/doc/byteswapping.py,sha256=vbQ7Zy3R0fVPX4zpJB-TzcV4g1nffzok4kDqD9x_Guk,5346 +numpy/doc/constants.py,sha256=Jc0iAiU7KhzmyQ683LwKIaDpmoZyttmePYDvdz4d7EM,8882 +numpy/doc/creation.py,sha256=_ztD3TE-I2sUj3u9v9iQQ2XLKE_u00kzrQeFLLPclQA,5501 +numpy/doc/glossary.py,sha256=cUJhYpuduXVsNwK7IUcgUfx-EbF3rWWGiGhpjmpzc5o,12371 +numpy/doc/indexing.py,sha256=DtFUsUXpNoxCHpNSPfQ_hwI1FCleStL5fdnzP_Z9hLQ,15669 +numpy/doc/internals.py,sha256=xYp6lv4yyV0ZIo_qCvLCAWxDa0rhu7FNrTmpXY1isO4,9669 +numpy/doc/misc.py,sha256=g-tgHRpjmlCrHC-VPdlx_ZAX3ATvkre0oY-TiIc6Izw,6194 +numpy/doc/structured_arrays.py,sha256=ZPXD7-Svyq7Ur6FrkQ_oD-KyrnPZU2ZMxNHC1K_w-mc,22918 +numpy/doc/subclassing.py,sha256=NOBCa__cX2n_9A0ShdDWBAxVrovruYaouK9uAKbvidk,28560 +numpy/doc/ufuncs.py,sha256=vsAkCLEMh7Qa_3x4WbDMY3IQsDCLdOCuB_6P2aEcVLg,5427 +numpy/f2py/__init__.py,sha256=uCYsZBr66CpP0Ek0_PysG2jc1xJCqtzy0j8Ge-5QpUw,2027 +numpy/f2py/__main__.py,sha256=MLrjKb74kCDL3GuZ28623zgDH5iBXRUH4eEHOK_NN0Y,739 +numpy/f2py/__version__.py,sha256=rEHB9hlWmpryhNa0EmMnlAlDCGI4GXILC9CZUEV3Wew,254 +numpy/f2py/auxfuncs.py,sha256=mDvaBo3Y8tYpXLZfq8DCv6UZ3-2JqWc_iNBZRxGesb0,21826 +numpy/f2py/capi_maps.py,sha256=ObU9I3tM5ksYnn_JurrUEqyCM03yXrwJ81aD-8OuO0Y,31539 +numpy/f2py/cb_rules.py,sha256=su1u0Ckj3w0A19l6Ykgy4MfHQjF8EhZFXZ9YoW1xSLE,22356 +numpy/f2py/cfuncs.py,sha256=Tt4r-psLgzrUIb_B6KK-S1SySSH6Qt0WODCJHgnc-yQ,45113 +numpy/f2py/common_rules.py,sha256=qLhn27JDPFqhl-rATOkXX_L5GEq6-6N_7ERP3ued0Po,5030 +numpy/f2py/crackfortran.py,sha256=_wSk5fU_AKbXxROajBLnyEMidUAjHIFNhdy5V7g6Lpw,128404 +numpy/f2py/diagnose.py,sha256=VNuNTGnQaXn9Fn2jlueYt47634CvLQSaAWJWy_Nxwnw,5295 +numpy/f2py/f2py2e.py,sha256=N3JCJy-_96vqHQmoWcY3EvHIlhNWd_Ch9tgpT2laACA,22908 +numpy/f2py/f2py_testing.py,sha256=8rkBjUsNhBavpoBgi_bqDS8H8tBdd5BR8hrE6ENsIAo,1523 +numpy/f2py/f90mod_rules.py,sha256=YFK4MPkGHBxshAInbcapnumX3qlu0h6ya6GQpS8zWLk,9850 +numpy/f2py/func2subr.py,sha256=Oy12rqUa1vcXvzR6g8yx8jSYDwfKt5Jqiebf1QaWX1o,9224 +numpy/f2py/info.py,sha256=Mk1-neqpqYQ6njoVUCKHmMkyFkAqYeWH4cGZr8NfKiI,136 +numpy/f2py/rules.py,sha256=DDX0Vv1ALXnYAexMBjvlFniqt-vnzBB908T6kEARXTw,58525 +numpy/f2py/setup.py,sha256=zNM8_TSn1IK88xsJlat-itELgQzmV6i_yC_TyLzUTZI,3925 +numpy/f2py/use_rules.py,sha256=L6nTSJnxougQ2PVAzR7s-1spidcfDp9tzLIFAJe3gUI,3652 +numpy/f2py/src/fortranobject.c,sha256=TudGxLhRglhZEiySF_NC9KEPWAhCpNfUd7ymbfEsEIw,35813 +numpy/f2py/src/fortranobject.h,sha256=TbUsTEKqs4MM4bLxXCG7stY5r8x6zl0s6s_xRVzhgYc,4931 +numpy/f2py/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/f2py/tests/test_array_from_pyobj.py,sha256=jFY96nTVlk8e6kB38ijsIxBveAfBiK5JFIl6KYHRxXU,22111 +numpy/f2py/tests/test_assumed_shape.py,sha256=rhwzCgHihXONSMCdPh6UJjW65sx9nsKJyB9qEsoQUuA,1001 +numpy/f2py/tests/test_block_docstring.py,sha256=CDIq4TZ7OSn6-sLZk1bDVfG3UZMg4F763c7S063ZMro,623 +numpy/f2py/tests/test_callback.py,sha256=znNm7999PKsarlcLI4E1v6A9WXa1uF6H1fAZZ6wzu4k,4014 +numpy/f2py/tests/test_common.py,sha256=YAywQPUAXGCzHhJp6BwX-pdB-xjEOjJSfe99vdnnTXA,900 +numpy/f2py/tests/test_kind.py,sha256=nJtZKnB3JPEUW0C1WiZhFuuM_D-A6BY-0Rs_rDb_6j0,1126 +numpy/f2py/tests/test_mixed.py,sha256=WBaXSr0KbxLcIAYxTGmhKy8GI9jYvGhqDODvpVcjrPM,975 +numpy/f2py/tests/test_parameter.py,sha256=4xrIfF1gxWtSxXkMR8n4mD_-K_vxeGeSo4ST_LbR7yA,3977 +numpy/f2py/tests/test_regression.py,sha256=osrlIzj2-mrhxg2R3atBt3mBwDH_5_UtKfx8_IvL3nA,829 +numpy/f2py/tests/test_return_character.py,sha256=hh2QHvq1NozQLr2qvhnRPQ22WIo4M8H6UYvi0HYrViA,3869 +numpy/f2py/tests/test_return_complex.py,sha256=I1vkLbSsBxx5-0KAvZa6GDxuK9G3ozZEJp-hAJn1ir8,4784 +numpy/f2py/tests/test_return_integer.py,sha256=EXG73yTSQzztSLz0YtC6kdA1E5nxGngH0yNpdIlRJzU,4696 +numpy/f2py/tests/test_return_logical.py,sha256=ZUPQXuDON9vYopK35H4Z5b7mlr5U7TQ9DezjPlBQOSI,4950 +numpy/f2py/tests/test_return_real.py,sha256=RUYgQ_2dqp0wDhSOBJuoEkq3K8d2MGLnIq_A-ztfbPI,5410 +numpy/f2py/tests/test_size.py,sha256=xmhIHCd9o4oCoVPjf7UgzZ5xE0dNiH1OKKvg05bRNYs,1388 +numpy/f2py/tests/test_string.py,sha256=ZCQCbbemJkG0BlUGPwfHqwI35ZGiS3hJXJ-iJPkOR7k,728 +numpy/f2py/tests/util.py,sha256=ZHJqbYloVpUet0FhgJRNRZ-2oH3bMqBuDISaleosHh8,9454 +numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c,sha256=eeOSoN7luwRZ9Z8NMc8XGEs-vLu4qbdyyxdJPui98oE,8801 +numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap,sha256=But9r9m4iL7EGq_haMW8IiQ4VivH0TgUozxX4pPvdpE,29 +numpy/f2py/tests/src/assumed_shape/foo_free.f90,sha256=oBwbGSlbr9MkFyhVO2aldjc01dr9GHrMrSiRQek8U64,460 +numpy/f2py/tests/src/assumed_shape/foo_mod.f90,sha256=rfzw3QdI-eaDSl-hslCgGpd5tHftJOVhXvb21Y9Gf6M,499 +numpy/f2py/tests/src/assumed_shape/foo_use.f90,sha256=rmT9k4jP9Ru1PLcGqepw9Jc6P9XNXM0axY7o4hi9lUw,269 +numpy/f2py/tests/src/assumed_shape/precision.f90,sha256=r08JeTVmTTExA-hYZ6HzaxVwBn1GMbPAuuwBhBDtJUk,130 +numpy/f2py/tests/src/common/block.f,sha256=GQ0Pd-VMX3H3a-__f2SuosSdwNXHpBqoGnQDjf8aG9g,224 +numpy/f2py/tests/src/kind/foo.f90,sha256=zIHpw1KdkWbTzbXb73hPbCg4N2Htj3XL8DIwM7seXpo,347 +numpy/f2py/tests/src/mixed/foo.f,sha256=90zmbSHloY1XQYcPb8B5d9bv9mCZx8Z8AMTtgDwJDz8,85 +numpy/f2py/tests/src/mixed/foo_fixed.f90,sha256=pxKuPzxF3Kn5khyFq9ayCsQiolxB3SaNtcWaK5j6Rv4,179 +numpy/f2py/tests/src/mixed/foo_free.f90,sha256=fIQ71wrBc00JUAVUj_r3QF9SdeNniBiMw6Ly7CGgPWU,139 +numpy/f2py/tests/src/parameter/constant_both.f90,sha256=-bBf2eqHb-uFxgo6Q7iAtVUUQzrGFqzhHDNaxwSICfQ,1939 +numpy/f2py/tests/src/parameter/constant_compound.f90,sha256=re7pfzcuaquiOia53UT7qNNrTYu2euGKOF4IhoLmT6g,469 +numpy/f2py/tests/src/parameter/constant_integer.f90,sha256=nEmMLitKoSAG7gBBEQLWumogN-KS3DBZOAZJWcSDnFw,612 +numpy/f2py/tests/src/parameter/constant_non_compound.f90,sha256=IcxESVLKJUZ1k9uYKoSb8Hfm9-O_4rVnlkiUU2diy8Q,609 +numpy/f2py/tests/src/parameter/constant_real.f90,sha256=quNbDsM1Ts2rN4WtPO67S9Xi_8l2cXabWRO00CPQSSQ,610 +numpy/f2py/tests/src/regression/inout.f90,sha256=CpHpgMrf0bqA1W3Ozo3vInDz0RP904S7LkpdAH6ODck,277 +numpy/f2py/tests/src/size/foo.f90,sha256=IlFAQazwBRr3zyT7v36-tV0-fXtB1d7WFp6S1JVMstg,815 +numpy/f2py/tests/src/string/char.f90,sha256=ihr_BH9lY7eXcQpHHDQhFoKcbu7VMOX5QP2Tlr7xlaM,618 +numpy/fft/__init__.py,sha256=rmPQWW6qxubvIN7bE2DsN7fR27PWYl64T-rcDFaFcc8,258 +numpy/fft/fftpack.py,sha256=kmkcYonedtyVy1J-98r94Rm6mdUmzix0_kxJXxDq__A,46059 +numpy/fft/fftpack_lite.cpython-36m-darwin.so,sha256=mxARu93uXoUyqOCf5uipXBPbdzpsMj-F68Ddtuq7v9E,107000 +numpy/fft/helper.py,sha256=aZruJcPfb9mKdgTbdhK0er-puvpi0nIVpjI2BiUnjvw,9523 +numpy/fft/info.py,sha256=831NwiCI33uiLx21G7kFCwzZuFxDfmU8n-2LG4FJm2w,7235 +numpy/fft/setup.py,sha256=VR1boee7xZd3lOQVRJ3083I0kYqq_-RCo6CK6UK8Lso,550 +numpy/fft/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/fft/tests/test_fftpack.py,sha256=ivCFMYzRuBVXOwsZJ1HI5FchBsSxNCIyUvhns5DLqlA,7097 +numpy/fft/tests/test_helper.py,sha256=-fY_zZLkSagcL1CAQJAXXSfij1u-tHtxFKKnVaZPXzw,5999 +numpy/lib/__init__.py,sha256=PHzVALHyh1EqdvCw-lhDTH28gXSKjU5-1QSX_azB5QQ,1301 +numpy/lib/_datasource.py,sha256=S_sHqV8T4o3SdrJQ1dzO435zawHX8_fSgWyJMnr20eU,25311 +numpy/lib/_iotools.py,sha256=HVNgaZlOet3H3AiNZL0xl_P8zRkZDW7RI21UgpYGdcI,32616 +numpy/lib/_version.py,sha256=CwmJlO0-MIWJhksrX0Dr_qUDDn-R0oe3Od2I-qLjLs0,4867 +numpy/lib/arraypad.py,sha256=35naV74C2JsxpUYti53PkvPPctR72OrvY_XHDmpz45g,51857 +numpy/lib/arraysetops.py,sha256=Mp-bXIYEcBAHOGlJtAMWVSQwjvZhloS9RtCZ5pQn_o8,20345 +numpy/lib/arrayterator.py,sha256=niYNI2qhySUT5j_3gl07pPbkmY4GJqdwIGaMZyPil84,7191 +numpy/lib/financial.py,sha256=AYHgzhkSiGzm7uRDzmy_3l2pnBKb0re3RUkf4Txeffo,24495 +numpy/lib/format.py,sha256=QFswc50ngoVRafhCtPAgs3Bzhw-OIz6KMRGKOL6Wlqk,29010 +numpy/lib/function_base.py,sha256=S-PYR35reVOR96Uv5X-eiLWYq-tdX3b2a8QSe20jI_A,170032 +numpy/lib/index_tricks.py,sha256=exaSLwRXrJxphFaAv8YF6F9eeUV-95K1CFbyMf7DMRY,26680 +numpy/lib/info.py,sha256=oVczF_pC_CMZC2h2adb2HHza_1qF3qI065j4RBrd-I4,6616 +numpy/lib/mixins.py,sha256=r9doCR1X0arm4q5Nq9qpktMkbRqC51jT_lY8tPJwFgI,7284 +numpy/lib/nanfunctions.py,sha256=JqkUx-LuKLIgX3h2ajC-nQRXDvJxM9p-RhJrb8QrqQs,50854 +numpy/lib/npyio.py,sha256=P6m34vUqI5ZF-Kam7MKEWHvndpCblcWZpikJrbIYJnc,82746 +numpy/lib/polynomial.py,sha256=qTJt-MbtgncmHDU3kd-9ECJi5_E8Xg4Ol9VkqQ1LGuk,38572 +numpy/lib/recfunctions.py,sha256=MrevY2p_tiOII900opEunMd_RZYdocE8_DyeyGUhROE,37016 +numpy/lib/scimath.py,sha256=DVHIce1T85pQnmVF-FusyuIdlQoxt45R2FRx500tcqg,14085 +numpy/lib/setup.py,sha256=os9eV9wSzwTQlfxeoQ33gYQ4wOj1_6EvqcROc8PyGbE,379 +numpy/lib/shape_base.py,sha256=WVSQXCj0oRlmvFr5981L0tzka27Ckvy-JDTFIPM3Uec,28668 +numpy/lib/stride_tricks.py,sha256=uQzHxT2vuGOrDi4y9TkVu-zAthbXujy9V62Rq7HgvnM,8785 +numpy/lib/twodim_base.py,sha256=5pkBest69BJpDyi-KaWG_20yWDv7Ke7oNVrhPYxnFG8,25817 +numpy/lib/type_check.py,sha256=2_-ktL6-z-5MmJ0FedQwqTGawaLu_gn7eXY31pQNZ3g,16500 +numpy/lib/ufunclike.py,sha256=_3VJxYIXlcbkMPQVYKzHn8hwlFzHCYnyKzuBCy0YFYY,5714 +numpy/lib/user_array.py,sha256=7nJPlDfP-04Lcq8iH_cqBbSEsx5cHCcj-2Py-oh-5t0,7817 +numpy/lib/utils.py,sha256=oE5_ULQxkNcx2Slje7SGBOQYONW3XrMGTOnmwE7l114,36340 +numpy/lib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/lib/tests/test__datasource.py,sha256=XiGdTJUjCMfTtMvlspgpGY3ZtHgKAIndGeaPi0g7yDU,10330 +numpy/lib/tests/test__iotools.py,sha256=nytmznzSAUJlJ1zNgSuwe9PrCtU2UC65-XY05diCfCk,13575 +numpy/lib/tests/test__version.py,sha256=-4O_MvSGwZYSzgtt7oWYotmZo9uEF8_95Or73F3X82g,2125 +numpy/lib/tests/test_arraypad.py,sha256=bWRUKL-SEoSvEX52aDPHzYfd61a4pgGpUhILaTaODfc,43647 +numpy/lib/tests/test_arraysetops.py,sha256=53YzcBGeaqxr4ZswYVwjnMgwWvnNIsHVw367KSPSaII,17352 +numpy/lib/tests/test_arrayterator.py,sha256=8_VQ1qF4aDQSUS21Tmdr9JStdRhah0t5UiltpH6sH9A,1455 +numpy/lib/tests/test_financial.py,sha256=4BPj5ad2weNU8qCdF1hlkfvqD2d4X5nf-9uak4eGTr0,17168 +numpy/lib/tests/test_format.py,sha256=_LT78W5o7j9qQWoUapwDxkZJxK3ZhLSsmQMJXjIqGLQ,34531 +numpy/lib/tests/test_function_base.py,sha256=dxkKKwue3xhWhj8uz7qEoKTiY8DAnPFnpv0miy-iijY,132980 +numpy/lib/tests/test_index_tricks.py,sha256=wGSNDPkPqvrfyicGhTOXhr_NmD12F8TXCOZSsADZEIc,13689 +numpy/lib/tests/test_io.py,sha256=zkQfKHUHc_wztQZBIafv0DTH1zuNm2fc7rhT21rhNPI,92159 +numpy/lib/tests/test_mixins.py,sha256=m2fHvYB8x2aoq5BMEokFE-d_KwqnHPPwAWCVo0_pcaY,6849 +numpy/lib/tests/test_nanfunctions.py,sha256=f-W1hIQ3ICdQLKjQKyt3lmHALavzFzf69RNP_dALtkU,34835 +numpy/lib/tests/test_packbits.py,sha256=OnJy_WawkZFlWN1QkdEwyc6nHzJeUqtwMjC-4Rpga3c,12929 +numpy/lib/tests/test_polynomial.py,sha256=Eh941Ic5R5EA1rnp2B1wTar8yHJ94tZnQ28WxbnRUEg,7152 +numpy/lib/tests/test_recfunctions.py,sha256=tUnPXYKpQt6gAa4by0GaFj-Xpm4WqHWWNfrWGxtv9K0,34762 +numpy/lib/tests/test_regression.py,sha256=o-CSZTTADq6SVofa5IKz5UfwAhH3n941Es_JN3aNAF8,8542 +numpy/lib/tests/test_shape_base.py,sha256=GrhZu2UyaNbyxv2ygDmPVBpwYlgqkRnGZt9WJLmBOqQ,19369 +numpy/lib/tests/test_stride_tricks.py,sha256=vjzfmvFvNIXba9NWH_liwfRjEJmHTaZ-ldgGsDAWcok,15042 +numpy/lib/tests/test_twodim_base.py,sha256=B3994ugqF7j2oKONswbGRT1mh4nYmgiGi5V4J26Ostw,17754 +numpy/lib/tests/test_type_check.py,sha256=TpJyb02riykSRclI3JzATjFJnebwm6y476FIJq4XzZ4,13103 +numpy/lib/tests/test_ufunclike.py,sha256=l9_QV0l7BrSe-OvcE-x3t8PQniH02LpMuOdmkobwT6E,3018 +numpy/lib/tests/test_utils.py,sha256=MNjkCaB0glBaVLMGZ9i88g8RIPHmkdbnt47bLWjgCvU,1656 +numpy/lib/tests/data/py2-objarr.npy,sha256=F4cyUC-_TB9QSFLAo2c7c44rC6NUYIgrfGx9PqWPSKk,258 +numpy/lib/tests/data/py2-objarr.npz,sha256=xo13HBT0FbFZ2qvZz0LWGDb3SuQASSaXh7rKfVcJjx4,366 +numpy/lib/tests/data/py3-objarr.npy,sha256=pTTVh8ezp-lwAK3fkgvdKU8Arp5NMKznVD-M6Ex_uA0,341 +numpy/lib/tests/data/py3-objarr.npz,sha256=qQR0gS57e9ta16d_vCQjaaKM74gPdlwCPkp55P-qrdw,449 +numpy/lib/tests/data/python3.npy,sha256=X0ad3hAaLGXig9LtSHAo-BgOvLlFfPYMnZuVIxRmj-0,96 +numpy/lib/tests/data/win64python2.npy,sha256=agOcgHVYFJrV-nrRJDbGnUnF4ZTPYXuSeF-Mtg7GMpc,96 +numpy/linalg/__init__.py,sha256=tj2YrJ_U5GzK7TnL5ho_OcevkID77anudX6UOQMSi_Q,2332 +numpy/linalg/_umath_linalg.cpython-36m-darwin.so,sha256=lr7GZsDFDNwgs-AOcfzMi5qH_3W6ZsQVMgrSK3bqUv4,295636 +numpy/linalg/info.py,sha256=AbXPYYabJK5In0F9IMk-oVWZgDyEaoU45Wnq6RtuCJs,1198 +numpy/linalg/lapack_lite.cpython-36m-darwin.so,sha256=7lsmjV8iyR174s9darQWcFvzXd-819YTTt_MU2PHyIM,41388 +numpy/linalg/linalg.py,sha256=INtXPo5vRC3mnOfGEGSb1FsGCtcFHsg2wdkkNWcx-PA,80393 +numpy/linalg/setup.py,sha256=k1X4EfRWACFtJYfb8Wiol_-pPnEMtqURxQ8H9FwFHWg,1878 +numpy/linalg/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/linalg/tests/test_build.py,sha256=k-3igsO1Dr2vbQhPtqAOvfN28ePChgfnRwHyQhWboEk,1756 +numpy/linalg/tests/test_deprecations.py,sha256=cxhhn3Mvm4HzSvQC2_2QzSBROGqzO5xmPXgUUT1U7vY,776 +numpy/linalg/tests/test_linalg.py,sha256=DXbltD8RG0pYxkfNASo9rCUWgeV7rYhvTHHg1PdewzI,62388 +numpy/linalg/tests/test_regression.py,sha256=gZ5Kue5JPjh6W1_R6LdEd2yIzIjbz85Kfx_rRq2XKlc,5741 +numpy/ma/__init__.py,sha256=NakwmSxyO7pTIVFvYrm5OiYZrMWMMiw-DO59Qd6VWzY,1476 +numpy/ma/bench.py,sha256=2nGYYxQVHYD_htXZCvBZLLot8Ui4uPKbJDdG2AnpfAU,4917 +numpy/ma/core.py,sha256=en4LY_KgNdSUf7fTR6khcR2-oBq1gASReLMFlP_SFNY,255508 +numpy/ma/extras.py,sha256=wKnrRtgcKhCq5zLHFKMVJqikxi9drIdIVWvuoUtbIRA,55952 +numpy/ma/mrecords.py,sha256=oP1xpA8UVf9x5tg_AUL-AMNK0RLxL8IfYUFwHgVq3uY,27435 +numpy/ma/setup.py,sha256=zkieH8BeiGVXl3Wlt_WeP9kciZlyAZY20DDu4SGk4b4,429 +numpy/ma/testutils.py,sha256=H6Wp21rUlT2PxxDsTcUPw9Wt0E_d1GmJyY74cL0maVI,10384 +numpy/ma/timer_comparison.py,sha256=Q1AyfHzNrWzVTrx6ebL9HgpQEkEJPHAkbWuTK_0bBkQ,15586 +numpy/ma/version.py,sha256=KpJAmUE1s1TpbgqgdBpDoslxm7kOMpczLjEzLMGv9Ag,380 +numpy/ma/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/ma/tests/test_core.py,sha256=Gbj-nAZD_eN1YNxrUUL1Dkgh0o6JCn-unCxjulHjHpo,191393 +numpy/ma/tests/test_deprecations.py,sha256=4kO2Er_A_Q1UYqirSAUAA7HBYjX7DAYnIFK8dZX6UpY,2410 +numpy/ma/tests/test_extras.py,sha256=18VmH3Vt9Ee7HdFRn-ML0bUFgQl4h_26Kv0W2OBjQSo,63757 +numpy/ma/tests/test_mrecords.py,sha256=YVDiXN5ftH2cFk8RHySwXKzelR_hKQ9Vs5Vn9db7Elk,19929 +numpy/ma/tests/test_old_ma.py,sha256=lk7RN2yNl90MrzWL375CCnL4L4zOrGADZr-pm0AiSoA,32135 +numpy/ma/tests/test_regression.py,sha256=M8LjQXAWve4Huq_Hq9OFgPOHOnclTPTxwV0VWEjAquQ,2437 +numpy/ma/tests/test_subclassing.py,sha256=pmLM0i9vlGq7CkOI7tds498Vv_gLvosPpbTdAmQ-jGU,13666 +numpy/matrixlib/__init__.py,sha256=TRuVRSDBgQyy2LYdfFMF8pXy21U1oz-cUzYqzB4Jz-w,290 +numpy/matrixlib/defmatrix.py,sha256=O_RESv1d67zCwxNX3PFe4oakGOWHVFjGpaviHNIhjcY,32973 +numpy/matrixlib/setup.py,sha256=o7I_gBds6j6ckztbKLhSXW3XHSItol8bab-rBZ6GH4I,448 +numpy/matrixlib/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/matrixlib/tests/test_defmatrix.py,sha256=zyQWTySr8WNjK3GpSSYts2rZTwTHWzDDwyzKQwKPJ2o,15078 +numpy/matrixlib/tests/test_multiarray.py,sha256=klsqFOr-xcE4E5__hjDQKT7fCuVX6t0rIQKDhFfRmCA,705 +numpy/matrixlib/tests/test_numeric.py,sha256=BJKSHDhKjqbOseYJmRcX81XkH_vRNRTDUPWzDmwGn4Q,585 +numpy/matrixlib/tests/test_regression.py,sha256=Jbrv4musHvJ07LKkZxnszZw91qZCZt-Dq1_cb_OM1cU,1082 +numpy/polynomial/__init__.py,sha256=fPyRn9sVQVoaSkR9eyA3hBIGH-5CIHumfFGKsJyuiso,1140 +numpy/polynomial/_polybase.py,sha256=IA8qqX91j96nuB23A_ti2xf2fUjkc24h9XAggfCK4NE,30092 +numpy/polynomial/chebyshev.py,sha256=glORsz3AlRpEWpcRjLnNZPbwu54Sj-ZJiZ2gP8j6FlA,66969 +numpy/polynomial/hermite.py,sha256=ODyNNvaR_d4p24dzw4IZJoYv3xn-YbJqVXQCvTO09yg,57896 +numpy/polynomial/hermite_e.py,sha256=AnQpOv53EXOA0udPGerbNDtVaHf7PlrBDoQx813j6xo,58086 +numpy/polynomial/laguerre.py,sha256=dNugySZSshYOKmwpTZddauJmGx0Dg4LsfuBj3ELkZNM,56309 +numpy/polynomial/legendre.py,sha256=ch8-m6CDGa1yDAwFgaAE5EPKN_i6sIXhr_3w8ru4jBs,57404 +numpy/polynomial/polynomial.py,sha256=XFkmg-AVztRRsWG58ImTskBQXVHidZtdVvbRR-UL22I,52808 +numpy/polynomial/polyutils.py,sha256=2qA03OFnMiXQj6aF0vIUWN2B99D4yd-dEMSMOYDOLf0,11529 +numpy/polynomial/setup.py,sha256=PKIUV6Jh7_0jBboPp3IHPmp6LWVs4tbIkdu_FtmI_5U,385 +numpy/polynomial/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/polynomial/tests/test_chebyshev.py,sha256=RhRGJHG8PGHxSFxjo97LAzYmkGTb7DCmBYccz2hx_LE,20420 +numpy/polynomial/tests/test_classes.py,sha256=WublDB8DP9Ctm_pYnKm3AGnU74kWLLKoZ7SkGobUH9s,19014 +numpy/polynomial/tests/test_hermite.py,sha256=oEn5RZei2YRQCYhlTeLFj4l2RP7S8n_zqmm8BFuL25I,18459 +numpy/polynomial/tests/test_hermite_e.py,sha256=Ooi50d60cSXVHrgDO4hbJVAMDnY3EwFebu2_6x1Il9Y,18789 +numpy/polynomial/tests/test_laguerre.py,sha256=6e76enKt2Pata0ChTj8hA7Pi1fNyZKmjltge9mSWDPc,17398 +numpy/polynomial/tests/test_legendre.py,sha256=EcpWqnkxiOSHkoySCLxU9fPcHfJAPM1MUhaUQyOlHDQ,18162 +numpy/polynomial/tests/test_polynomial.py,sha256=W8CHkyfY1SC57OrRuus1mybbS5b0lkZiHOudHwZF6DQ,19253 +numpy/polynomial/tests/test_polyutils.py,sha256=mulI4VvH_ckIiS3yvwikZKMqdm3EsuvBe4PaCuN2jUo,3085 +numpy/polynomial/tests/test_printing.py,sha256=Q0QZvZvFJvp1HoCz9k4cJdq-RaBHY_YdlcvEq5r-oUg,2140 +numpy/random/__init__.py,sha256=FMKIhJsSSWqFMCzq76AmU_I2yTJglaILDxsIZQPUAbM,5481 +numpy/random/info.py,sha256=HBoOc2MYiM2OaTikwmnDURZzfBsgl5aO3SKILwy4Lyo,5199 +numpy/random/mtrand.cpython-36m-darwin.so,sha256=olB-7lgPde0PaJQQJsWwcKojd-ul2J_bZs6BJNzefqI,2067124 +numpy/random/randomkit.h,sha256=TJrx_QZpTTgUGGfe2KHzUcyfmBeYTVTXrL4EAOT9Ctg,6799 +numpy/random/setup.py,sha256=gbPg4AuCkC4PXNY6j5xzcELwidc7lWBplkkRstSWJxg,2312 +numpy/random/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/random/tests/test_random.py,sha256=VOYdHiN8-BDsce-1CaTi91yCXIvLlnL6N_Gnc7SUscc,65295 +numpy/random/tests/test_regression.py,sha256=heOwWyBfzwrvE-cJXF-kkn56iCsDo2wbLyQB0bxau5U,5119 +numpy/testing/__init__.py,sha256=TrkadhNa5VAuFepMPZMMqs66qPZ-1MWSkRZojVJ4Sjw,475 +numpy/testing/decorators.py,sha256=hUCjkX2SuoE2wOW8oAPs7qvvycv2JiSIZdEzhjz9FK4,128 +numpy/testing/noseclasses.py,sha256=sMSGBp-kViFZ914tLQXid4I8m4jyC5Cn-bKLZm2OU3s,130 +numpy/testing/nosetester.py,sha256=AkEgoiTrftdr5sj-xUialE51x1ZM6LKvojLn1iGmw94,289 +numpy/testing/print_coercion_tables.py,sha256=F44AObcou_xytUWszku8t1bWuui-4I_18o7Z7zW8l18,2705 +numpy/testing/setup.py,sha256=7cb2FQ6qCZQ34wpFHwvLT8CeLba-4uIQn_l9Ne5CvBQ,677 +numpy/testing/utils.py,sha256=sMSKhLZnShlID7JPhKEbeB521MEMs-Ls5yHWvCwGL-c,926 +numpy/testing/nose_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/testing/nose_tools/decorators.py,sha256=6oT8kgtzKwQdvE82Azs0CSauv7o27CYldCElRjUi1KI,8591 +numpy/testing/nose_tools/noseclasses.py,sha256=qDYaNTSFcFT-UFQXrY_xJkQ5JwKDNl1-kpfy-HypzIg,14599 +numpy/testing/nose_tools/nosetester.py,sha256=KHMPbyE8WNJzYHkn9gXJvjqxJAZP0tOlErpJ9uWi8Iw,20562 +numpy/testing/nose_tools/parameterized.py,sha256=4N9SU33K5xndAmOD0baX7cP5PTEwCSDzGmbIUxBtp7c,18286 +numpy/testing/nose_tools/utils.py,sha256=MSREOiECLgDi7lBU-ghB33QM_VNihRzdAMOhNOI5nTY,75434 +numpy/testing/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/testing/tests/test_decorators.py,sha256=mSMOAM-EdSP6xWJHgFdr-i4oDEKcpJKDMhPU9oV5yjI,4554 +numpy/testing/tests/test_doctesting.py,sha256=9ej2qLODMR5e6NpL6ALHmVCsyiqZ7OXzrSPU_dcB4SE,1322 +numpy/testing/tests/test_utils.py,sha256=tID4AwZohRr434lyuk8OIIyn61_75TXl4g2W5UszfvE,46239 +numpy/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +numpy/tests/test_ctypeslib.py,sha256=10Zeegov5bWWLhXFmUS7bkdfSySHXBLFX9DOuaJNeC0,4331 +numpy/tests/test_matlib.py,sha256=vhXHiXHrSs5KRk2JU_w2WAWzVSabiDTlpCSB1FNJc3U,1988 +numpy/tests/test_numpy_version.py,sha256=ailN5HiL7gZdBgneFzZhUKANCtwUNLszH8OAL07pDU4,717 +numpy/tests/test_reloading.py,sha256=M490VKOCvV8x2IA_WrDm4HjcaA5EDrrC65v8PPSY5eY,1038 +numpy/tests/test_scripts.py,sha256=bZyJm0n1fJAN7iOgAI0irqKG9hf8Y9Yi-_76xRIYy_k,3059 +numpy/tests/test_warnings.py,sha256=x7IcCHSuv4hQ5elz3ZVN-L0jxfXlTaXS567LGXUbQTo,2686 +../../../bin/f2py,sha256=igh72wSs0uvdQH3TY3kqzkkmBSKKdb9RuZOCULFjLSE,748 +numpy-1.14.0.dist-info/DESCRIPTION.rst,sha256=jIxOnyL-SJx2zWu8D0b7_U3ryV6Nj7agM4Q18YJw1v4,884 +numpy-1.14.0.dist-info/METADATA,sha256=gi-e07GO4N_jh9UJX4UCWN1L3kfIr1gXUwVSe5h2VAs,2251 +numpy-1.14.0.dist-info/metadata.json,sha256=1V3L1ANpQ2cKSO72olue1DM1-YsKIVlBu-z_sYVdrz0,1369 +numpy-1.14.0.dist-info/RECORD,, +numpy-1.14.0.dist-info/top_level.txt,sha256=4J9lbBMLnAiyxatxh8iRKV5Entd_6-oqbO7pzJjMsPw,6 +numpy-1.14.0.dist-info/WHEEL,sha256=TJcAbsNKv2tiiR-l4ikYQkXgouGWw0EOV7WZPrRyWl4,249 +numpy-1.14.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +numpy/distutils/tests/__pycache__/test_fcompiler_gnu.cpython-36.pyc,, +numpy/distutils/tests/__pycache__/test_misc_util.cpython-36.pyc,, +numpy/distutils/tests/__pycache__/test_fcompiler_intel.cpython-36.pyc,, +numpy/distutils/tests/__pycache__/test_npy_pkg_config.cpython-36.pyc,, +numpy/distutils/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/distutils/tests/__pycache__/test_exec_command.cpython-36.pyc,, +numpy/distutils/tests/__pycache__/test_fcompiler_nagfor.cpython-36.pyc,, +numpy/distutils/tests/__pycache__/test_system_info.cpython-36.pyc,, +numpy/distutils/__pycache__/conv_template.cpython-36.pyc,, +numpy/distutils/__pycache__/exec_command.cpython-36.pyc,, +numpy/distutils/__pycache__/misc_util.cpython-36.pyc,, +numpy/distutils/__pycache__/__version__.cpython-36.pyc,, +numpy/distutils/__pycache__/ccompiler.cpython-36.pyc,, +numpy/distutils/__pycache__/setup.cpython-36.pyc,, +numpy/distutils/__pycache__/npy_pkg_config.cpython-36.pyc,, +numpy/distutils/__pycache__/environment.cpython-36.pyc,, +numpy/distutils/__pycache__/cpuinfo.cpython-36.pyc,, +numpy/distutils/__pycache__/line_endings.cpython-36.pyc,, +numpy/distutils/__pycache__/msvccompiler.cpython-36.pyc,, +numpy/distutils/__pycache__/info.cpython-36.pyc,, +numpy/distutils/__pycache__/compat.cpython-36.pyc,, +numpy/distutils/__pycache__/msvc9compiler.cpython-36.pyc,, +numpy/distutils/__pycache__/system_info.cpython-36.pyc,, +numpy/distutils/__pycache__/pathccompiler.cpython-36.pyc,, +numpy/distutils/__pycache__/log.cpython-36.pyc,, +numpy/distutils/__pycache__/unixccompiler.cpython-36.pyc,, +numpy/distutils/__pycache__/lib2def.cpython-36.pyc,, +numpy/distutils/__pycache__/intelccompiler.cpython-36.pyc,, +numpy/distutils/__pycache__/core.cpython-36.pyc,, +numpy/distutils/__pycache__/from_template.cpython-36.pyc,, +numpy/distutils/__pycache__/numpy_distribution.cpython-36.pyc,, +numpy/distutils/__pycache__/__init__.cpython-36.pyc,, +numpy/distutils/__pycache__/extension.cpython-36.pyc,, +numpy/distutils/__pycache__/mingw32ccompiler.cpython-36.pyc,, +numpy/distutils/__pycache__/__config__.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/compaq.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/none.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/gnu.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/ibm.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/lahey.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/absoft.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/pg.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/nag.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/intel.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/vast.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/sun.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/pathf95.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/g95.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/__init__.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/hpux.cpython-36.pyc,, +numpy/distutils/fcompiler/__pycache__/mips.cpython-36.pyc,, +numpy/distutils/command/__pycache__/build_src.cpython-36.pyc,, +numpy/distutils/command/__pycache__/install_data.cpython-36.pyc,, +numpy/distutils/command/__pycache__/build.cpython-36.pyc,, +numpy/distutils/command/__pycache__/config.cpython-36.pyc,, +numpy/distutils/command/__pycache__/bdist_rpm.cpython-36.pyc,, +numpy/distutils/command/__pycache__/develop.cpython-36.pyc,, +numpy/distutils/command/__pycache__/build_py.cpython-36.pyc,, +numpy/distutils/command/__pycache__/build_clib.cpython-36.pyc,, +numpy/distutils/command/__pycache__/install_headers.cpython-36.pyc,, +numpy/distutils/command/__pycache__/sdist.cpython-36.pyc,, +numpy/distutils/command/__pycache__/build_scripts.cpython-36.pyc,, +numpy/distutils/command/__pycache__/install.cpython-36.pyc,, +numpy/distutils/command/__pycache__/egg_info.cpython-36.pyc,, +numpy/distutils/command/__pycache__/install_clib.cpython-36.pyc,, +numpy/distutils/command/__pycache__/config_compiler.cpython-36.pyc,, +numpy/distutils/command/__pycache__/build_ext.cpython-36.pyc,, +numpy/distutils/command/__pycache__/__init__.cpython-36.pyc,, +numpy/distutils/command/__pycache__/autodist.cpython-36.pyc,, +numpy/compat/__pycache__/_inspect.cpython-36.pyc,, +numpy/compat/__pycache__/setup.cpython-36.pyc,, +numpy/compat/__pycache__/py3k.cpython-36.pyc,, +numpy/compat/__pycache__/__init__.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_abc.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_umath_complex.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_nditer.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_scalarmath.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_numeric.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_errstate.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_mem_overlap.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_api.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_getlimits.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_defchararray.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_function_base.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_half.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_indexing.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_records.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_ufunc.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_numerictypes.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_multiarray.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_datetime.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_machar.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_memmap.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_umath.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_einsum.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_item_selection.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_arrayprint.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_shape_base.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_deprecations.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_indexerrors.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_dtype.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_scalarprint.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_scalar_ctors.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_print.cpython-36.pyc,, +numpy/core/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_unicode.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_regression.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_extint128.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_scalarinherit.cpython-36.pyc,, +numpy/core/tests/__pycache__/test_longdouble.cpython-36.pyc,, +numpy/core/__pycache__/arrayprint.cpython-36.pyc,, +numpy/core/__pycache__/shape_base.cpython-36.pyc,, +numpy/core/__pycache__/records.cpython-36.pyc,, +numpy/core/__pycache__/setup.cpython-36.pyc,, +numpy/core/__pycache__/setup_common.cpython-36.pyc,, +numpy/core/__pycache__/machar.cpython-36.pyc,, +numpy/core/__pycache__/cversions.cpython-36.pyc,, +numpy/core/__pycache__/memmap.cpython-36.pyc,, +numpy/core/__pycache__/numeric.cpython-36.pyc,, +numpy/core/__pycache__/info.cpython-36.pyc,, +numpy/core/__pycache__/numerictypes.cpython-36.pyc,, +numpy/core/__pycache__/getlimits.cpython-36.pyc,, +numpy/core/__pycache__/_internal.cpython-36.pyc,, +numpy/core/__pycache__/_methods.cpython-36.pyc,, +numpy/core/__pycache__/defchararray.cpython-36.pyc,, +numpy/core/__pycache__/generate_numpy_api.cpython-36.pyc,, +numpy/core/__pycache__/fromnumeric.cpython-36.pyc,, +numpy/core/__pycache__/einsumfunc.cpython-36.pyc,, +numpy/core/__pycache__/__init__.cpython-36.pyc,, +numpy/core/__pycache__/function_base.cpython-36.pyc,, +numpy/linalg/tests/__pycache__/test_linalg.cpython-36.pyc,, +numpy/linalg/tests/__pycache__/test_build.cpython-36.pyc,, +numpy/linalg/tests/__pycache__/test_deprecations.cpython-36.pyc,, +numpy/linalg/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/linalg/tests/__pycache__/test_regression.cpython-36.pyc,, +numpy/linalg/__pycache__/setup.cpython-36.pyc,, +numpy/linalg/__pycache__/linalg.cpython-36.pyc,, +numpy/linalg/__pycache__/info.cpython-36.pyc,, +numpy/linalg/__pycache__/__init__.cpython-36.pyc,, +numpy/ma/tests/__pycache__/test_mrecords.cpython-36.pyc,, +numpy/ma/tests/__pycache__/test_subclassing.cpython-36.pyc,, +numpy/ma/tests/__pycache__/test_extras.cpython-36.pyc,, +numpy/ma/tests/__pycache__/test_core.cpython-36.pyc,, +numpy/ma/tests/__pycache__/test_old_ma.cpython-36.pyc,, +numpy/ma/tests/__pycache__/test_deprecations.cpython-36.pyc,, +numpy/ma/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/ma/tests/__pycache__/test_regression.cpython-36.pyc,, +numpy/ma/__pycache__/bench.cpython-36.pyc,, +numpy/ma/__pycache__/version.cpython-36.pyc,, +numpy/ma/__pycache__/setup.cpython-36.pyc,, +numpy/ma/__pycache__/testutils.cpython-36.pyc,, +numpy/ma/__pycache__/timer_comparison.cpython-36.pyc,, +numpy/ma/__pycache__/extras.cpython-36.pyc,, +numpy/ma/__pycache__/mrecords.cpython-36.pyc,, +numpy/ma/__pycache__/core.cpython-36.pyc,, +numpy/ma/__pycache__/__init__.cpython-36.pyc,, +numpy/tests/__pycache__/test_warnings.cpython-36.pyc,, +numpy/tests/__pycache__/test_reloading.cpython-36.pyc,, +numpy/tests/__pycache__/test_numpy_version.cpython-36.pyc,, +numpy/tests/__pycache__/test_scripts.cpython-36.pyc,, +numpy/tests/__pycache__/test_ctypeslib.cpython-36.pyc,, +numpy/tests/__pycache__/test_matlib.cpython-36.pyc,, +numpy/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/__pycache__/conftest.cpython-36.pyc,, +numpy/__pycache__/matlib.cpython-36.pyc,, +numpy/__pycache__/version.cpython-36.pyc,, +numpy/__pycache__/setup.cpython-36.pyc,, +numpy/__pycache__/ctypeslib.cpython-36.pyc,, +numpy/__pycache__/add_newdocs.cpython-36.pyc,, +numpy/__pycache__/_distributor_init.cpython-36.pyc,, +numpy/__pycache__/__init__.cpython-36.pyc,, +numpy/__pycache__/_globals.cpython-36.pyc,, +numpy/__pycache__/_import_tools.cpython-36.pyc,, +numpy/__pycache__/dual.cpython-36.pyc,, +numpy/__pycache__/__config__.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/util.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_mixed.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_string.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_return_complex.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_return_character.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_parameter.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_size.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_return_real.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_kind.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_common.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_block_docstring.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_return_logical.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_array_from_pyobj.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_callback.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_return_integer.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_regression.cpython-36.pyc,, +numpy/f2py/tests/__pycache__/test_assumed_shape.cpython-36.pyc,, +numpy/f2py/__pycache__/f2py_testing.cpython-36.pyc,, +numpy/f2py/__pycache__/cfuncs.cpython-36.pyc,, +numpy/f2py/__pycache__/__version__.cpython-36.pyc,, +numpy/f2py/__pycache__/f90mod_rules.cpython-36.pyc,, +numpy/f2py/__pycache__/common_rules.cpython-36.pyc,, +numpy/f2py/__pycache__/setup.cpython-36.pyc,, +numpy/f2py/__pycache__/cb_rules.cpython-36.pyc,, +numpy/f2py/__pycache__/rules.cpython-36.pyc,, +numpy/f2py/__pycache__/crackfortran.cpython-36.pyc,, +numpy/f2py/__pycache__/use_rules.cpython-36.pyc,, +numpy/f2py/__pycache__/info.cpython-36.pyc,, +numpy/f2py/__pycache__/diagnose.cpython-36.pyc,, +numpy/f2py/__pycache__/__main__.cpython-36.pyc,, +numpy/f2py/__pycache__/capi_maps.cpython-36.pyc,, +numpy/f2py/__pycache__/auxfuncs.cpython-36.pyc,, +numpy/f2py/__pycache__/func2subr.cpython-36.pyc,, +numpy/f2py/__pycache__/f2py2e.cpython-36.pyc,, +numpy/f2py/__pycache__/__init__.cpython-36.pyc,, +numpy/testing/nose_tools/__pycache__/parameterized.cpython-36.pyc,, +numpy/testing/nose_tools/__pycache__/noseclasses.cpython-36.pyc,, +numpy/testing/nose_tools/__pycache__/utils.cpython-36.pyc,, +numpy/testing/nose_tools/__pycache__/__init__.cpython-36.pyc,, +numpy/testing/nose_tools/__pycache__/decorators.cpython-36.pyc,, +numpy/testing/nose_tools/__pycache__/nosetester.cpython-36.pyc,, +numpy/testing/tests/__pycache__/test_doctesting.cpython-36.pyc,, +numpy/testing/tests/__pycache__/test_utils.cpython-36.pyc,, +numpy/testing/tests/__pycache__/test_decorators.cpython-36.pyc,, +numpy/testing/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/testing/__pycache__/setup.cpython-36.pyc,, +numpy/testing/__pycache__/noseclasses.cpython-36.pyc,, +numpy/testing/__pycache__/utils.cpython-36.pyc,, +numpy/testing/__pycache__/print_coercion_tables.cpython-36.pyc,, +numpy/testing/__pycache__/__init__.cpython-36.pyc,, +numpy/testing/__pycache__/decorators.cpython-36.pyc,, +numpy/testing/__pycache__/nosetester.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_index_tricks.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_type_check.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_arraysetops.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_io.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_format.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_stride_tricks.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test__datasource.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_utils.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_function_base.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test__iotools.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_nanfunctions.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_recfunctions.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test__version.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_twodim_base.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_packbits.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_arraypad.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_mixins.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_shape_base.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_ufunclike.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_arrayterator.cpython-36.pyc,, +numpy/lib/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_regression.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_financial.cpython-36.pyc,, +numpy/lib/tests/__pycache__/test_polynomial.cpython-36.pyc,, +numpy/lib/__pycache__/shape_base.cpython-36.pyc,, +numpy/lib/__pycache__/arraypad.cpython-36.pyc,, +numpy/lib/__pycache__/_version.cpython-36.pyc,, +numpy/lib/__pycache__/setup.cpython-36.pyc,, +numpy/lib/__pycache__/financial.cpython-36.pyc,, +numpy/lib/__pycache__/arrayterator.cpython-36.pyc,, +numpy/lib/__pycache__/_datasource.cpython-36.pyc,, +numpy/lib/__pycache__/polynomial.cpython-36.pyc,, +numpy/lib/__pycache__/npyio.cpython-36.pyc,, +numpy/lib/__pycache__/scimath.cpython-36.pyc,, +numpy/lib/__pycache__/ufunclike.cpython-36.pyc,, +numpy/lib/__pycache__/mixins.cpython-36.pyc,, +numpy/lib/__pycache__/recfunctions.cpython-36.pyc,, +numpy/lib/__pycache__/info.cpython-36.pyc,, +numpy/lib/__pycache__/arraysetops.cpython-36.pyc,, +numpy/lib/__pycache__/nanfunctions.cpython-36.pyc,, +numpy/lib/__pycache__/stride_tricks.cpython-36.pyc,, +numpy/lib/__pycache__/user_array.cpython-36.pyc,, +numpy/lib/__pycache__/utils.cpython-36.pyc,, +numpy/lib/__pycache__/type_check.cpython-36.pyc,, +numpy/lib/__pycache__/__init__.cpython-36.pyc,, +numpy/lib/__pycache__/twodim_base.cpython-36.pyc,, +numpy/lib/__pycache__/function_base.cpython-36.pyc,, +numpy/lib/__pycache__/index_tricks.cpython-36.pyc,, +numpy/lib/__pycache__/format.cpython-36.pyc,, +numpy/lib/__pycache__/_iotools.cpython-36.pyc,, +numpy/fft/tests/__pycache__/test_fftpack.cpython-36.pyc,, +numpy/fft/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/fft/tests/__pycache__/test_helper.cpython-36.pyc,, +numpy/fft/__pycache__/setup.cpython-36.pyc,, +numpy/fft/__pycache__/helper.cpython-36.pyc,, +numpy/fft/__pycache__/fftpack.cpython-36.pyc,, +numpy/fft/__pycache__/info.cpython-36.pyc,, +numpy/fft/__pycache__/__init__.cpython-36.pyc,, +numpy/doc/__pycache__/glossary.cpython-36.pyc,, +numpy/doc/__pycache__/constants.cpython-36.pyc,, +numpy/doc/__pycache__/ufuncs.cpython-36.pyc,, +numpy/doc/__pycache__/broadcasting.cpython-36.pyc,, +numpy/doc/__pycache__/basics.cpython-36.pyc,, +numpy/doc/__pycache__/creation.cpython-36.pyc,, +numpy/doc/__pycache__/subclassing.cpython-36.pyc,, +numpy/doc/__pycache__/byteswapping.cpython-36.pyc,, +numpy/doc/__pycache__/indexing.cpython-36.pyc,, +numpy/doc/__pycache__/internals.cpython-36.pyc,, +numpy/doc/__pycache__/__init__.cpython-36.pyc,, +numpy/doc/__pycache__/misc.cpython-36.pyc,, +numpy/doc/__pycache__/structured_arrays.cpython-36.pyc,, +numpy/random/tests/__pycache__/test_random.cpython-36.pyc,, +numpy/random/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/random/tests/__pycache__/test_regression.cpython-36.pyc,, +numpy/random/__pycache__/setup.cpython-36.pyc,, +numpy/random/__pycache__/info.cpython-36.pyc,, +numpy/random/__pycache__/__init__.cpython-36.pyc,, +numpy/matrixlib/tests/__pycache__/test_numeric.cpython-36.pyc,, +numpy/matrixlib/tests/__pycache__/test_multiarray.cpython-36.pyc,, +numpy/matrixlib/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/matrixlib/tests/__pycache__/test_regression.cpython-36.pyc,, +numpy/matrixlib/tests/__pycache__/test_defmatrix.cpython-36.pyc,, +numpy/matrixlib/__pycache__/defmatrix.cpython-36.pyc,, +numpy/matrixlib/__pycache__/setup.cpython-36.pyc,, +numpy/matrixlib/__pycache__/__init__.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_hermite_e.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_printing.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_laguerre.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_hermite.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_classes.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_legendre.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_chebyshev.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/__init__.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_polyutils.cpython-36.pyc,, +numpy/polynomial/tests/__pycache__/test_polynomial.cpython-36.pyc,, +numpy/polynomial/__pycache__/chebyshev.cpython-36.pyc,, +numpy/polynomial/__pycache__/legendre.cpython-36.pyc,, +numpy/polynomial/__pycache__/hermite.cpython-36.pyc,, +numpy/polynomial/__pycache__/setup.cpython-36.pyc,, +numpy/polynomial/__pycache__/polyutils.cpython-36.pyc,, +numpy/polynomial/__pycache__/polynomial.cpython-36.pyc,, +numpy/polynomial/__pycache__/_polybase.cpython-36.pyc,, +numpy/polynomial/__pycache__/hermite_e.cpython-36.pyc,, +numpy/polynomial/__pycache__/__init__.cpython-36.pyc,, +numpy/polynomial/__pycache__/laguerre.cpython-36.pyc,, diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/_dummy.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/_dummy.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/multiarray.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/multiarray.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/multiarray_tests.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/multiarray_tests.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/operand_flag_tests.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/operand_flag_tests.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/struct_ufunc_test.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/struct_ufunc_test.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/test_rational.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/test_rational.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/umath.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/umath.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/umath_tests.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/core/umath_tests.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/fft/fftpack_lite.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/fft/fftpack_lite.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/linalg/_umath_linalg.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/linalg/lapack_lite.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/linalg/lapack_lite.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/random/mtrand.cpython-36m-darwin.so b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/numpy/random/mtrand.cpython-36m-darwin.so old mode 100755 new mode 100644 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip-9.0.1.dist-info/RECORD b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip-9.0.1.dist-info/RECORD index 3c956a26..5b07f4dc 100644 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip-9.0.1.dist-info/RECORD +++ b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip-9.0.1.dist-info/RECORD @@ -1,501 +1,501 @@ -pip/__init__.py,sha256=00QWSreEBjb8Y8sPs8HeqgLXSB-3UrONJxo4J5APxEc,11348 -pip/__main__.py,sha256=V6Kh-IEDEFpt1cahRE6MajUF_14qJR_Qsvn4MjWZXzE,584 -pip/basecommand.py,sha256=TTlmZesQ4Vuxcto2KqwZGmgmN5ioHEl_DeFev9ie_SA,11910 -pip/baseparser.py,sha256=AKMOeF3fTrRroiv0DmTQbdiLW0DQux2KqGC_dJJB9d0,10465 -pip/cmdoptions.py,sha256=8JCcF2kKAF2cFnV77oW-3DsHJifr9jF2WuChzzwgcwg,16474 -pip/download.py,sha256=rA0wbmqC2n9ejX481YJSidmKgQqQDjdaxkHkHlAN68k,32171 -pip/exceptions.py,sha256=BvqH-Jw3tP2b-2IJ2kjrQemOAPMqKrQMLRIZHZQpJXk,8121 -pip/index.py,sha256=L6UhtAEZc2qw7BqfQrkPQcw2gCgEw3GukLRSA95BNyI,39950 -pip/locations.py,sha256=9rJRlgonC6QC2zGDIn_7mXaoZ9_tF_IHM2BQhWVRgbo,5626 -pip/pep425tags.py,sha256=q3kec4f6NHszuGYIhGIbVvs896D06uJAnKFgJ_wce44,10980 -pip/status_codes.py,sha256=F6uDG6Gj7RNKQJUDnd87QKqI16Us-t-B0wPF_4QMpWc,156 -pip/wheel.py,sha256=QSWmGs2ui-n4UMWm0JUY6aMCcwNKungVzbWsxI9KlJQ,32010 -pip/_vendor/__init__.py,sha256=WaaSJ3roSSJ_Uv4yKAxlGohKEH9YUA3aIh1Xg2IjfgU,4670 -pip/_vendor/appdirs.py,sha256=-9UOIZy62ahCQVY9-b7Nn6_5_4Y6ooHnv72tM8iHi9Y,22368 -pip/_vendor/distro.py,sha256=A4Douw9pcqdYxDTp5b-OR02fxVXnfWs-wC1wA89rhRk,38349 -pip/_vendor/ipaddress.py,sha256=wimbqcE7rwwETlucn8A_4Qd_-NKXPOBcNxJHarUoXng,80176 -pip/_vendor/ordereddict.py,sha256=4KsFuc6V8IgHROCHUu-4vCrr21ZPPea7Z0cvX9AjQ7w,4094 -pip/_vendor/pyparsing.py,sha256=7vAuUVbh6txUKQR2IzJ8_9DKmD5vtm5MDssWkI0ka8o,224171 -pip/_vendor/re-vendor.py,sha256=PcdZ40d0ohMsdJmA4t0AeAWbPXi1tFsvAwA5KE5FGeY,773 -pip/_vendor/retrying.py,sha256=k3fflf5_Mm0XcIJYhB7Tj34bqCCPhUDkYbx1NvW2FPE,9972 -pip/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 -pip/_vendor/cachecontrol/__init__.py,sha256=UPyFlz0dIjxusu5ITig9UDFJdSY5LTwijhldn0AfyzU,302 -pip/_vendor/cachecontrol/_cmd.py,sha256=MPxZfZd2LKDzVrs55X3wA1rsI2YuP8evLZSwQj0dIk0,1320 -pip/_vendor/cachecontrol/adapter.py,sha256=RaGYyRA-RA1J0AnE67GzEYFPBu4YH4EQUvQqTKa57iM,4608 -pip/_vendor/cachecontrol/cache.py,sha256=xtl-V-pr9KSt9VvFDRCB9yrHPEvqvbk-5M1vAInZb5k,790 -pip/_vendor/cachecontrol/compat.py,sha256=uyovOpd1ehI3J1XeBqJvcsIp6fvkjBpoQmu_0J2st8c,416 -pip/_vendor/cachecontrol/controller.py,sha256=elDsLcaYA15ncodRmHnWQp6ekU_ocEGtDeGLbsnTjzo,13024 -pip/_vendor/cachecontrol/filewrapper.py,sha256=_K8cStmXqD33m15PfsQ8rlpo6FfXjVbKmjvLXyICRgI,2531 -pip/_vendor/cachecontrol/heuristics.py,sha256=WtJrVsyWjpP9WoUiDVdTZZRNBCz5ZVptaQpYnqofDQU,4141 -pip/_vendor/cachecontrol/serialize.py,sha256=XM6elG9DSNexwaOCgMjUtfrHHW5NAB6TSbIf3x235xs,6536 -pip/_vendor/cachecontrol/wrapper.py,sha256=Kqyu_3TW_54XDudha4-HF21vyEOAJ4ZnRXFysTiLmXA,498 -pip/_vendor/cachecontrol/caches/__init__.py,sha256=uWnUtyMvHY_LULaL_4_IR1F_xPgK5zHfJyRnBq4DnPE,369 -pip/_vendor/cachecontrol/caches/file_cache.py,sha256=FsDug3bwUAQ3okjjfGzxlDaBf2fwVSn1iBKMTL6SyGU,3532 -pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=XywqxkS9MkCaflTOY_wjrE02neKdywB9YwlOBbP7Ywc,973 -pip/_vendor/colorama/__init__.py,sha256=9xByrTvk9upkL5NGV5It2Eje4-kzNLwa_1lGPWpXoNU,240 -pip/_vendor/colorama/ansi.py,sha256=Fi0un-QLqRm-v7o_nKiOqyC8PapBJK7DLV_q9LKtTO0,2524 -pip/_vendor/colorama/ansitowin32.py,sha256=gJZB35Lbdjatykd2zrUUnokMzkvcFgscyn_tNxxMFHA,9668 -pip/_vendor/colorama/initialise.py,sha256=cHqVJtb82OG7HUCxvQ2joG7N_CoxbIKbI_fgryZkj20,1917 -pip/_vendor/colorama/win32.py,sha256=_SCEoTK_GA2tU1nhbayKKac-v9Jn98lCPIFOeFMGCHQ,5365 -pip/_vendor/colorama/winterm.py,sha256=V7U7ojwG1q4n6PKripjEvW_htYQi5ueXSM3LUUoqqDY,6290 -pip/_vendor/distlib/__init__.py,sha256=-aUeNNCfiIG_1Tqf19BH0xLNuBKGX1I7lNhcLYgFUEA,581 -pip/_vendor/distlib/compat.py,sha256=FzKlP9dNUMH-j_1LCVnjgx6KgUbpnRjTjYkTkDYRPlI,40801 -pip/_vendor/distlib/database.py,sha256=jniJmYk0Mj2t6gZYbnn68TvQwnVZ0kXyeuf_3AxFclk,49672 -pip/_vendor/distlib/index.py,sha256=Cw8gxFq_7xXvdgExL3efjLAY3EAPDMSL3VA42RkbQBs,21085 -pip/_vendor/distlib/locators.py,sha256=hD_Hm3aSL9DklY9Cxyct2n_74gZ0xNFFGB5L7M6ds14,51013 -pip/_vendor/distlib/manifest.py,sha256=3qEuZhHlDbvyYZ1BZbdapDAivgMgUwWpZ00cmXqcn18,14810 -pip/_vendor/distlib/markers.py,sha256=iRrVWwpyVwjkKJSX8NEQ92_MRMwpROcfNGKCD-Ch1QM,6282 -pip/_vendor/distlib/metadata.py,sha256=hUsf7Qh2Ae4CCkL33qK8ppwC8ZTzT7ep6Hj9RKpijKU,38833 -pip/_vendor/distlib/resources.py,sha256=VFBVbFqLVqDBSQDXcFQHrX1KEcuoDxTK699Ydi_beyc,10766 -pip/_vendor/distlib/scripts.py,sha256=xpehNfISGPTNxQZu02K9Rw2QbNx_2Q4emePv3W5X0iw,15224 -pip/_vendor/distlib/t32.exe,sha256=cp0UAUDDr1tGAx8adlKxWbCHIa-oB3bxev5zYzgAr8E,89088 -pip/_vendor/distlib/t64.exe,sha256=FiljDPcX9qvoe9FYE_9pNEHqbqMnhcCOuI_oLJ4F9F8,97792 -pip/_vendor/distlib/util.py,sha256=E2wU-RZShPMFUMJr9kPmemTULinM4qDzosNPihCuKE0,52991 -pip/_vendor/distlib/version.py,sha256=CgghOUylxGD7dEA2S3MvWjx7mY_2bWsluF0Of3Yxl4Y,23711 -pip/_vendor/distlib/w32.exe,sha256=LItrBJesEqt2QTQuB-yha2YbMegURHmHmdSxhjBqmnc,85504 -pip/_vendor/distlib/w64.exe,sha256=n_PioBC7ltz7sAk1WLbLzZJgS4R2axSy_0HPf8ZCsEg,94208 -pip/_vendor/distlib/wheel.py,sha256=UP53cKxOM5r7bHSS-n5prF6hwJEVsMW9ZNJutOuC26c,39115 -pip/_vendor/distlib/_backport/__init__.py,sha256=bqS_dTOH6uW9iGgd0uzfpPjo6vZ4xpPZ7kyfZJ2vNaw,274 -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=eSEyJg7jxF_eHlHG8IOtl93kb07UoMIRp1wYsPeGi9k,26955 -pip/_vendor/distlib/_backport/tarfile.py,sha256=Ihp7rXRcjbIKw8COm9wSePV9ARGXbSF9gGXAMn2Q-KU,92628 -pip/_vendor/html5lib/__init__.py,sha256=JsIwmFldk-9raBadPSTS74JrfmJvozc-3aekMi7Hr9s,780 -pip/_vendor/html5lib/_ihatexml.py,sha256=tzXygYmisUmiEUt2v7E1Ab50AKQsrD-SglPRnY75vME,16705 -pip/_vendor/html5lib/_inputstream.py,sha256=C4lX5gUBwebOWy41hYP2ZBpkPVNvxk_hZBm3OVyPZM4,32532 -pip/_vendor/html5lib/_tokenizer.py,sha256=YAaOEBD6qc5ISq9Xt9Nif1OFgcybTTfMdwqBkZhpAq4,76580 -pip/_vendor/html5lib/_utils.py,sha256=bS6THVlL8ZyTcI6CIxiM6xxuHsE8i1j5Ogd3Ha1G84U,4096 -pip/_vendor/html5lib/constants.py,sha256=Dfc1Fv3_9frktgWjg4tbj-CjMMp02Ko9qMe4il1BVdo,83387 -pip/_vendor/html5lib/html5parser.py,sha256=Dmlu9hlq5w_id6mBZyY_sE5LukIACgvG4kpgIsded8Q,117170 -pip/_vendor/html5lib/serializer.py,sha256=Urrsa0cPPLqNX-UbJWS2gUhs_06qVbNxZvUnrmGZK6E,14177 -pip/_vendor/html5lib/_trie/__init__.py,sha256=8VR1bcgD2OpeS2XExpu5yBhP_Q1K-lwKbBKICBPf1kU,289 -pip/_vendor/html5lib/_trie/_base.py,sha256=6P_AcIoGjtwB2qAlhV8H4VP-ztQxoXFGwt4NyMqG_Kw,979 -pip/_vendor/html5lib/_trie/datrie.py,sha256=EQpqSfkZRuTbE-DuhW7xMdVDxdZNZ0CfmnYfHA_3zxM,1178 -pip/_vendor/html5lib/_trie/py.py,sha256=wXmQLrZRf4MyWNyg0m3h81m9InhLR7GJ002mIIZh-8o,1775 -pip/_vendor/html5lib/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_vendor/html5lib/filters/alphabeticalattributes.py,sha256=DXv-P2vdQ5F3OTWM6QZ6KhyDlAWm90pbfrD1Bk9D_l0,621 -pip/_vendor/html5lib/filters/base.py,sha256=z-IU9ZAYjpsVsqmVt7kuWC63jR11hDMr6CVrvuao8W0,286 -pip/_vendor/html5lib/filters/inject_meta_charset.py,sha256=2Q_JnMscn_tNbV_qpgYN_5M3PnBGfmuvECMKDExHUcY,2742 -pip/_vendor/html5lib/filters/lint.py,sha256=qf5cLrT6xXd8V7GH1R_3lKxIjuJSfpbWTpSwaglYdDw,3365 -pip/_vendor/html5lib/filters/optionaltags.py,sha256=EHig4kM-QiLjuxVJ3FAAFNy-10k4aV6HJbQzHKZ_3u8,10534 -pip/_vendor/html5lib/filters/sanitizer.py,sha256=7PqJrhm6mo3JvaHk2IQW7i74Or7Qtd-FV8UftJIyDys,25112 -pip/_vendor/html5lib/filters/whitespace.py,sha256=KPt067nYTqqi8KLTClyynn4eVzNDC_-MApXNVHRXVX0,1139 -pip/_vendor/html5lib/treeadapters/__init__.py,sha256=l3LcqMSEyoh99Jh_eWjGexHnIvKhLAXoP-LDz88whuM,208 -pip/_vendor/html5lib/treeadapters/genshi.py,sha256=6VIuHDNoExv1JWv3ePj6V5CM-tcyiUSWe5_Hd2ejbwY,1555 -pip/_vendor/html5lib/treeadapters/sax.py,sha256=3of4vvaUYIAic7pngebwJV24hpOS7Zg9ggJa_WQegy4,1661 -pip/_vendor/html5lib/treebuilders/__init__.py,sha256=UlB4orkTgZhFIKQdXrtiWn9cpKSsuhnOQOIHeD0Fv4k,3406 -pip/_vendor/html5lib/treebuilders/base.py,sha256=4vdjm_Z2f_GTQBwKnWlrzVcctTb-K5sfN8pXDaWODiA,13942 -pip/_vendor/html5lib/treebuilders/dom.py,sha256=SY3MsijXyzdNPc8aK5IQsupBoM8J67y56DgNtGvsb9g,8835 -pip/_vendor/html5lib/treebuilders/etree.py,sha256=aqIBOGj_dFYqBURIcTegGNBhAIJOw5iFDHb4jrkYH-8,12764 -pip/_vendor/html5lib/treebuilders/etree_lxml.py,sha256=CEgwHMIQZvIDFAqct4kqPkVtyKIm9efHFq_VeExEPCA,14161 -pip/_vendor/html5lib/treewalkers/__init__.py,sha256=CFpUOCfLuhAgVJ8NYk9wviCu1khYnv7XRStvyzU1Fws,5544 -pip/_vendor/html5lib/treewalkers/base.py,sha256=ei-2cFbNFd0gRjyaFmxnxZGLNID4o0bHFCH9bMyZ5Bk,4939 -pip/_vendor/html5lib/treewalkers/dom.py,sha256=EHyFR8D8lYNnyDU9lx_IKigVJRyecUGua0mOi7HBukc,1413 -pip/_vendor/html5lib/treewalkers/etree.py,sha256=8jVLEY2FjgN4RFugwhAh44l9ScVYoDStQFCnlPwvafI,4684 -pip/_vendor/html5lib/treewalkers/etree_lxml.py,sha256=sY6wfRshWTllu6n48TPWpKsQRPp-0CQrT0hj_AdzHSU,6309 -pip/_vendor/html5lib/treewalkers/genshi.py,sha256=4D2PECZ5n3ZN3qu3jMl9yY7B81jnQApBQSVlfaIuYbA,2309 -pip/_vendor/lockfile/__init__.py,sha256=Tqpz90DwKYfhPsfzVOJl84TL87pdFE5ePNHdXAxs4Tk,9371 -pip/_vendor/lockfile/linklockfile.py,sha256=C7OH3H4GdK68u4FQgp8fkP2kO4fyUTSyj3X6blgfobc,2652 -pip/_vendor/lockfile/mkdirlockfile.py,sha256=e3qgIL-etZMLsS-3ft19iW_8IQ360HNkGOqE3yBKsUw,3096 -pip/_vendor/lockfile/pidlockfile.py,sha256=ukH9uk6NFuxyVmG5QiWw4iKq3fT7MjqUguX95avYPIY,6090 -pip/_vendor/lockfile/sqlitelockfile.py,sha256=o2TMkMRY0iwn-iL1XMRRIFStMUkS4i3ajceeYNntKFg,5506 -pip/_vendor/lockfile/symlinklockfile.py,sha256=ABwXXmvTHvCl5viPblShL3PG-gGsLiT1roAMfDRwhi8,2616 -pip/_vendor/packaging/__about__.py,sha256=zkcCPTN_6TcLW0Nrlg0176-R1QQ_WVPTm8sz1R4-HjM,720 -pip/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513 -pip/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860 -pip/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416 -pip/_vendor/packaging/markers.py,sha256=mtg2nphJE1oQO39g1DgsdPsMO-guBBClpR-AEYFrbMg,8230 -pip/_vendor/packaging/requirements.py,sha256=SD7dVJGjdPUqtoHb47qwK6wWJTQd-ZXWjxpJg83UcBA,4327 -pip/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025 -pip/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421 -pip/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556 -pip/_vendor/pkg_resources/__init__.py,sha256=CcwuHtCBZn9OTkmgF9cFpadIAMhlrnZTVKTOo4V2p58,103230 -pip/_vendor/progress/__init__.py,sha256=Wn1074LUDZovd4zfoVYojnPBgOc6ctHbQX7rp_p8lRA,3023 -pip/_vendor/progress/bar.py,sha256=YNPJeRrwYVKFO2nyaEwsQjYByamMWTgJMvQO1NpD-AY,2685 -pip/_vendor/progress/counter.py,sha256=kEqA8jWEdwrc6P_9VaRx7bjOHwk9gxl-Q9oVbQ08v5c,1502 -pip/_vendor/progress/helpers.py,sha256=FehfwZTv-5cCfsbcMlvlUkm3xZ0cRhsev6XVpmeTF4c,2854 -pip/_vendor/progress/spinner.py,sha256=iCVtUQbaJUFHTjn1ZLPQLPYeao4lC9aXAa_HxIeUK6k,1314 -pip/_vendor/requests/__init__.py,sha256=Cde-qxOWcslaEcPvKAJQPFbY8_va8PMbU7Rssr7vViI,2326 -pip/_vendor/requests/adapters.py,sha256=DJdgax91PyS2s6_oZPELbuLWNlM2xGguNu62sqcOUik,19740 -pip/_vendor/requests/api.py,sha256=PgminOpD8hLLKLNs0RWLKr1HpNc4Qxr_6uen8q2c9CI,5794 -pip/_vendor/requests/auth.py,sha256=eBLtJlcTZxRG7xKXCvGQBLO9a-PxFgMf2qTUbtZwMJM,8175 -pip/_vendor/requests/cacert.pem,sha256=5xzWFRrSP0ZsXiW6emg8UQ_w497lT4qWCv32OO8R1ME,344712 -pip/_vendor/requests/certs.py,sha256=Aa-oStu9f2lVi8VM9Aw1xaAtTIz7bhu5CGKNPEW1waM,625 -pip/_vendor/requests/compat.py,sha256=0cgWB43LEX5OrX1O4k-bPbFlIbWXgEd412DSDJtF1Y8,1687 -pip/_vendor/requests/cookies.py,sha256=awMI0hm3SKheMEDTqO8AIadc2XmnCGKPCTNw_4hlM3Q,18208 -pip/_vendor/requests/exceptions.py,sha256=x-MGvDASYKSstuCNYTA5IT_EAcxTp5knE3WPMrgkrlI,2860 -pip/_vendor/requests/hooks.py,sha256=HXAHoC1FNTFRZX6-lNdvPM7Tst4kvGwYTN-AOKRxoRU,767 -pip/_vendor/requests/models.py,sha256=YHuL2khGDFxeWc-NMJIcfFqvYJ0dKs1mXfj1Fuff1J8,30532 -pip/_vendor/requests/sessions.py,sha256=H7HpKRLKeu1MSH5W1-PI2GMCFLN4bz5i3OFqjjgzE5k,25609 -pip/_vendor/requests/status_codes.py,sha256=uwVHcMPkHV3FElDLlnDTH3KULZIAGxaovbBxrjWm8N0,3316 -pip/_vendor/requests/structures.py,sha256=yexCvWbX40M6E8mLQOpAGZZ-ZoAnyaT2dni-Bp-b42g,3012 -pip/_vendor/requests/utils.py,sha256=9d3jqnA8avsF9N1QPmsk2pJgo2pxuExrN2hoIhtLggY,24163 -pip/_vendor/requests/packages/__init__.py,sha256=CVheqNRcXIkAi5037RhxeqbAqd0QhrK1o9R9kS2xvuI,1384 -pip/_vendor/requests/packages/chardet/__init__.py,sha256=XuTKCYOR7JwsoHxqZTYH86LVyMDbDI3s1s0W_qoGEBM,1295 -pip/_vendor/requests/packages/chardet/big5freq.py,sha256=D8oTdz-GM7Jg8TsaWJDm65vM_OLHC3xub6qUJ3rOgsQ,82594 -pip/_vendor/requests/packages/chardet/big5prober.py,sha256=XX96C--6WKYW36mL-z7pJSAtc169Z8ZImByCP4pEN9A,1684 -pip/_vendor/requests/packages/chardet/chardetect.py,sha256=f4299UZG6uWd3i3r_N0OdrFj2sA9JFI54PAmDLAFmWA,2504 -pip/_vendor/requests/packages/chardet/chardistribution.py,sha256=cUARQFr1oTLXeJCDQrDRkUP778AvSMzhSCnG8VLCV58,9226 -pip/_vendor/requests/packages/chardet/charsetgroupprober.py,sha256=0lKk7VE516fgMw119tNefFqLOxKfIE9WfdkpIT69OKU,3791 -pip/_vendor/requests/packages/chardet/charsetprober.py,sha256=Z48o2KiOj23FNqYH8FqzhH5m1qdm3rI8DcTm2Yqtklg,1902 -pip/_vendor/requests/packages/chardet/codingstatemachine.py,sha256=E85rYhHVMw9xDEJVgiQhp0OnLGr6i2r8_7QOWMKTH08,2318 -pip/_vendor/requests/packages/chardet/compat.py,sha256=5mm6yrHwef1JEG5OxkPJlSq5lkjLVpEGh3iPgFBkpkM,1157 -pip/_vendor/requests/packages/chardet/constants.py,sha256=-UnY8U7EP7z9fTyd09yq35BEkSFEAUAiv9ohd1DW1s4,1335 -pip/_vendor/requests/packages/chardet/cp949prober.py,sha256=FMvdLyB7fejPXRsTbca7LK1P3RUvvssmjUNyaEfz8zY,1782 -pip/_vendor/requests/packages/chardet/escprober.py,sha256=q5TcQKeVq31WxrW7Sv8yjpZkjEoaHO8S92EJZ9hodys,3187 -pip/_vendor/requests/packages/chardet/escsm.py,sha256=7iljEKN8lXTh8JFXPUSwlibMno6R6ksq4evLxbkzfro,7839 -pip/_vendor/requests/packages/chardet/eucjpprober.py,sha256=5IpfSEjAb7h3hcGMd6dkU80O900C2N6xku28rdYFKuc,3678 -pip/_vendor/requests/packages/chardet/euckrfreq.py,sha256=T5saK5mImySG5ygQPtsp6o2uKulouCwYm2ElOyFkJqU,45978 -pip/_vendor/requests/packages/chardet/euckrprober.py,sha256=Wo7dnZ5Erw_nB4H-m5alMiOxOuJUmGHlwCSaGqExDZA,1675 -pip/_vendor/requests/packages/chardet/euctwfreq.py,sha256=G_I0BW9i1w0ONeeUwIYqV7_U09buIHdqh-wNHVaql7I,34872 -pip/_vendor/requests/packages/chardet/euctwprober.py,sha256=upS2P6GuT5ujOxXYw-RJLcT7A4PTuo27KGUKU4UZpIQ,1676 -pip/_vendor/requests/packages/chardet/gb2312freq.py,sha256=M2gFdo_qQ_BslStEchrPW5CrPEZEacC0uyDLw4ok-kY,36011 -pip/_vendor/requests/packages/chardet/gb2312prober.py,sha256=VWnjoRa83Y6V6oczMaxyUr0uy48iCnC2nzk9zfEIRHc,1681 -pip/_vendor/requests/packages/chardet/hebrewprober.py,sha256=8pdoUfsVXf_L4BnJde_BewS6H2yInV5688eu0nFhLHY,13359 -pip/_vendor/requests/packages/chardet/jisfreq.py,sha256=ZcL4R5ekHHbP2KCYGakVMBsiKqZZZAABzhwi-uRkOps,47315 -pip/_vendor/requests/packages/chardet/jpcntx.py,sha256=yftmp0QaF6RJO5SJs8I7LU5AF4rwP23ebeCQL4BM1OY,19348 -pip/_vendor/requests/packages/chardet/langbulgarianmodel.py,sha256=ZyPsA796MSVhYdfWhMCgKWckupAKAnKqWcE3Cl3ej6o,12784 -pip/_vendor/requests/packages/chardet/langcyrillicmodel.py,sha256=fkcd5OvogUp-GrNDWAZPgkYsSRCD2omotAEvqjlmLKE,17725 -pip/_vendor/requests/packages/chardet/langgreekmodel.py,sha256=QHMy31CH_ot67UCtmurCEKqKx2WwoaKrw2YCYYBK2Lw,12628 -pip/_vendor/requests/packages/chardet/langhebrewmodel.py,sha256=4ASl5vzKJPng4H278VHKtRYC03TpQpenlHTcsmZH1rE,11318 -pip/_vendor/requests/packages/chardet/langhungarianmodel.py,sha256=SXwuUzh49_cBeMXhshRHdrhlkz0T8_pZWV_pdqBKNFk,12536 -pip/_vendor/requests/packages/chardet/langthaimodel.py,sha256=-k7djh3dGKngAGnt3WfuoJN7acDcWcmHAPojhaUd7q4,11275 -pip/_vendor/requests/packages/chardet/latin1prober.py,sha256=238JHOxH8aRudJY2NmeSv5s7i0Qe3GuklIU3HlYybvg,5232 -pip/_vendor/requests/packages/chardet/mbcharsetprober.py,sha256=9rOCjDVsmSMp6e7q2syqak22j7lrbUZhJhMee2gbVL0,3268 -pip/_vendor/requests/packages/chardet/mbcsgroupprober.py,sha256=SHRzNPLpDXfMJLA8phCHVU0WgqbgDCNxDQMolGX_7yk,1967 -pip/_vendor/requests/packages/chardet/mbcssm.py,sha256=IKwJXyxu34n6NojmxVxC60MLFtJKm-hIfxaFEnb3uBA,19590 -pip/_vendor/requests/packages/chardet/sbcharsetprober.py,sha256=Xq0lODqJnDgxglBiQI4BqTFiPbn63-0a5XNA5-hVu7U,4793 -pip/_vendor/requests/packages/chardet/sbcsgroupprober.py,sha256=8hLyH8RAG-aohBo7o_KciWVgRo42ZE_zEtuNG1JMRYI,3291 -pip/_vendor/requests/packages/chardet/sjisprober.py,sha256=UYOmiMDzttYIkSDoOB08UEagivJpUXz4tuWiWzTiOr8,3764 -pip/_vendor/requests/packages/chardet/universaldetector.py,sha256=h-E2x6XSCzlNjycYWG0Fe4Cf1SGdaIzUNu2HCphpMZA,6840 -pip/_vendor/requests/packages/chardet/utf8prober.py,sha256=7tdNZGrJY7jZUBD483GGMkiP0Tx8Fp-cGvWHoAsilHg,2652 -pip/_vendor/requests/packages/urllib3/__init__.py,sha256=EF9pbHgMzqQek2Y6EZ82A8B6wETFeW7bK0K-HoZ3Ffo,2852 -pip/_vendor/requests/packages/urllib3/_collections.py,sha256=RP-cHyTx4AgYwvoETK8q1IVRbWFJnE0VV692ZHSbU68,10553 -pip/_vendor/requests/packages/urllib3/connection.py,sha256=QCmkelYgtbc06DfJtgs22na78kRTLCTbLb-OSWLbt-A,11617 -pip/_vendor/requests/packages/urllib3/connectionpool.py,sha256=fls19n1Y4jnwOBsZz_9F01i08xH2gZXEIyyDmWd-mKU,33591 -pip/_vendor/requests/packages/urllib3/exceptions.py,sha256=zGjhZCR1wefEnCN5b7WouQ3UhXesJ2bRKYIeWusaFJs,5599 -pip/_vendor/requests/packages/urllib3/fields.py,sha256=WUMvCLvnw7XemBq6AmCgNPJwyIJL_vWaMHaA2FLlscM,5931 -pip/_vendor/requests/packages/urllib3/filepost.py,sha256=NvLlFsdt8ih_Q4S2ekQF3CJG0nOXs32YI-G04_AdT2g,2320 -pip/_vendor/requests/packages/urllib3/poolmanager.py,sha256=9Uf0fUk0aR_s1auXgwceoN2gbaIQ08lrum_cGEA9-_U,13092 -pip/_vendor/requests/packages/urllib3/request.py,sha256=jET7OvA3FSjxABBRGhCyMdPvM9XuJA6df9gRhkJiJiY,5988 -pip/_vendor/requests/packages/urllib3/response.py,sha256=wxJSV_6pyh6Cgx7XFVGpNhpZCbh4eL7lCSFaU4ixXXc,18615 -pip/_vendor/requests/packages/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/_vendor/requests/packages/urllib3/contrib/appengine.py,sha256=NdN_xOgDLMadUPe_dN3wdan_DH9-fxVNqFgq19tbqQs,7937 -pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py,sha256=r-vMDMXAGbix9a7-IhbKVTATmAst-5g4hKYOLf8Kd5M,4531 -pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py,sha256=JsdAh0gL4XvQzhOEBRoFtJN91qLf1LFIDEFZs95445I,11778 -pip/_vendor/requests/packages/urllib3/contrib/socks.py,sha256=uPHtE6R8uyUbD9R8l2wO80c87WDGZ9rou3kNOwV74eA,5668 -pip/_vendor/requests/packages/urllib3/packages/__init__.py,sha256=nlChrGzkjCkmhCX9HrF_qHPUgosfsPQkVIJxiiLhk9g,109 -pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py,sha256=VQaPONfhVMsb8B63Xg7ZOydJqIE_jzeMhVN3Pec6ogw,8935 -pip/_vendor/requests/packages/urllib3/packages/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 -pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py,sha256=cOWMIn1orgJoA35p6pSzO_-Dc6iOX9Dhl6D2sL9b_2o,460 -pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py,sha256=fK28k37hL7-D79v9iM2fHgNK9Q1Pw0M7qVRL4rkfFjQ,3778 -pip/_vendor/requests/packages/urllib3/util/__init__.py,sha256=n2QE9_0Bb6u8tf7LUc4qKe8V-Hz9G8lEOc9j_30Q8d0,892 -pip/_vendor/requests/packages/urllib3/util/connection.py,sha256=7B5Mmepg5Xd399VKE__VHxD2ObapYFrB3mWJ_EnIebs,4744 -pip/_vendor/requests/packages/urllib3/util/request.py,sha256=ZMDewRK-mjlK72szGIIjzYnLIn-zPP0WgJUMjKeZ6Tg,2128 -pip/_vendor/requests/packages/urllib3/util/response.py,sha256=1UFd5TIp9MyBp4xgnZoyQZscZVPPr0tWRaXNR5w_vds,2165 -pip/_vendor/requests/packages/urllib3/util/retry.py,sha256=5eA3GHR_L14qz66NU6gr-v5VbKYsvdEqOvCcsx1oLKo,10664 -pip/_vendor/requests/packages/urllib3/util/ssl_.py,sha256=7xR_jvQLTQA1U006wJ1bl2KuLGnD1qQvUcFM2uysedw,11622 -pip/_vendor/requests/packages/urllib3/util/timeout.py,sha256=ioAIYptFyBG7eU_r8_ZmO45hpj1dJE6WCvrGR9dNFjs,9596 -pip/_vendor/requests/packages/urllib3/util/url.py,sha256=EcX4ZfmgKWcqM4sY9FlC-yN4y_snuURPV0TpUPHNjnc,5879 -pip/_vendor/webencodings/__init__.py,sha256=t7rAQQxXwalY-ak9hTl73qHjhia9UH-sL-e00qQrBpo,10576 -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=7vTk7LgOJn_t1XtT_viofZlEJ7cJCzPe_hvVHOkcQl8,6562 -pip/_vendor/webencodings/x_user_defined.py,sha256=72cfPRhbfkRCGkkA8ZnvVV7UnoiLb5uPMhXwhrXiLPk,4306 -pip/commands/__init__.py,sha256=2Uq3HCdjchJD9FL1LB7rd5v6UySVAVizX0W3EX3hIoE,2244 -pip/commands/check.py,sha256=-A7GI1-WZBh9a4P6UoH_aR-J7I8Lz8ly7m3wnCjmevs,1382 -pip/commands/completion.py,sha256=kkPgVX7SUcJ_8Juw5GkgWaxHN9_45wmAr9mGs1zXEEs,2453 -pip/commands/download.py,sha256=8RuuPmSYgAq3iEDTqZY_1PDXRqREdUULHNjWJeAv7Mo,7810 -pip/commands/freeze.py,sha256=h6-yFMpjCjbNj8-gOm5UuoF6cg14N5rPV4TCi3_CeuI,2835 -pip/commands/hash.py,sha256=MCt4jEFyfoce0lVeNEz1x49uaTY-VDkKiBvvxrVcHkw,1597 -pip/commands/help.py,sha256=84HWkEdnGP_AEBHnn8gJP2Te0XTXRKFoXqXopbOZTNo,982 -pip/commands/install.py,sha256=ovG9p9n1X2NPqMgFVtSuT9kMbLAdx1r3YSSiXSvgOKI,17412 -pip/commands/list.py,sha256=93bCiFyt2Qut_YHkYHJMZHpXladmxsjS-yOtZeb3uqI,11369 -pip/commands/search.py,sha256=oTs9QNdefnrmCV_JeftG0PGiMuYVmiEDF1OUaYsmDao,4502 -pip/commands/show.py,sha256=ZYM57_7U8KP9MQIIyHKQdZxmiEZByy-DRzB697VFoTY,5891 -pip/commands/uninstall.py,sha256=tz8cXz4WdpUdnt3RvpdQwH6_SNMB50egBIZWa1dwfcc,2884 -pip/commands/wheel.py,sha256=z5SEhws2YRMb0Ml1IEkg6jFZMLRpLl86bHCrQbYt5zo,7729 -pip/compat/__init__.py,sha256=2Xs_IpsmdRgHbQgQO0c8_lPvHJnQXHyGWxPbLbYJL4c,4672 -pip/compat/dictconfig.py,sha256=dRrelPDWrceDSzFT51RTEVY2GuM7UDyc5Igh_tn4Fvk,23096 -pip/models/__init__.py,sha256=0Rs7_RA4DxeOkWT5Cq4CQzDrSEhvYcN3TH2cazr72PE,71 -pip/models/index.py,sha256=pUfbO__v3mD9j-2n_ClwPS8pVyx4l2wIwyvWt8GMCRA,487 -pip/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pip/operations/check.py,sha256=uwUN9cs1sPo7c0Sj6pRrSv7b22Pk29SXUImTelVchMQ,1590 -pip/operations/freeze.py,sha256=k-7w7LsM-RpPv7ERBzHiPpYkH-GuYfHLyR-Cp_1VPL0,5194 -pip/req/__init__.py,sha256=vFwZY8_Vc1WU1zFAespg1My_r_AT3n7cN0W9eX0EFqk,276 -pip/req/req_file.py,sha256=fG9MDsXUNPhmGwxUiwrIXEynyD8Q7s3L47-hLZPDXq0,11926 -pip/req/req_install.py,sha256=gYrH-lwQMmt55VVbav_EtRIPu94cQbHFHm_Kq6AeHbg,46487 -pip/req/req_set.py,sha256=jHspXqcA2FxcF05dgUIAZ5huYPv6bn0wRUX0Z7PKmaA,34462 -pip/req/req_uninstall.py,sha256=fdH2VgCjEC8NRYDS7fRu3ZJaBBUEy-N5muwxDX5MBNM,6897 -pip/utils/__init__.py,sha256=HX_wYS15oiYOz-H3qG1Kbi1CY7AGWCNK5jloiD0fauc,27187 -pip/utils/appdirs.py,sha256=kj2LK-I2fC5QnEh_A_v-ev_IQMcXaWWF5DE39sNvCLQ,8811 -pip/utils/build.py,sha256=4smLRrfSCmXmjEnVnMFh2tBEpNcSLRe6J0ejZJ-wWJE,1312 -pip/utils/deprecation.py,sha256=X_FMjtDbMJqfqEkdRrki-mYyIdPB6I6DHUTCA_ChY6M,2232 -pip/utils/encoding.py,sha256=NQxGiFS5GbeAveLZTnx92t5r0PYqvt0iRnP2u9SGG1w,971 -pip/utils/filesystem.py,sha256=ZEVBuYM3fqr2_lgOESh4Y7fPFszGD474zVm_M3Mb5Tk,899 -pip/utils/glibc.py,sha256=jcQYjt_oJLPKVZB28Kauy4Sw70zS-wawxoU1HHX36_0,2939 -pip/utils/hashes.py,sha256=oMk7cd3PbJgzpSQyXq1MytMud5f6H5Oa2YY5hYuCq6I,2866 -pip/utils/logging.py,sha256=7yWu4gZw-Qclj7X80QVdpGWkdTWGKT4LiUVKcE04pro,3327 -pip/utils/outdated.py,sha256=fNwOCL5r2EftPGhgCYGMKu032HC8cV-JAr9lp0HmToM,5455 -pip/utils/packaging.py,sha256=qhmli14odw6DIhWJgQYS2Q0RrSbr8nXNcG48f5yTRms,2080 -pip/utils/setuptools_build.py,sha256=0blfscmNJW_iZ5DcswJeDB_PbtTEjfK9RL1R1WEDW2E,278 -pip/utils/ui.py,sha256=pbDkSAeumZ6jdZcOJ2yAbx8iBgeP2zfpqNnLJK1gskQ,11597 -pip/vcs/__init__.py,sha256=WafFliUTHMmsSISV8PHp1M5EXDNSWyJr78zKaQmPLdY,12374 -pip/vcs/bazaar.py,sha256=tYTwc4b4off8mr0O2o8SiGejqBDJxcbDBMSMd9-ISYc,3803 -pip/vcs/git.py,sha256=5LfWryi78A-2ULjEZJvCTarJ_3l8venwXASlwm8hiug,11197 -pip/vcs/mercurial.py,sha256=xG6rDiwHCRytJEs23SIHBXl_SwQo2jkkdD_6rVVP5h4,3472 -pip/vcs/subversion.py,sha256=GAuX2Sk7IZvJyEzENKcVld_wGBrQ3fpXDlXjapZEYdI,9350 -pip-9.0.1.dist-info/DESCRIPTION.rst,sha256=Va8Wj1XBpTbVQ2Z41mZRJdALEeziiS_ZewWn1H2ecY4,1287 -pip-9.0.1.dist-info/METADATA,sha256=mvs_tLoKAbECXY_6QHiVWQsagSL-1UjolQTpScT8JSk,2529 -pip-9.0.1.dist-info/RECORD,, -pip-9.0.1.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -pip-9.0.1.dist-info/entry_points.txt,sha256=GWc-Wb9WUKZ1EuVWNz-G0l3BeIpbNJLx0OJbZ61AAV0,68 -pip-9.0.1.dist-info/metadata.json,sha256=aqvkETDy4mHUBob-2Fn5WWlXORi_M2OSfQ2HQCUU_Fk,1565 -pip-9.0.1.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -../../../bin/pip,sha256=rlrvRQhvU5Cu7xG_8MsC70R6lIPjNozmDHlu8cfUl5U,247 -../../../bin/pip3,sha256=rlrvRQhvU5Cu7xG_8MsC70R6lIPjNozmDHlu8cfUl5U,247 -../../../bin/pip3.6,sha256=rlrvRQhvU5Cu7xG_8MsC70R6lIPjNozmDHlu8cfUl5U,247 -pip-9.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pip/compat/__pycache__/dictconfig.cpython-36.pyc,, -pip/compat/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/_structures.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/version.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/requirements.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/markers.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/_compat.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/__about__.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/utils.cpython-36.pyc,, -pip/_vendor/packaging/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc,, -pip/_vendor/webencodings/__pycache__/tests.cpython-36.pyc,, -pip/_vendor/webencodings/__pycache__/mklabels.cpython-36.pyc,, -pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-36.pyc,, -pip/_vendor/progress/__pycache__/bar.cpython-36.pyc,, -pip/_vendor/progress/__pycache__/counter.cpython-36.pyc,, -pip/_vendor/progress/__pycache__/spinner.cpython-36.pyc,, -pip/_vendor/progress/__pycache__/helpers.cpython-36.pyc,, -pip/_vendor/progress/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-36.pyc,, -pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-36.pyc,, -pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/distlib/_backport/__pycache__/misc.cpython-36.pyc,, -pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/manifest.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/util.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/database.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/scripts.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/wheel.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/locators.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/version.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/index.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/markers.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/resources.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/compat.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/metadata.cpython-36.pyc,, -pip/_vendor/distlib/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/colorama/__pycache__/win32.cpython-36.pyc,, -pip/_vendor/colorama/__pycache__/initialise.cpython-36.pyc,, -pip/_vendor/colorama/__pycache__/ansi.cpython-36.pyc,, -pip/_vendor/colorama/__pycache__/winterm.cpython-36.pyc,, -pip/_vendor/colorama/__pycache__/ansitowin32.cpython-36.pyc,, -pip/_vendor/colorama/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.pyc,, -pip/_vendor/lockfile/__pycache__/pidlockfile.cpython-36.pyc,, -pip/_vendor/lockfile/__pycache__/linklockfile.cpython-36.pyc,, -pip/_vendor/lockfile/__pycache__/symlinklockfile.cpython-36.pyc,, -pip/_vendor/lockfile/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/lockfile/__pycache__/sqlitelockfile.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/controller.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/serialize.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/compat.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/cache.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/adapter.cpython-36.pyc,, -pip/_vendor/cachecontrol/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-36.pyc,, -pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-36.pyc,, -pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/__pycache__/appdirs.cpython-36.pyc,, -pip/_vendor/__pycache__/ipaddress.cpython-36.pyc,, -pip/_vendor/__pycache__/six.cpython-36.pyc,, -pip/_vendor/__pycache__/retrying.cpython-36.pyc,, -pip/_vendor/__pycache__/re-vendor.cpython-36.pyc,, -pip/_vendor/__pycache__/distro.cpython-36.pyc,, -pip/_vendor/__pycache__/ordereddict.cpython-36.pyc,, -pip/_vendor/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/__pycache__/pyparsing.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/exceptions.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/certs.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/structures.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/sessions.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/status_codes.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/models.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/compat.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/adapters.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/hooks.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/auth.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/utils.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/cookies.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/requests/__pycache__/api.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/langgreekmodel.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/sjisprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/mbcharsetprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/eucjpprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/chardetect.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/cp949prober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/constants.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/euctwfreq.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/gb2312prober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/sbcsgroupprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/langhebrewmodel.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/euckrprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/euckrfreq.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/chardistribution.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/escsm.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/euctwprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/big5freq.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/compat.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/hebrewprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/latin1prober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/universaldetector.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/escprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/codingstatemachine.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/utf8prober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/langhungarianmodel.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/gb2312freq.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/langthaimodel.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/jpcntx.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/mbcssm.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/big5prober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/sbcharsetprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/langcyrillicmodel.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/jisfreq.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/charsetgroupprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/langbulgarianmodel.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/mbcsgroupprober.cpython-36.pyc,, -pip/_vendor/requests/packages/chardet/__pycache__/charsetprober.cpython-36.pyc,, -pip/_vendor/requests/packages/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/timeout.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/response.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/url.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/request.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/connection.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/retry.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/ssl_.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/util/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/poolmanager.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/response.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/exceptions.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/request.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/filepost.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/connectionpool.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/connection.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/_collections.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/fields.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/contrib/__pycache__/ntlmpool.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/contrib/__pycache__/appengine.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/contrib/__pycache__/socks.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/contrib/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/contrib/__pycache__/pyopenssl.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/packages/__pycache__/six.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/packages/__pycache__/ordered_dict.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/packages/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-36.pyc,, -pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/lint.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/base.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-36.pyc,, -pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-36.pyc,, -pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-36.pyc,, -pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-36.pyc,, -pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-36.pyc,, -pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-36.pyc,, -pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-36.pyc,, -pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-36.pyc,, -pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-36.pyc,, -pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-36.pyc,, -pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/constants.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/serializer.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/html5parser.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/_utils.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/_inputstream.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-36.pyc,, -pip/_vendor/html5lib/_trie/__pycache__/datrie.cpython-36.pyc,, -pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-36.pyc,, -pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/html5lib/_trie/__pycache__/py.cpython-36.pyc,, -pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-36.pyc,, -pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-36.pyc,, -pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-36.pyc,, -pip/_vendor/pkg_resources/__pycache__/__init__.cpython-36.pyc,, -pip/utils/__pycache__/logging.cpython-36.pyc,, -pip/utils/__pycache__/appdirs.cpython-36.pyc,, -pip/utils/__pycache__/build.cpython-36.pyc,, -pip/utils/__pycache__/deprecation.cpython-36.pyc,, -pip/utils/__pycache__/filesystem.cpython-36.pyc,, -pip/utils/__pycache__/glibc.cpython-36.pyc,, -pip/utils/__pycache__/outdated.cpython-36.pyc,, -pip/utils/__pycache__/encoding.cpython-36.pyc,, -pip/utils/__pycache__/hashes.cpython-36.pyc,, -pip/utils/__pycache__/packaging.cpython-36.pyc,, -pip/utils/__pycache__/ui.cpython-36.pyc,, -pip/utils/__pycache__/setuptools_build.cpython-36.pyc,, -pip/utils/__pycache__/__init__.cpython-36.pyc,, -pip/models/__pycache__/index.cpython-36.pyc,, -pip/models/__pycache__/__init__.cpython-36.pyc,, -pip/__pycache__/exceptions.cpython-36.pyc,, -pip/__pycache__/wheel.cpython-36.pyc,, -pip/__pycache__/status_codes.cpython-36.pyc,, -pip/__pycache__/index.cpython-36.pyc,, -pip/__pycache__/download.cpython-36.pyc,, -pip/__pycache__/basecommand.cpython-36.pyc,, -pip/__pycache__/locations.cpython-36.pyc,, -pip/__pycache__/__main__.cpython-36.pyc,, -pip/__pycache__/pep425tags.cpython-36.pyc,, -pip/__pycache__/__init__.cpython-36.pyc,, -pip/__pycache__/baseparser.cpython-36.pyc,, -pip/__pycache__/cmdoptions.cpython-36.pyc,, -pip/operations/__pycache__/check.cpython-36.pyc,, -pip/operations/__pycache__/freeze.cpython-36.pyc,, -pip/operations/__pycache__/__init__.cpython-36.pyc,, -pip/req/__pycache__/req_set.cpython-36.pyc,, -pip/req/__pycache__/req_uninstall.cpython-36.pyc,, -pip/req/__pycache__/req_install.cpython-36.pyc,, -pip/req/__pycache__/req_file.cpython-36.pyc,, -pip/req/__pycache__/__init__.cpython-36.pyc,, -pip/vcs/__pycache__/subversion.cpython-36.pyc,, -pip/vcs/__pycache__/git.cpython-36.pyc,, -pip/vcs/__pycache__/__init__.cpython-36.pyc,, -pip/vcs/__pycache__/mercurial.cpython-36.pyc,, -pip/vcs/__pycache__/bazaar.cpython-36.pyc,, -pip/commands/__pycache__/show.cpython-36.pyc,, -pip/commands/__pycache__/help.cpython-36.pyc,, -pip/commands/__pycache__/wheel.cpython-36.pyc,, -pip/commands/__pycache__/completion.cpython-36.pyc,, -pip/commands/__pycache__/check.cpython-36.pyc,, -pip/commands/__pycache__/download.cpython-36.pyc,, -pip/commands/__pycache__/hash.cpython-36.pyc,, -pip/commands/__pycache__/list.cpython-36.pyc,, -pip/commands/__pycache__/install.cpython-36.pyc,, -pip/commands/__pycache__/search.cpython-36.pyc,, -pip/commands/__pycache__/freeze.cpython-36.pyc,, -pip/commands/__pycache__/uninstall.cpython-36.pyc,, -pip/commands/__pycache__/__init__.cpython-36.pyc,, +pip/__init__.py,sha256=00QWSreEBjb8Y8sPs8HeqgLXSB-3UrONJxo4J5APxEc,11348 +pip/__main__.py,sha256=V6Kh-IEDEFpt1cahRE6MajUF_14qJR_Qsvn4MjWZXzE,584 +pip/basecommand.py,sha256=TTlmZesQ4Vuxcto2KqwZGmgmN5ioHEl_DeFev9ie_SA,11910 +pip/baseparser.py,sha256=AKMOeF3fTrRroiv0DmTQbdiLW0DQux2KqGC_dJJB9d0,10465 +pip/cmdoptions.py,sha256=8JCcF2kKAF2cFnV77oW-3DsHJifr9jF2WuChzzwgcwg,16474 +pip/download.py,sha256=rA0wbmqC2n9ejX481YJSidmKgQqQDjdaxkHkHlAN68k,32171 +pip/exceptions.py,sha256=BvqH-Jw3tP2b-2IJ2kjrQemOAPMqKrQMLRIZHZQpJXk,8121 +pip/index.py,sha256=L6UhtAEZc2qw7BqfQrkPQcw2gCgEw3GukLRSA95BNyI,39950 +pip/locations.py,sha256=9rJRlgonC6QC2zGDIn_7mXaoZ9_tF_IHM2BQhWVRgbo,5626 +pip/pep425tags.py,sha256=q3kec4f6NHszuGYIhGIbVvs896D06uJAnKFgJ_wce44,10980 +pip/status_codes.py,sha256=F6uDG6Gj7RNKQJUDnd87QKqI16Us-t-B0wPF_4QMpWc,156 +pip/wheel.py,sha256=QSWmGs2ui-n4UMWm0JUY6aMCcwNKungVzbWsxI9KlJQ,32010 +pip/_vendor/__init__.py,sha256=WaaSJ3roSSJ_Uv4yKAxlGohKEH9YUA3aIh1Xg2IjfgU,4670 +pip/_vendor/appdirs.py,sha256=-9UOIZy62ahCQVY9-b7Nn6_5_4Y6ooHnv72tM8iHi9Y,22368 +pip/_vendor/distro.py,sha256=A4Douw9pcqdYxDTp5b-OR02fxVXnfWs-wC1wA89rhRk,38349 +pip/_vendor/ipaddress.py,sha256=wimbqcE7rwwETlucn8A_4Qd_-NKXPOBcNxJHarUoXng,80176 +pip/_vendor/ordereddict.py,sha256=4KsFuc6V8IgHROCHUu-4vCrr21ZPPea7Z0cvX9AjQ7w,4094 +pip/_vendor/pyparsing.py,sha256=7vAuUVbh6txUKQR2IzJ8_9DKmD5vtm5MDssWkI0ka8o,224171 +pip/_vendor/re-vendor.py,sha256=PcdZ40d0ohMsdJmA4t0AeAWbPXi1tFsvAwA5KE5FGeY,773 +pip/_vendor/retrying.py,sha256=k3fflf5_Mm0XcIJYhB7Tj34bqCCPhUDkYbx1NvW2FPE,9972 +pip/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 +pip/_vendor/cachecontrol/__init__.py,sha256=UPyFlz0dIjxusu5ITig9UDFJdSY5LTwijhldn0AfyzU,302 +pip/_vendor/cachecontrol/_cmd.py,sha256=MPxZfZd2LKDzVrs55X3wA1rsI2YuP8evLZSwQj0dIk0,1320 +pip/_vendor/cachecontrol/adapter.py,sha256=RaGYyRA-RA1J0AnE67GzEYFPBu4YH4EQUvQqTKa57iM,4608 +pip/_vendor/cachecontrol/cache.py,sha256=xtl-V-pr9KSt9VvFDRCB9yrHPEvqvbk-5M1vAInZb5k,790 +pip/_vendor/cachecontrol/compat.py,sha256=uyovOpd1ehI3J1XeBqJvcsIp6fvkjBpoQmu_0J2st8c,416 +pip/_vendor/cachecontrol/controller.py,sha256=elDsLcaYA15ncodRmHnWQp6ekU_ocEGtDeGLbsnTjzo,13024 +pip/_vendor/cachecontrol/filewrapper.py,sha256=_K8cStmXqD33m15PfsQ8rlpo6FfXjVbKmjvLXyICRgI,2531 +pip/_vendor/cachecontrol/heuristics.py,sha256=WtJrVsyWjpP9WoUiDVdTZZRNBCz5ZVptaQpYnqofDQU,4141 +pip/_vendor/cachecontrol/serialize.py,sha256=XM6elG9DSNexwaOCgMjUtfrHHW5NAB6TSbIf3x235xs,6536 +pip/_vendor/cachecontrol/wrapper.py,sha256=Kqyu_3TW_54XDudha4-HF21vyEOAJ4ZnRXFysTiLmXA,498 +pip/_vendor/cachecontrol/caches/__init__.py,sha256=uWnUtyMvHY_LULaL_4_IR1F_xPgK5zHfJyRnBq4DnPE,369 +pip/_vendor/cachecontrol/caches/file_cache.py,sha256=FsDug3bwUAQ3okjjfGzxlDaBf2fwVSn1iBKMTL6SyGU,3532 +pip/_vendor/cachecontrol/caches/redis_cache.py,sha256=XywqxkS9MkCaflTOY_wjrE02neKdywB9YwlOBbP7Ywc,973 +pip/_vendor/colorama/__init__.py,sha256=9xByrTvk9upkL5NGV5It2Eje4-kzNLwa_1lGPWpXoNU,240 +pip/_vendor/colorama/ansi.py,sha256=Fi0un-QLqRm-v7o_nKiOqyC8PapBJK7DLV_q9LKtTO0,2524 +pip/_vendor/colorama/ansitowin32.py,sha256=gJZB35Lbdjatykd2zrUUnokMzkvcFgscyn_tNxxMFHA,9668 +pip/_vendor/colorama/initialise.py,sha256=cHqVJtb82OG7HUCxvQ2joG7N_CoxbIKbI_fgryZkj20,1917 +pip/_vendor/colorama/win32.py,sha256=_SCEoTK_GA2tU1nhbayKKac-v9Jn98lCPIFOeFMGCHQ,5365 +pip/_vendor/colorama/winterm.py,sha256=V7U7ojwG1q4n6PKripjEvW_htYQi5ueXSM3LUUoqqDY,6290 +pip/_vendor/distlib/__init__.py,sha256=-aUeNNCfiIG_1Tqf19BH0xLNuBKGX1I7lNhcLYgFUEA,581 +pip/_vendor/distlib/compat.py,sha256=FzKlP9dNUMH-j_1LCVnjgx6KgUbpnRjTjYkTkDYRPlI,40801 +pip/_vendor/distlib/database.py,sha256=jniJmYk0Mj2t6gZYbnn68TvQwnVZ0kXyeuf_3AxFclk,49672 +pip/_vendor/distlib/index.py,sha256=Cw8gxFq_7xXvdgExL3efjLAY3EAPDMSL3VA42RkbQBs,21085 +pip/_vendor/distlib/locators.py,sha256=hD_Hm3aSL9DklY9Cxyct2n_74gZ0xNFFGB5L7M6ds14,51013 +pip/_vendor/distlib/manifest.py,sha256=3qEuZhHlDbvyYZ1BZbdapDAivgMgUwWpZ00cmXqcn18,14810 +pip/_vendor/distlib/markers.py,sha256=iRrVWwpyVwjkKJSX8NEQ92_MRMwpROcfNGKCD-Ch1QM,6282 +pip/_vendor/distlib/metadata.py,sha256=hUsf7Qh2Ae4CCkL33qK8ppwC8ZTzT7ep6Hj9RKpijKU,38833 +pip/_vendor/distlib/resources.py,sha256=VFBVbFqLVqDBSQDXcFQHrX1KEcuoDxTK699Ydi_beyc,10766 +pip/_vendor/distlib/scripts.py,sha256=xpehNfISGPTNxQZu02K9Rw2QbNx_2Q4emePv3W5X0iw,15224 +pip/_vendor/distlib/t32.exe,sha256=cp0UAUDDr1tGAx8adlKxWbCHIa-oB3bxev5zYzgAr8E,89088 +pip/_vendor/distlib/t64.exe,sha256=FiljDPcX9qvoe9FYE_9pNEHqbqMnhcCOuI_oLJ4F9F8,97792 +pip/_vendor/distlib/util.py,sha256=E2wU-RZShPMFUMJr9kPmemTULinM4qDzosNPihCuKE0,52991 +pip/_vendor/distlib/version.py,sha256=CgghOUylxGD7dEA2S3MvWjx7mY_2bWsluF0Of3Yxl4Y,23711 +pip/_vendor/distlib/w32.exe,sha256=LItrBJesEqt2QTQuB-yha2YbMegURHmHmdSxhjBqmnc,85504 +pip/_vendor/distlib/w64.exe,sha256=n_PioBC7ltz7sAk1WLbLzZJgS4R2axSy_0HPf8ZCsEg,94208 +pip/_vendor/distlib/wheel.py,sha256=UP53cKxOM5r7bHSS-n5prF6hwJEVsMW9ZNJutOuC26c,39115 +pip/_vendor/distlib/_backport/__init__.py,sha256=bqS_dTOH6uW9iGgd0uzfpPjo6vZ4xpPZ7kyfZJ2vNaw,274 +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=eSEyJg7jxF_eHlHG8IOtl93kb07UoMIRp1wYsPeGi9k,26955 +pip/_vendor/distlib/_backport/tarfile.py,sha256=Ihp7rXRcjbIKw8COm9wSePV9ARGXbSF9gGXAMn2Q-KU,92628 +pip/_vendor/html5lib/__init__.py,sha256=JsIwmFldk-9raBadPSTS74JrfmJvozc-3aekMi7Hr9s,780 +pip/_vendor/html5lib/_ihatexml.py,sha256=tzXygYmisUmiEUt2v7E1Ab50AKQsrD-SglPRnY75vME,16705 +pip/_vendor/html5lib/_inputstream.py,sha256=C4lX5gUBwebOWy41hYP2ZBpkPVNvxk_hZBm3OVyPZM4,32532 +pip/_vendor/html5lib/_tokenizer.py,sha256=YAaOEBD6qc5ISq9Xt9Nif1OFgcybTTfMdwqBkZhpAq4,76580 +pip/_vendor/html5lib/_utils.py,sha256=bS6THVlL8ZyTcI6CIxiM6xxuHsE8i1j5Ogd3Ha1G84U,4096 +pip/_vendor/html5lib/constants.py,sha256=Dfc1Fv3_9frktgWjg4tbj-CjMMp02Ko9qMe4il1BVdo,83387 +pip/_vendor/html5lib/html5parser.py,sha256=Dmlu9hlq5w_id6mBZyY_sE5LukIACgvG4kpgIsded8Q,117170 +pip/_vendor/html5lib/serializer.py,sha256=Urrsa0cPPLqNX-UbJWS2gUhs_06qVbNxZvUnrmGZK6E,14177 +pip/_vendor/html5lib/_trie/__init__.py,sha256=8VR1bcgD2OpeS2XExpu5yBhP_Q1K-lwKbBKICBPf1kU,289 +pip/_vendor/html5lib/_trie/_base.py,sha256=6P_AcIoGjtwB2qAlhV8H4VP-ztQxoXFGwt4NyMqG_Kw,979 +pip/_vendor/html5lib/_trie/datrie.py,sha256=EQpqSfkZRuTbE-DuhW7xMdVDxdZNZ0CfmnYfHA_3zxM,1178 +pip/_vendor/html5lib/_trie/py.py,sha256=wXmQLrZRf4MyWNyg0m3h81m9InhLR7GJ002mIIZh-8o,1775 +pip/_vendor/html5lib/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/html5lib/filters/alphabeticalattributes.py,sha256=DXv-P2vdQ5F3OTWM6QZ6KhyDlAWm90pbfrD1Bk9D_l0,621 +pip/_vendor/html5lib/filters/base.py,sha256=z-IU9ZAYjpsVsqmVt7kuWC63jR11hDMr6CVrvuao8W0,286 +pip/_vendor/html5lib/filters/inject_meta_charset.py,sha256=2Q_JnMscn_tNbV_qpgYN_5M3PnBGfmuvECMKDExHUcY,2742 +pip/_vendor/html5lib/filters/lint.py,sha256=qf5cLrT6xXd8V7GH1R_3lKxIjuJSfpbWTpSwaglYdDw,3365 +pip/_vendor/html5lib/filters/optionaltags.py,sha256=EHig4kM-QiLjuxVJ3FAAFNy-10k4aV6HJbQzHKZ_3u8,10534 +pip/_vendor/html5lib/filters/sanitizer.py,sha256=7PqJrhm6mo3JvaHk2IQW7i74Or7Qtd-FV8UftJIyDys,25112 +pip/_vendor/html5lib/filters/whitespace.py,sha256=KPt067nYTqqi8KLTClyynn4eVzNDC_-MApXNVHRXVX0,1139 +pip/_vendor/html5lib/treeadapters/__init__.py,sha256=l3LcqMSEyoh99Jh_eWjGexHnIvKhLAXoP-LDz88whuM,208 +pip/_vendor/html5lib/treeadapters/genshi.py,sha256=6VIuHDNoExv1JWv3ePj6V5CM-tcyiUSWe5_Hd2ejbwY,1555 +pip/_vendor/html5lib/treeadapters/sax.py,sha256=3of4vvaUYIAic7pngebwJV24hpOS7Zg9ggJa_WQegy4,1661 +pip/_vendor/html5lib/treebuilders/__init__.py,sha256=UlB4orkTgZhFIKQdXrtiWn9cpKSsuhnOQOIHeD0Fv4k,3406 +pip/_vendor/html5lib/treebuilders/base.py,sha256=4vdjm_Z2f_GTQBwKnWlrzVcctTb-K5sfN8pXDaWODiA,13942 +pip/_vendor/html5lib/treebuilders/dom.py,sha256=SY3MsijXyzdNPc8aK5IQsupBoM8J67y56DgNtGvsb9g,8835 +pip/_vendor/html5lib/treebuilders/etree.py,sha256=aqIBOGj_dFYqBURIcTegGNBhAIJOw5iFDHb4jrkYH-8,12764 +pip/_vendor/html5lib/treebuilders/etree_lxml.py,sha256=CEgwHMIQZvIDFAqct4kqPkVtyKIm9efHFq_VeExEPCA,14161 +pip/_vendor/html5lib/treewalkers/__init__.py,sha256=CFpUOCfLuhAgVJ8NYk9wviCu1khYnv7XRStvyzU1Fws,5544 +pip/_vendor/html5lib/treewalkers/base.py,sha256=ei-2cFbNFd0gRjyaFmxnxZGLNID4o0bHFCH9bMyZ5Bk,4939 +pip/_vendor/html5lib/treewalkers/dom.py,sha256=EHyFR8D8lYNnyDU9lx_IKigVJRyecUGua0mOi7HBukc,1413 +pip/_vendor/html5lib/treewalkers/etree.py,sha256=8jVLEY2FjgN4RFugwhAh44l9ScVYoDStQFCnlPwvafI,4684 +pip/_vendor/html5lib/treewalkers/etree_lxml.py,sha256=sY6wfRshWTllu6n48TPWpKsQRPp-0CQrT0hj_AdzHSU,6309 +pip/_vendor/html5lib/treewalkers/genshi.py,sha256=4D2PECZ5n3ZN3qu3jMl9yY7B81jnQApBQSVlfaIuYbA,2309 +pip/_vendor/lockfile/__init__.py,sha256=Tqpz90DwKYfhPsfzVOJl84TL87pdFE5ePNHdXAxs4Tk,9371 +pip/_vendor/lockfile/linklockfile.py,sha256=C7OH3H4GdK68u4FQgp8fkP2kO4fyUTSyj3X6blgfobc,2652 +pip/_vendor/lockfile/mkdirlockfile.py,sha256=e3qgIL-etZMLsS-3ft19iW_8IQ360HNkGOqE3yBKsUw,3096 +pip/_vendor/lockfile/pidlockfile.py,sha256=ukH9uk6NFuxyVmG5QiWw4iKq3fT7MjqUguX95avYPIY,6090 +pip/_vendor/lockfile/sqlitelockfile.py,sha256=o2TMkMRY0iwn-iL1XMRRIFStMUkS4i3ajceeYNntKFg,5506 +pip/_vendor/lockfile/symlinklockfile.py,sha256=ABwXXmvTHvCl5viPblShL3PG-gGsLiT1roAMfDRwhi8,2616 +pip/_vendor/packaging/__about__.py,sha256=zkcCPTN_6TcLW0Nrlg0176-R1QQ_WVPTm8sz1R4-HjM,720 +pip/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513 +pip/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860 +pip/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416 +pip/_vendor/packaging/markers.py,sha256=mtg2nphJE1oQO39g1DgsdPsMO-guBBClpR-AEYFrbMg,8230 +pip/_vendor/packaging/requirements.py,sha256=SD7dVJGjdPUqtoHb47qwK6wWJTQd-ZXWjxpJg83UcBA,4327 +pip/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025 +pip/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421 +pip/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556 +pip/_vendor/pkg_resources/__init__.py,sha256=CcwuHtCBZn9OTkmgF9cFpadIAMhlrnZTVKTOo4V2p58,103230 +pip/_vendor/progress/__init__.py,sha256=Wn1074LUDZovd4zfoVYojnPBgOc6ctHbQX7rp_p8lRA,3023 +pip/_vendor/progress/bar.py,sha256=YNPJeRrwYVKFO2nyaEwsQjYByamMWTgJMvQO1NpD-AY,2685 +pip/_vendor/progress/counter.py,sha256=kEqA8jWEdwrc6P_9VaRx7bjOHwk9gxl-Q9oVbQ08v5c,1502 +pip/_vendor/progress/helpers.py,sha256=FehfwZTv-5cCfsbcMlvlUkm3xZ0cRhsev6XVpmeTF4c,2854 +pip/_vendor/progress/spinner.py,sha256=iCVtUQbaJUFHTjn1ZLPQLPYeao4lC9aXAa_HxIeUK6k,1314 +pip/_vendor/requests/__init__.py,sha256=Cde-qxOWcslaEcPvKAJQPFbY8_va8PMbU7Rssr7vViI,2326 +pip/_vendor/requests/adapters.py,sha256=DJdgax91PyS2s6_oZPELbuLWNlM2xGguNu62sqcOUik,19740 +pip/_vendor/requests/api.py,sha256=PgminOpD8hLLKLNs0RWLKr1HpNc4Qxr_6uen8q2c9CI,5794 +pip/_vendor/requests/auth.py,sha256=eBLtJlcTZxRG7xKXCvGQBLO9a-PxFgMf2qTUbtZwMJM,8175 +pip/_vendor/requests/cacert.pem,sha256=5xzWFRrSP0ZsXiW6emg8UQ_w497lT4qWCv32OO8R1ME,344712 +pip/_vendor/requests/certs.py,sha256=Aa-oStu9f2lVi8VM9Aw1xaAtTIz7bhu5CGKNPEW1waM,625 +pip/_vendor/requests/compat.py,sha256=0cgWB43LEX5OrX1O4k-bPbFlIbWXgEd412DSDJtF1Y8,1687 +pip/_vendor/requests/cookies.py,sha256=awMI0hm3SKheMEDTqO8AIadc2XmnCGKPCTNw_4hlM3Q,18208 +pip/_vendor/requests/exceptions.py,sha256=x-MGvDASYKSstuCNYTA5IT_EAcxTp5knE3WPMrgkrlI,2860 +pip/_vendor/requests/hooks.py,sha256=HXAHoC1FNTFRZX6-lNdvPM7Tst4kvGwYTN-AOKRxoRU,767 +pip/_vendor/requests/models.py,sha256=YHuL2khGDFxeWc-NMJIcfFqvYJ0dKs1mXfj1Fuff1J8,30532 +pip/_vendor/requests/sessions.py,sha256=H7HpKRLKeu1MSH5W1-PI2GMCFLN4bz5i3OFqjjgzE5k,25609 +pip/_vendor/requests/status_codes.py,sha256=uwVHcMPkHV3FElDLlnDTH3KULZIAGxaovbBxrjWm8N0,3316 +pip/_vendor/requests/structures.py,sha256=yexCvWbX40M6E8mLQOpAGZZ-ZoAnyaT2dni-Bp-b42g,3012 +pip/_vendor/requests/utils.py,sha256=9d3jqnA8avsF9N1QPmsk2pJgo2pxuExrN2hoIhtLggY,24163 +pip/_vendor/requests/packages/__init__.py,sha256=CVheqNRcXIkAi5037RhxeqbAqd0QhrK1o9R9kS2xvuI,1384 +pip/_vendor/requests/packages/chardet/__init__.py,sha256=XuTKCYOR7JwsoHxqZTYH86LVyMDbDI3s1s0W_qoGEBM,1295 +pip/_vendor/requests/packages/chardet/big5freq.py,sha256=D8oTdz-GM7Jg8TsaWJDm65vM_OLHC3xub6qUJ3rOgsQ,82594 +pip/_vendor/requests/packages/chardet/big5prober.py,sha256=XX96C--6WKYW36mL-z7pJSAtc169Z8ZImByCP4pEN9A,1684 +pip/_vendor/requests/packages/chardet/chardetect.py,sha256=f4299UZG6uWd3i3r_N0OdrFj2sA9JFI54PAmDLAFmWA,2504 +pip/_vendor/requests/packages/chardet/chardistribution.py,sha256=cUARQFr1oTLXeJCDQrDRkUP778AvSMzhSCnG8VLCV58,9226 +pip/_vendor/requests/packages/chardet/charsetgroupprober.py,sha256=0lKk7VE516fgMw119tNefFqLOxKfIE9WfdkpIT69OKU,3791 +pip/_vendor/requests/packages/chardet/charsetprober.py,sha256=Z48o2KiOj23FNqYH8FqzhH5m1qdm3rI8DcTm2Yqtklg,1902 +pip/_vendor/requests/packages/chardet/codingstatemachine.py,sha256=E85rYhHVMw9xDEJVgiQhp0OnLGr6i2r8_7QOWMKTH08,2318 +pip/_vendor/requests/packages/chardet/compat.py,sha256=5mm6yrHwef1JEG5OxkPJlSq5lkjLVpEGh3iPgFBkpkM,1157 +pip/_vendor/requests/packages/chardet/constants.py,sha256=-UnY8U7EP7z9fTyd09yq35BEkSFEAUAiv9ohd1DW1s4,1335 +pip/_vendor/requests/packages/chardet/cp949prober.py,sha256=FMvdLyB7fejPXRsTbca7LK1P3RUvvssmjUNyaEfz8zY,1782 +pip/_vendor/requests/packages/chardet/escprober.py,sha256=q5TcQKeVq31WxrW7Sv8yjpZkjEoaHO8S92EJZ9hodys,3187 +pip/_vendor/requests/packages/chardet/escsm.py,sha256=7iljEKN8lXTh8JFXPUSwlibMno6R6ksq4evLxbkzfro,7839 +pip/_vendor/requests/packages/chardet/eucjpprober.py,sha256=5IpfSEjAb7h3hcGMd6dkU80O900C2N6xku28rdYFKuc,3678 +pip/_vendor/requests/packages/chardet/euckrfreq.py,sha256=T5saK5mImySG5ygQPtsp6o2uKulouCwYm2ElOyFkJqU,45978 +pip/_vendor/requests/packages/chardet/euckrprober.py,sha256=Wo7dnZ5Erw_nB4H-m5alMiOxOuJUmGHlwCSaGqExDZA,1675 +pip/_vendor/requests/packages/chardet/euctwfreq.py,sha256=G_I0BW9i1w0ONeeUwIYqV7_U09buIHdqh-wNHVaql7I,34872 +pip/_vendor/requests/packages/chardet/euctwprober.py,sha256=upS2P6GuT5ujOxXYw-RJLcT7A4PTuo27KGUKU4UZpIQ,1676 +pip/_vendor/requests/packages/chardet/gb2312freq.py,sha256=M2gFdo_qQ_BslStEchrPW5CrPEZEacC0uyDLw4ok-kY,36011 +pip/_vendor/requests/packages/chardet/gb2312prober.py,sha256=VWnjoRa83Y6V6oczMaxyUr0uy48iCnC2nzk9zfEIRHc,1681 +pip/_vendor/requests/packages/chardet/hebrewprober.py,sha256=8pdoUfsVXf_L4BnJde_BewS6H2yInV5688eu0nFhLHY,13359 +pip/_vendor/requests/packages/chardet/jisfreq.py,sha256=ZcL4R5ekHHbP2KCYGakVMBsiKqZZZAABzhwi-uRkOps,47315 +pip/_vendor/requests/packages/chardet/jpcntx.py,sha256=yftmp0QaF6RJO5SJs8I7LU5AF4rwP23ebeCQL4BM1OY,19348 +pip/_vendor/requests/packages/chardet/langbulgarianmodel.py,sha256=ZyPsA796MSVhYdfWhMCgKWckupAKAnKqWcE3Cl3ej6o,12784 +pip/_vendor/requests/packages/chardet/langcyrillicmodel.py,sha256=fkcd5OvogUp-GrNDWAZPgkYsSRCD2omotAEvqjlmLKE,17725 +pip/_vendor/requests/packages/chardet/langgreekmodel.py,sha256=QHMy31CH_ot67UCtmurCEKqKx2WwoaKrw2YCYYBK2Lw,12628 +pip/_vendor/requests/packages/chardet/langhebrewmodel.py,sha256=4ASl5vzKJPng4H278VHKtRYC03TpQpenlHTcsmZH1rE,11318 +pip/_vendor/requests/packages/chardet/langhungarianmodel.py,sha256=SXwuUzh49_cBeMXhshRHdrhlkz0T8_pZWV_pdqBKNFk,12536 +pip/_vendor/requests/packages/chardet/langthaimodel.py,sha256=-k7djh3dGKngAGnt3WfuoJN7acDcWcmHAPojhaUd7q4,11275 +pip/_vendor/requests/packages/chardet/latin1prober.py,sha256=238JHOxH8aRudJY2NmeSv5s7i0Qe3GuklIU3HlYybvg,5232 +pip/_vendor/requests/packages/chardet/mbcharsetprober.py,sha256=9rOCjDVsmSMp6e7q2syqak22j7lrbUZhJhMee2gbVL0,3268 +pip/_vendor/requests/packages/chardet/mbcsgroupprober.py,sha256=SHRzNPLpDXfMJLA8phCHVU0WgqbgDCNxDQMolGX_7yk,1967 +pip/_vendor/requests/packages/chardet/mbcssm.py,sha256=IKwJXyxu34n6NojmxVxC60MLFtJKm-hIfxaFEnb3uBA,19590 +pip/_vendor/requests/packages/chardet/sbcharsetprober.py,sha256=Xq0lODqJnDgxglBiQI4BqTFiPbn63-0a5XNA5-hVu7U,4793 +pip/_vendor/requests/packages/chardet/sbcsgroupprober.py,sha256=8hLyH8RAG-aohBo7o_KciWVgRo42ZE_zEtuNG1JMRYI,3291 +pip/_vendor/requests/packages/chardet/sjisprober.py,sha256=UYOmiMDzttYIkSDoOB08UEagivJpUXz4tuWiWzTiOr8,3764 +pip/_vendor/requests/packages/chardet/universaldetector.py,sha256=h-E2x6XSCzlNjycYWG0Fe4Cf1SGdaIzUNu2HCphpMZA,6840 +pip/_vendor/requests/packages/chardet/utf8prober.py,sha256=7tdNZGrJY7jZUBD483GGMkiP0Tx8Fp-cGvWHoAsilHg,2652 +pip/_vendor/requests/packages/urllib3/__init__.py,sha256=EF9pbHgMzqQek2Y6EZ82A8B6wETFeW7bK0K-HoZ3Ffo,2852 +pip/_vendor/requests/packages/urllib3/_collections.py,sha256=RP-cHyTx4AgYwvoETK8q1IVRbWFJnE0VV692ZHSbU68,10553 +pip/_vendor/requests/packages/urllib3/connection.py,sha256=QCmkelYgtbc06DfJtgs22na78kRTLCTbLb-OSWLbt-A,11617 +pip/_vendor/requests/packages/urllib3/connectionpool.py,sha256=fls19n1Y4jnwOBsZz_9F01i08xH2gZXEIyyDmWd-mKU,33591 +pip/_vendor/requests/packages/urllib3/exceptions.py,sha256=zGjhZCR1wefEnCN5b7WouQ3UhXesJ2bRKYIeWusaFJs,5599 +pip/_vendor/requests/packages/urllib3/fields.py,sha256=WUMvCLvnw7XemBq6AmCgNPJwyIJL_vWaMHaA2FLlscM,5931 +pip/_vendor/requests/packages/urllib3/filepost.py,sha256=NvLlFsdt8ih_Q4S2ekQF3CJG0nOXs32YI-G04_AdT2g,2320 +pip/_vendor/requests/packages/urllib3/poolmanager.py,sha256=9Uf0fUk0aR_s1auXgwceoN2gbaIQ08lrum_cGEA9-_U,13092 +pip/_vendor/requests/packages/urllib3/request.py,sha256=jET7OvA3FSjxABBRGhCyMdPvM9XuJA6df9gRhkJiJiY,5988 +pip/_vendor/requests/packages/urllib3/response.py,sha256=wxJSV_6pyh6Cgx7XFVGpNhpZCbh4eL7lCSFaU4ixXXc,18615 +pip/_vendor/requests/packages/urllib3/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/_vendor/requests/packages/urllib3/contrib/appengine.py,sha256=NdN_xOgDLMadUPe_dN3wdan_DH9-fxVNqFgq19tbqQs,7937 +pip/_vendor/requests/packages/urllib3/contrib/ntlmpool.py,sha256=r-vMDMXAGbix9a7-IhbKVTATmAst-5g4hKYOLf8Kd5M,4531 +pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py,sha256=JsdAh0gL4XvQzhOEBRoFtJN91qLf1LFIDEFZs95445I,11778 +pip/_vendor/requests/packages/urllib3/contrib/socks.py,sha256=uPHtE6R8uyUbD9R8l2wO80c87WDGZ9rou3kNOwV74eA,5668 +pip/_vendor/requests/packages/urllib3/packages/__init__.py,sha256=nlChrGzkjCkmhCX9HrF_qHPUgosfsPQkVIJxiiLhk9g,109 +pip/_vendor/requests/packages/urllib3/packages/ordered_dict.py,sha256=VQaPONfhVMsb8B63Xg7ZOydJqIE_jzeMhVN3Pec6ogw,8935 +pip/_vendor/requests/packages/urllib3/packages/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 +pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py,sha256=cOWMIn1orgJoA35p6pSzO_-Dc6iOX9Dhl6D2sL9b_2o,460 +pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py,sha256=fK28k37hL7-D79v9iM2fHgNK9Q1Pw0M7qVRL4rkfFjQ,3778 +pip/_vendor/requests/packages/urllib3/util/__init__.py,sha256=n2QE9_0Bb6u8tf7LUc4qKe8V-Hz9G8lEOc9j_30Q8d0,892 +pip/_vendor/requests/packages/urllib3/util/connection.py,sha256=7B5Mmepg5Xd399VKE__VHxD2ObapYFrB3mWJ_EnIebs,4744 +pip/_vendor/requests/packages/urllib3/util/request.py,sha256=ZMDewRK-mjlK72szGIIjzYnLIn-zPP0WgJUMjKeZ6Tg,2128 +pip/_vendor/requests/packages/urllib3/util/response.py,sha256=1UFd5TIp9MyBp4xgnZoyQZscZVPPr0tWRaXNR5w_vds,2165 +pip/_vendor/requests/packages/urllib3/util/retry.py,sha256=5eA3GHR_L14qz66NU6gr-v5VbKYsvdEqOvCcsx1oLKo,10664 +pip/_vendor/requests/packages/urllib3/util/ssl_.py,sha256=7xR_jvQLTQA1U006wJ1bl2KuLGnD1qQvUcFM2uysedw,11622 +pip/_vendor/requests/packages/urllib3/util/timeout.py,sha256=ioAIYptFyBG7eU_r8_ZmO45hpj1dJE6WCvrGR9dNFjs,9596 +pip/_vendor/requests/packages/urllib3/util/url.py,sha256=EcX4ZfmgKWcqM4sY9FlC-yN4y_snuURPV0TpUPHNjnc,5879 +pip/_vendor/webencodings/__init__.py,sha256=t7rAQQxXwalY-ak9hTl73qHjhia9UH-sL-e00qQrBpo,10576 +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=7vTk7LgOJn_t1XtT_viofZlEJ7cJCzPe_hvVHOkcQl8,6562 +pip/_vendor/webencodings/x_user_defined.py,sha256=72cfPRhbfkRCGkkA8ZnvVV7UnoiLb5uPMhXwhrXiLPk,4306 +pip/commands/__init__.py,sha256=2Uq3HCdjchJD9FL1LB7rd5v6UySVAVizX0W3EX3hIoE,2244 +pip/commands/check.py,sha256=-A7GI1-WZBh9a4P6UoH_aR-J7I8Lz8ly7m3wnCjmevs,1382 +pip/commands/completion.py,sha256=kkPgVX7SUcJ_8Juw5GkgWaxHN9_45wmAr9mGs1zXEEs,2453 +pip/commands/download.py,sha256=8RuuPmSYgAq3iEDTqZY_1PDXRqREdUULHNjWJeAv7Mo,7810 +pip/commands/freeze.py,sha256=h6-yFMpjCjbNj8-gOm5UuoF6cg14N5rPV4TCi3_CeuI,2835 +pip/commands/hash.py,sha256=MCt4jEFyfoce0lVeNEz1x49uaTY-VDkKiBvvxrVcHkw,1597 +pip/commands/help.py,sha256=84HWkEdnGP_AEBHnn8gJP2Te0XTXRKFoXqXopbOZTNo,982 +pip/commands/install.py,sha256=ovG9p9n1X2NPqMgFVtSuT9kMbLAdx1r3YSSiXSvgOKI,17412 +pip/commands/list.py,sha256=93bCiFyt2Qut_YHkYHJMZHpXladmxsjS-yOtZeb3uqI,11369 +pip/commands/search.py,sha256=oTs9QNdefnrmCV_JeftG0PGiMuYVmiEDF1OUaYsmDao,4502 +pip/commands/show.py,sha256=ZYM57_7U8KP9MQIIyHKQdZxmiEZByy-DRzB697VFoTY,5891 +pip/commands/uninstall.py,sha256=tz8cXz4WdpUdnt3RvpdQwH6_SNMB50egBIZWa1dwfcc,2884 +pip/commands/wheel.py,sha256=z5SEhws2YRMb0Ml1IEkg6jFZMLRpLl86bHCrQbYt5zo,7729 +pip/compat/__init__.py,sha256=2Xs_IpsmdRgHbQgQO0c8_lPvHJnQXHyGWxPbLbYJL4c,4672 +pip/compat/dictconfig.py,sha256=dRrelPDWrceDSzFT51RTEVY2GuM7UDyc5Igh_tn4Fvk,23096 +pip/models/__init__.py,sha256=0Rs7_RA4DxeOkWT5Cq4CQzDrSEhvYcN3TH2cazr72PE,71 +pip/models/index.py,sha256=pUfbO__v3mD9j-2n_ClwPS8pVyx4l2wIwyvWt8GMCRA,487 +pip/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pip/operations/check.py,sha256=uwUN9cs1sPo7c0Sj6pRrSv7b22Pk29SXUImTelVchMQ,1590 +pip/operations/freeze.py,sha256=k-7w7LsM-RpPv7ERBzHiPpYkH-GuYfHLyR-Cp_1VPL0,5194 +pip/req/__init__.py,sha256=vFwZY8_Vc1WU1zFAespg1My_r_AT3n7cN0W9eX0EFqk,276 +pip/req/req_file.py,sha256=fG9MDsXUNPhmGwxUiwrIXEynyD8Q7s3L47-hLZPDXq0,11926 +pip/req/req_install.py,sha256=gYrH-lwQMmt55VVbav_EtRIPu94cQbHFHm_Kq6AeHbg,46487 +pip/req/req_set.py,sha256=jHspXqcA2FxcF05dgUIAZ5huYPv6bn0wRUX0Z7PKmaA,34462 +pip/req/req_uninstall.py,sha256=fdH2VgCjEC8NRYDS7fRu3ZJaBBUEy-N5muwxDX5MBNM,6897 +pip/utils/__init__.py,sha256=HX_wYS15oiYOz-H3qG1Kbi1CY7AGWCNK5jloiD0fauc,27187 +pip/utils/appdirs.py,sha256=kj2LK-I2fC5QnEh_A_v-ev_IQMcXaWWF5DE39sNvCLQ,8811 +pip/utils/build.py,sha256=4smLRrfSCmXmjEnVnMFh2tBEpNcSLRe6J0ejZJ-wWJE,1312 +pip/utils/deprecation.py,sha256=X_FMjtDbMJqfqEkdRrki-mYyIdPB6I6DHUTCA_ChY6M,2232 +pip/utils/encoding.py,sha256=NQxGiFS5GbeAveLZTnx92t5r0PYqvt0iRnP2u9SGG1w,971 +pip/utils/filesystem.py,sha256=ZEVBuYM3fqr2_lgOESh4Y7fPFszGD474zVm_M3Mb5Tk,899 +pip/utils/glibc.py,sha256=jcQYjt_oJLPKVZB28Kauy4Sw70zS-wawxoU1HHX36_0,2939 +pip/utils/hashes.py,sha256=oMk7cd3PbJgzpSQyXq1MytMud5f6H5Oa2YY5hYuCq6I,2866 +pip/utils/logging.py,sha256=7yWu4gZw-Qclj7X80QVdpGWkdTWGKT4LiUVKcE04pro,3327 +pip/utils/outdated.py,sha256=fNwOCL5r2EftPGhgCYGMKu032HC8cV-JAr9lp0HmToM,5455 +pip/utils/packaging.py,sha256=qhmli14odw6DIhWJgQYS2Q0RrSbr8nXNcG48f5yTRms,2080 +pip/utils/setuptools_build.py,sha256=0blfscmNJW_iZ5DcswJeDB_PbtTEjfK9RL1R1WEDW2E,278 +pip/utils/ui.py,sha256=pbDkSAeumZ6jdZcOJ2yAbx8iBgeP2zfpqNnLJK1gskQ,11597 +pip/vcs/__init__.py,sha256=WafFliUTHMmsSISV8PHp1M5EXDNSWyJr78zKaQmPLdY,12374 +pip/vcs/bazaar.py,sha256=tYTwc4b4off8mr0O2o8SiGejqBDJxcbDBMSMd9-ISYc,3803 +pip/vcs/git.py,sha256=5LfWryi78A-2ULjEZJvCTarJ_3l8venwXASlwm8hiug,11197 +pip/vcs/mercurial.py,sha256=xG6rDiwHCRytJEs23SIHBXl_SwQo2jkkdD_6rVVP5h4,3472 +pip/vcs/subversion.py,sha256=GAuX2Sk7IZvJyEzENKcVld_wGBrQ3fpXDlXjapZEYdI,9350 +pip-9.0.1.dist-info/DESCRIPTION.rst,sha256=Va8Wj1XBpTbVQ2Z41mZRJdALEeziiS_ZewWn1H2ecY4,1287 +pip-9.0.1.dist-info/METADATA,sha256=mvs_tLoKAbECXY_6QHiVWQsagSL-1UjolQTpScT8JSk,2529 +pip-9.0.1.dist-info/RECORD,, +pip-9.0.1.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 +pip-9.0.1.dist-info/entry_points.txt,sha256=GWc-Wb9WUKZ1EuVWNz-G0l3BeIpbNJLx0OJbZ61AAV0,68 +pip-9.0.1.dist-info/metadata.json,sha256=aqvkETDy4mHUBob-2Fn5WWlXORi_M2OSfQ2HQCUU_Fk,1565 +pip-9.0.1.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +../../../bin/pip,sha256=rlrvRQhvU5Cu7xG_8MsC70R6lIPjNozmDHlu8cfUl5U,247 +../../../bin/pip3,sha256=rlrvRQhvU5Cu7xG_8MsC70R6lIPjNozmDHlu8cfUl5U,247 +../../../bin/pip3.6,sha256=rlrvRQhvU5Cu7xG_8MsC70R6lIPjNozmDHlu8cfUl5U,247 +pip-9.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pip/compat/__pycache__/dictconfig.cpython-36.pyc,, +pip/compat/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/_structures.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/version.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/requirements.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/markers.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/_compat.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/__about__.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/utils.cpython-36.pyc,, +pip/_vendor/packaging/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc,, +pip/_vendor/webencodings/__pycache__/tests.cpython-36.pyc,, +pip/_vendor/webencodings/__pycache__/mklabels.cpython-36.pyc,, +pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-36.pyc,, +pip/_vendor/progress/__pycache__/bar.cpython-36.pyc,, +pip/_vendor/progress/__pycache__/counter.cpython-36.pyc,, +pip/_vendor/progress/__pycache__/spinner.cpython-36.pyc,, +pip/_vendor/progress/__pycache__/helpers.cpython-36.pyc,, +pip/_vendor/progress/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-36.pyc,, +pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-36.pyc,, +pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/distlib/_backport/__pycache__/misc.cpython-36.pyc,, +pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/manifest.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/util.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/database.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/scripts.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/wheel.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/locators.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/version.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/index.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/markers.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/resources.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/compat.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/metadata.cpython-36.pyc,, +pip/_vendor/distlib/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/colorama/__pycache__/win32.cpython-36.pyc,, +pip/_vendor/colorama/__pycache__/initialise.cpython-36.pyc,, +pip/_vendor/colorama/__pycache__/ansi.cpython-36.pyc,, +pip/_vendor/colorama/__pycache__/winterm.cpython-36.pyc,, +pip/_vendor/colorama/__pycache__/ansitowin32.cpython-36.pyc,, +pip/_vendor/colorama/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.pyc,, +pip/_vendor/lockfile/__pycache__/pidlockfile.cpython-36.pyc,, +pip/_vendor/lockfile/__pycache__/linklockfile.cpython-36.pyc,, +pip/_vendor/lockfile/__pycache__/symlinklockfile.cpython-36.pyc,, +pip/_vendor/lockfile/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/lockfile/__pycache__/sqlitelockfile.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/controller.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/serialize.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/compat.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/cache.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/adapter.cpython-36.pyc,, +pip/_vendor/cachecontrol/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-36.pyc,, +pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-36.pyc,, +pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/__pycache__/appdirs.cpython-36.pyc,, +pip/_vendor/__pycache__/ipaddress.cpython-36.pyc,, +pip/_vendor/__pycache__/six.cpython-36.pyc,, +pip/_vendor/__pycache__/retrying.cpython-36.pyc,, +pip/_vendor/__pycache__/re-vendor.cpython-36.pyc,, +pip/_vendor/__pycache__/distro.cpython-36.pyc,, +pip/_vendor/__pycache__/ordereddict.cpython-36.pyc,, +pip/_vendor/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/__pycache__/pyparsing.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/exceptions.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/certs.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/structures.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/sessions.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/status_codes.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/models.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/compat.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/adapters.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/hooks.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/auth.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/utils.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/cookies.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/requests/__pycache__/api.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/langgreekmodel.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/sjisprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/mbcharsetprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/eucjpprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/chardetect.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/cp949prober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/constants.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/euctwfreq.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/gb2312prober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/sbcsgroupprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/langhebrewmodel.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/euckrprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/euckrfreq.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/chardistribution.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/escsm.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/euctwprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/big5freq.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/compat.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/hebrewprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/latin1prober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/universaldetector.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/escprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/codingstatemachine.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/utf8prober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/langhungarianmodel.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/gb2312freq.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/langthaimodel.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/jpcntx.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/mbcssm.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/big5prober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/sbcharsetprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/langcyrillicmodel.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/jisfreq.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/charsetgroupprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/langbulgarianmodel.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/mbcsgroupprober.cpython-36.pyc,, +pip/_vendor/requests/packages/chardet/__pycache__/charsetprober.cpython-36.pyc,, +pip/_vendor/requests/packages/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/timeout.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/response.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/url.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/request.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/connection.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/retry.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/ssl_.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/util/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/poolmanager.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/response.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/exceptions.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/request.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/filepost.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/connectionpool.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/connection.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/_collections.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/fields.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/contrib/__pycache__/ntlmpool.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/contrib/__pycache__/appengine.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/contrib/__pycache__/socks.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/contrib/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/contrib/__pycache__/pyopenssl.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/packages/__pycache__/six.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/packages/__pycache__/ordered_dict.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/packages/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-36.pyc,, +pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/lint.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/base.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-36.pyc,, +pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-36.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-36.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-36.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-36.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-36.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-36.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-36.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-36.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-36.pyc,, +pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/constants.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/serializer.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/html5parser.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/_utils.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/_inputstream.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-36.pyc,, +pip/_vendor/html5lib/_trie/__pycache__/datrie.cpython-36.pyc,, +pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-36.pyc,, +pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/html5lib/_trie/__pycache__/py.cpython-36.pyc,, +pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-36.pyc,, +pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-36.pyc,, +pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-36.pyc,, +pip/_vendor/pkg_resources/__pycache__/__init__.cpython-36.pyc,, +pip/utils/__pycache__/logging.cpython-36.pyc,, +pip/utils/__pycache__/appdirs.cpython-36.pyc,, +pip/utils/__pycache__/build.cpython-36.pyc,, +pip/utils/__pycache__/deprecation.cpython-36.pyc,, +pip/utils/__pycache__/filesystem.cpython-36.pyc,, +pip/utils/__pycache__/glibc.cpython-36.pyc,, +pip/utils/__pycache__/outdated.cpython-36.pyc,, +pip/utils/__pycache__/encoding.cpython-36.pyc,, +pip/utils/__pycache__/hashes.cpython-36.pyc,, +pip/utils/__pycache__/packaging.cpython-36.pyc,, +pip/utils/__pycache__/ui.cpython-36.pyc,, +pip/utils/__pycache__/setuptools_build.cpython-36.pyc,, +pip/utils/__pycache__/__init__.cpython-36.pyc,, +pip/models/__pycache__/index.cpython-36.pyc,, +pip/models/__pycache__/__init__.cpython-36.pyc,, +pip/__pycache__/exceptions.cpython-36.pyc,, +pip/__pycache__/wheel.cpython-36.pyc,, +pip/__pycache__/status_codes.cpython-36.pyc,, +pip/__pycache__/index.cpython-36.pyc,, +pip/__pycache__/download.cpython-36.pyc,, +pip/__pycache__/basecommand.cpython-36.pyc,, +pip/__pycache__/locations.cpython-36.pyc,, +pip/__pycache__/__main__.cpython-36.pyc,, +pip/__pycache__/pep425tags.cpython-36.pyc,, +pip/__pycache__/__init__.cpython-36.pyc,, +pip/__pycache__/baseparser.cpython-36.pyc,, +pip/__pycache__/cmdoptions.cpython-36.pyc,, +pip/operations/__pycache__/check.cpython-36.pyc,, +pip/operations/__pycache__/freeze.cpython-36.pyc,, +pip/operations/__pycache__/__init__.cpython-36.pyc,, +pip/req/__pycache__/req_set.cpython-36.pyc,, +pip/req/__pycache__/req_uninstall.cpython-36.pyc,, +pip/req/__pycache__/req_install.cpython-36.pyc,, +pip/req/__pycache__/req_file.cpython-36.pyc,, +pip/req/__pycache__/__init__.cpython-36.pyc,, +pip/vcs/__pycache__/subversion.cpython-36.pyc,, +pip/vcs/__pycache__/git.cpython-36.pyc,, +pip/vcs/__pycache__/__init__.cpython-36.pyc,, +pip/vcs/__pycache__/mercurial.cpython-36.pyc,, +pip/vcs/__pycache__/bazaar.cpython-36.pyc,, +pip/commands/__pycache__/show.cpython-36.pyc,, +pip/commands/__pycache__/help.cpython-36.pyc,, +pip/commands/__pycache__/wheel.cpython-36.pyc,, +pip/commands/__pycache__/completion.cpython-36.pyc,, +pip/commands/__pycache__/check.cpython-36.pyc,, +pip/commands/__pycache__/download.cpython-36.pyc,, +pip/commands/__pycache__/hash.cpython-36.pyc,, +pip/commands/__pycache__/list.cpython-36.pyc,, +pip/commands/__pycache__/install.cpython-36.pyc,, +pip/commands/__pycache__/search.cpython-36.pyc,, +pip/commands/__pycache__/freeze.cpython-36.pyc,, +pip/commands/__pycache__/uninstall.cpython-36.pyc,, +pip/commands/__pycache__/__init__.cpython-36.pyc,, diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index b3f847ccdf16ead799543965ceb4c2dfe7ca8a36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507 zcmZXQ!Ab)$5Qeka)|N`ELXSOq*+ZL_B6dMU5D#8@QBYSQ>^A8(Hk*w}w$hVN;sf{^ zo_&J7dg?29GTRo`;)MB_8GdGdGHf;*kDqVBmjl2z_!CFAzObpe#j;HRaX3hvz)4^L z9dHN4xB{pY!t#oKBsJDTII=4qoL&~B-giU%OzJ=l=!1$(4=1H9VGUIZS@4=<@Q zY|18~p;tqMr?tTzRnD4fiT zR`;w5@9qr_FiRw-2^A(ZEERbT>up8*stL0fB}8o!yfjuL%O-N!)TB?Iy^i)I{dyvFHKK-Pv895 zdDAeAKa3O22Kfebz6=8~ItD?+Oi%|At7G0Zh)tZA263o0wmLSMB30tPL>-6Ji1*Uy zREW7@H0z`99`z|6h9c?*{fvt=9Mah)?iOhz;w;5omJRWPebEPb$%o$@rkvAM#9@MW z`!vM`kJBFB*tqAvg*c4$QFY1x(qHheMC$dhArNjr=XDsU0YMralOPDel&9Ay6LB|= zLP2jcma+AwCEXxUu>^tif?$}DB2jWZ2)2tbnauoZunKt7!#}^Ya~AJ_hxSg$+TAQ6 zl=1c|X|JpfRu`_Wri&ycy)D9bH-r7&SNX~Uv|ieN)Xw94ezS-ZGEYeoEH34JrP4jv zp()8&o6+rpa>3hq7;S|;%G(7?l6Z6JSiyM`yr0H)5D)W&4k1~g%B7$0GZW(VR2r1v zBK`hWDV+f# z6_~A-)zaLu**#&Bs({sFbQbzgsI2lA;KLppB~s%SV4!qJWy@ruv<41w#|Rneb?{Un zwK3waz)nl-wVD^zfm=Fbq^-`K)C>SsWNHktA!F}CS-E9AKXc$7S%61AKU- zPNoM_rKRE`jk8KuADaiYvNo75!4hC`YSjN;p;Cb>jG~MYC5a3_yt9Uv7q48M!<u0Rj?u%j4X5C0F`|RDS`N=A^=#E4_Q-{D@7}h0f zjpo1uup-^Zy8w(RWQ5~5#nCZP@vZd@tZ;Y@kDRAJ_|Lx>*?Z~y{K$OPnkZTz-h}Q$ z?=&0I;dv4Z=|owP3Vrg@W;AEgNwQtaWF^dVfSdHV2$|r!vFJ;aQCXop3Uex}V4Q>z z2vIi7dP9V!!S;PII?!axXZ$xv|!0G+gKG6B^v=rxu&At73!10TQC@ojo@c{$VGJ% zM#n@A%SNXi*Q%p4&Wv@=^3WOc0%8}zI#OIvO*vIvL;o)j6zm0*H3eOufeFxs64x~V zD%RdYX#vP)pP2`?rhx?@z9`Jn0RWlo2C)I!=D<>L1>jwL0&o2F-W~13Q9fYx@<9ds zD6k&;QDhh#`FZt$pTQGj`vrj5E&=MK3MBho0BuS{YJ-ZX3K#S+(=|WQgiBjTmL~fX zEWHwyCYd^K99g)at*b9oJ2j`nCLr-KWpQ^Oi+(6@OM$M1X90eMMj4?5cQXbV$05gz zih`w}+T7Rphcdj8MO#$(Jt}fanOZ#CY)&dX<=~Ry)*&uhKGt-)va+~>!;~CxOZ#F_ zaybqeh5Zr*Q8I@&3xU6VfI~uO8w0M|GYm4qnXGb{&MX~uGGHVVW{Rhw-^udqe z+CXC))lmbU9!L#jTQflD$=eLf*yg8toH5y=iUaACLO9hRAXyXy>?0M?Q~>uW<8T#% o<}zp|AE9c1UUwoSeXr{x<9 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") - 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") diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py deleted file mode 100644 index 7ed00b1c..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py +++ /dev/null @@ -1,367 +0,0 @@ -from __future__ import absolute_import -import collections -import functools -import logging - -try: # Python 3 - from urllib.parse import urljoin -except ImportError: - from urlparse import urljoin - -from ._collections import RecentlyUsedContainer -from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool -from .connectionpool import port_by_scheme -from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown -from .request import RequestMethods -from .util.url import parse_url -from .util.retry import Retry - - -__all__ = ['PoolManager', 'ProxyManager', 'proxy_from_url'] - - -log = logging.getLogger(__name__) - -SSL_KEYWORDS = ('key_file', 'cert_file', 'cert_reqs', 'ca_certs', - 'ssl_version', 'ca_cert_dir') - -# The base fields to use when determining what pool to get a connection from; -# these do not rely on the ``connection_pool_kw`` and can be determined by the -# URL and potentially the ``urllib3.connection.port_by_scheme`` dictionary. -# -# All custom key schemes should include the fields in this key at a minimum. -BasePoolKey = collections.namedtuple('BasePoolKey', ('scheme', 'host', 'port')) - -# The fields to use when determining what pool to get a HTTP and HTTPS -# connection from. All additional fields must be present in the PoolManager's -# ``connection_pool_kw`` instance variable. -HTTPPoolKey = collections.namedtuple( - 'HTTPPoolKey', BasePoolKey._fields + ('timeout', 'retries', 'strict', - 'block', 'source_address') -) -HTTPSPoolKey = collections.namedtuple( - 'HTTPSPoolKey', HTTPPoolKey._fields + SSL_KEYWORDS -) - - -def _default_key_normalizer(key_class, request_context): - """ - Create a pool key of type ``key_class`` for a request. - - According to RFC 3986, both the scheme and host are case-insensitive. - Therefore, this function normalizes both before constructing the pool - key for an HTTPS request. If you wish to change this behaviour, provide - alternate callables to ``key_fn_by_scheme``. - - :param key_class: - The class to use when constructing the key. This should be a namedtuple - with the ``scheme`` and ``host`` keys at a minimum. - - :param request_context: - A dictionary-like object that contain the context for a request. - It should contain a key for each field in the :class:`HTTPPoolKey` - """ - context = {} - for key in key_class._fields: - context[key] = request_context.get(key) - context['scheme'] = context['scheme'].lower() - context['host'] = context['host'].lower() - return key_class(**context) - - -# A dictionary that maps a scheme to a callable that creates a pool key. -# This can be used to alter the way pool keys are constructed, if desired. -# Each PoolManager makes a copy of this dictionary so they can be configured -# globally here, or individually on the instance. -key_fn_by_scheme = { - 'http': functools.partial(_default_key_normalizer, HTTPPoolKey), - 'https': functools.partial(_default_key_normalizer, HTTPSPoolKey), -} - -pool_classes_by_scheme = { - 'http': HTTPConnectionPool, - 'https': HTTPSConnectionPool, -} - - -class PoolManager(RequestMethods): - """ - Allows for arbitrary requests while transparently keeping track of - necessary connection pools for you. - - :param num_pools: - Number of connection pools to cache before discarding the least - recently used pool. - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - - :param \**connection_pool_kw: - Additional parameters are used to create fresh - :class:`urllib3.connectionpool.ConnectionPool` instances. - - Example:: - - >>> manager = PoolManager(num_pools=2) - >>> r = manager.request('GET', 'http://google.com/') - >>> r = manager.request('GET', 'http://google.com/mail') - >>> r = manager.request('GET', 'http://yahoo.com/') - >>> len(manager.pools) - 2 - - """ - - proxy = None - - def __init__(self, num_pools=10, headers=None, **connection_pool_kw): - RequestMethods.__init__(self, headers) - self.connection_pool_kw = connection_pool_kw - self.pools = RecentlyUsedContainer(num_pools, - dispose_func=lambda p: p.close()) - - # Locally set the pool classes and keys so other PoolManagers can - # override them. - self.pool_classes_by_scheme = pool_classes_by_scheme - self.key_fn_by_scheme = key_fn_by_scheme.copy() - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.clear() - # Return False to re-raise any potential exceptions - return False - - def _new_pool(self, scheme, host, port): - """ - Create a new :class:`ConnectionPool` based on host, port and scheme. - - This method is used to actually create the connection pools handed out - by :meth:`connection_from_url` and companion methods. It is intended - to be overridden for customization. - """ - pool_cls = self.pool_classes_by_scheme[scheme] - kwargs = self.connection_pool_kw - if scheme == 'http': - kwargs = self.connection_pool_kw.copy() - for kw in SSL_KEYWORDS: - kwargs.pop(kw, None) - - return pool_cls(host, port, **kwargs) - - def clear(self): - """ - Empty our store of pools and direct them all to close. - - This will not affect in-flight connections, but they will not be - re-used after completion. - """ - self.pools.clear() - - def connection_from_host(self, host, port=None, scheme='http'): - """ - Get a :class:`ConnectionPool` based on the host, port, and scheme. - - If ``port`` isn't given, it will be derived from the ``scheme`` using - ``urllib3.connectionpool.port_by_scheme``. - """ - - if not host: - raise LocationValueError("No host specified.") - - request_context = self.connection_pool_kw.copy() - request_context['scheme'] = scheme or 'http' - if not port: - port = port_by_scheme.get(request_context['scheme'].lower(), 80) - request_context['port'] = port - request_context['host'] = host - - return self.connection_from_context(request_context) - - def connection_from_context(self, request_context): - """ - Get a :class:`ConnectionPool` based on the request context. - - ``request_context`` must at least contain the ``scheme`` key and its - value must be a key in ``key_fn_by_scheme`` instance variable. - """ - scheme = request_context['scheme'].lower() - pool_key_constructor = self.key_fn_by_scheme[scheme] - pool_key = pool_key_constructor(request_context) - - return self.connection_from_pool_key(pool_key) - - def connection_from_pool_key(self, pool_key): - """ - Get a :class:`ConnectionPool` based on the provided pool key. - - ``pool_key`` should be a namedtuple that only contains immutable - objects. At a minimum it must have the ``scheme``, ``host``, and - ``port`` fields. - """ - with self.pools.lock: - # If the scheme, host, or port doesn't match existing open - # connections, open a new ConnectionPool. - pool = self.pools.get(pool_key) - if pool: - return pool - - # Make a fresh ConnectionPool of the desired type - pool = self._new_pool(pool_key.scheme, pool_key.host, pool_key.port) - self.pools[pool_key] = pool - - return pool - - def connection_from_url(self, url): - """ - Similar to :func:`urllib3.connectionpool.connection_from_url` but - doesn't pass any additional parameters to the - :class:`urllib3.connectionpool.ConnectionPool` constructor. - - Additional parameters are taken from the :class:`.PoolManager` - constructor. - """ - u = parse_url(url) - return self.connection_from_host(u.host, port=u.port, scheme=u.scheme) - - def urlopen(self, method, url, redirect=True, **kw): - """ - Same as :meth:`urllib3.connectionpool.HTTPConnectionPool.urlopen` - with custom cross-host redirect logic and only sends the request-uri - portion of the ``url``. - - The given ``url`` parameter must be absolute, such that an appropriate - :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. - """ - u = parse_url(url) - conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) - - kw['assert_same_host'] = False - kw['redirect'] = False - if 'headers' not in kw: - kw['headers'] = self.headers - - if self.proxy is not None and u.scheme == "http": - response = conn.urlopen(method, url, **kw) - else: - response = conn.urlopen(method, u.request_uri, **kw) - - redirect_location = redirect and response.get_redirect_location() - if not redirect_location: - return response - - # Support relative URLs for redirecting. - redirect_location = urljoin(url, redirect_location) - - # RFC 7231, Section 6.4.4 - if response.status == 303: - method = 'GET' - - retries = kw.get('retries') - if not isinstance(retries, Retry): - retries = Retry.from_int(retries, redirect=redirect) - - try: - retries = retries.increment(method, url, response=response, _pool=conn) - except MaxRetryError: - if retries.raise_on_redirect: - raise - return response - - kw['retries'] = retries - kw['redirect'] = redirect - - log.info("Redirecting %s -> %s", url, redirect_location) - return self.urlopen(method, redirect_location, **kw) - - -class ProxyManager(PoolManager): - """ - Behaves just like :class:`PoolManager`, but sends all requests through - the defined proxy, using the CONNECT method for HTTPS URLs. - - :param proxy_url: - The URL of the proxy to be used. - - :param proxy_headers: - A dictionary contaning headers that will be sent to the proxy. In case - of HTTP they are being sent with each request, while in the - HTTPS/CONNECT case they are sent only once. Could be used for proxy - authentication. - - Example: - >>> proxy = urllib3.ProxyManager('http://localhost:3128/') - >>> r1 = proxy.request('GET', 'http://google.com/') - >>> r2 = proxy.request('GET', 'http://httpbin.org/') - >>> len(proxy.pools) - 1 - >>> r3 = proxy.request('GET', 'https://httpbin.org/') - >>> r4 = proxy.request('GET', 'https://twitter.com/') - >>> len(proxy.pools) - 3 - - """ - - def __init__(self, proxy_url, num_pools=10, headers=None, - proxy_headers=None, **connection_pool_kw): - - if isinstance(proxy_url, HTTPConnectionPool): - proxy_url = '%s://%s:%i' % (proxy_url.scheme, proxy_url.host, - proxy_url.port) - proxy = parse_url(proxy_url) - if not proxy.port: - port = port_by_scheme.get(proxy.scheme, 80) - proxy = proxy._replace(port=port) - - if proxy.scheme not in ("http", "https"): - raise ProxySchemeUnknown(proxy.scheme) - - self.proxy = proxy - self.proxy_headers = proxy_headers or {} - - connection_pool_kw['_proxy'] = self.proxy - connection_pool_kw['_proxy_headers'] = self.proxy_headers - - super(ProxyManager, self).__init__( - num_pools, headers, **connection_pool_kw) - - def connection_from_host(self, host, port=None, scheme='http'): - if scheme == "https": - return super(ProxyManager, self).connection_from_host( - host, port, scheme) - - return super(ProxyManager, self).connection_from_host( - self.proxy.host, self.proxy.port, self.proxy.scheme) - - def _set_proxy_headers(self, url, headers=None): - """ - Sets headers needed by proxies: specifically, the Accept and Host - headers. Only sets headers not provided by the user. - """ - headers_ = {'Accept': '*/*'} - - netloc = parse_url(url).netloc - if netloc: - headers_['Host'] = netloc - - if headers: - headers_.update(headers) - return headers_ - - def urlopen(self, method, url, redirect=True, **kw): - "Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute." - u = parse_url(url) - - if u.scheme == "http": - # For proxied HTTPS requests, httplib sets the necessary headers - # on the CONNECT to the proxy. For HTTP, we'll definitely - # need to set 'Host' at the very least. - headers = kw.get('headers', self.headers) - kw['headers'] = self._set_proxy_headers(url, headers) - - return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw) - - -def proxy_from_url(url, **kw): - return ProxyManager(proxy_url=url, **kw) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/request.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/request.py deleted file mode 100644 index d5aa62d8..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/request.py +++ /dev/null @@ -1,151 +0,0 @@ -from __future__ import absolute_import -try: - from urllib.parse import urlencode -except ImportError: - from urllib import urlencode - -from .filepost import encode_multipart_formdata - - -__all__ = ['RequestMethods'] - - -class RequestMethods(object): - """ - Convenience mixin for classes who implement a :meth:`urlopen` method, such - as :class:`~urllib3.connectionpool.HTTPConnectionPool` and - :class:`~urllib3.poolmanager.PoolManager`. - - Provides behavior for making common types of HTTP request methods and - decides which type of request field encoding to use. - - Specifically, - - :meth:`.request_encode_url` is for sending requests whose fields are - encoded in the URL (such as GET, HEAD, DELETE). - - :meth:`.request_encode_body` is for sending requests whose fields are - encoded in the *body* of the request using multipart or www-form-urlencoded - (such as for POST, PUT, PATCH). - - :meth:`.request` is for making any kind of request, it will look up the - appropriate encoding format and use one of the above two methods to make - the request. - - Initializer parameters: - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - """ - - _encode_url_methods = set(['DELETE', 'GET', 'HEAD', 'OPTIONS']) - - def __init__(self, headers=None): - self.headers = headers or {} - - def urlopen(self, method, url, body=None, headers=None, - encode_multipart=True, multipart_boundary=None, - **kw): # Abstract - raise NotImplemented("Classes extending RequestMethods must implement " - "their own ``urlopen`` method.") - - def request(self, method, url, fields=None, headers=None, **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the appropriate encoding of - ``fields`` based on the ``method`` used. - - This is a convenience method that requires the least amount of manual - effort. It can be used in most situations, while still having the - option to drop down to more specific methods when necessary, such as - :meth:`request_encode_url`, :meth:`request_encode_body`, - or even the lowest level :meth:`urlopen`. - """ - method = method.upper() - - if method in self._encode_url_methods: - return self.request_encode_url(method, url, fields=fields, - headers=headers, - **urlopen_kw) - else: - return self.request_encode_body(method, url, fields=fields, - headers=headers, - **urlopen_kw) - - def request_encode_url(self, method, url, fields=None, headers=None, - **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the ``fields`` encoded in - the url. This is useful for request methods like GET, HEAD, DELETE, etc. - """ - if headers is None: - headers = self.headers - - extra_kw = {'headers': headers} - extra_kw.update(urlopen_kw) - - if fields: - url += '?' + urlencode(fields) - - return self.urlopen(method, url, **extra_kw) - - def request_encode_body(self, method, url, fields=None, headers=None, - encode_multipart=True, multipart_boundary=None, - **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the ``fields`` encoded in - the body. This is useful for request methods like POST, PUT, PATCH, etc. - - When ``encode_multipart=True`` (default), then - :meth:`urllib3.filepost.encode_multipart_formdata` is used to encode - the payload with the appropriate content type. Otherwise - :meth:`urllib.urlencode` is used with the - 'application/x-www-form-urlencoded' content type. - - Multipart encoding must be used when posting files, and it's reasonably - safe to use it in other times too. However, it may break request - signing, such as with OAuth. - - Supports an optional ``fields`` parameter of key/value strings AND - key/filetuple. A filetuple is a (filename, data, MIME type) tuple where - the MIME type is optional. For example:: - - fields = { - 'foo': 'bar', - 'fakefile': ('foofile.txt', 'contents of foofile'), - 'realfile': ('barfile.txt', open('realfile').read()), - 'typedfile': ('bazfile.bin', open('bazfile').read(), - 'image/jpeg'), - 'nonamefile': 'contents of nonamefile field', - } - - When uploading a file, providing a filename (the first parameter of the - tuple) is optional but recommended to best mimick behavior of browsers. - - Note that if ``headers`` are supplied, the 'Content-Type' header will - be overwritten because it depends on the dynamic random boundary string - which is used to compose the body of the request. The random boundary - string can be explicitly set with the ``multipart_boundary`` parameter. - """ - if headers is None: - headers = self.headers - - extra_kw = {'headers': {}} - - if fields: - if 'body' in urlopen_kw: - raise TypeError( - "request got values for both 'fields' and 'body', can only specify one.") - - if encode_multipart: - body, content_type = encode_multipart_formdata(fields, boundary=multipart_boundary) - else: - body, content_type = urlencode(fields), 'application/x-www-form-urlencoded' - - extra_kw['body'] = body - extra_kw['headers'] = {'Content-Type': content_type} - - extra_kw['headers'].update(headers) - extra_kw.update(urlopen_kw) - - return self.urlopen(method, url, **extra_kw) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/response.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/response.py deleted file mode 100644 index 55679032..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/response.py +++ /dev/null @@ -1,530 +0,0 @@ -from __future__ import absolute_import -from contextlib import contextmanager -import zlib -import io -from socket import timeout as SocketTimeout -from socket import error as SocketError - -from ._collections import HTTPHeaderDict -from .exceptions import ( - ProtocolError, DecodeError, ReadTimeoutError, ResponseNotChunked -) -from .packages.six import string_types as basestring, binary_type, PY3 -from .packages.six.moves import http_client as httplib -from .connection import HTTPException, BaseSSLError -from .util.response import is_fp_closed, is_response_to_head - - -class DeflateDecoder(object): - - def __init__(self): - self._first_try = True - self._data = binary_type() - self._obj = zlib.decompressobj() - - def __getattr__(self, name): - return getattr(self._obj, name) - - def decompress(self, data): - if not data: - return data - - if not self._first_try: - return self._obj.decompress(data) - - self._data += data - try: - return self._obj.decompress(data) - except zlib.error: - self._first_try = False - self._obj = zlib.decompressobj(-zlib.MAX_WBITS) - try: - return self.decompress(self._data) - finally: - self._data = None - - -class GzipDecoder(object): - - def __init__(self): - self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) - - def __getattr__(self, name): - return getattr(self._obj, name) - - def decompress(self, data): - if not data: - return data - return self._obj.decompress(data) - - -def _get_decoder(mode): - if mode == 'gzip': - return GzipDecoder() - - return DeflateDecoder() - - -class HTTPResponse(io.IOBase): - """ - HTTP Response container. - - Backwards-compatible to httplib's HTTPResponse but the response ``body`` is - loaded and decoded on-demand when the ``data`` property is accessed. This - class is also compatible with the Python standard library's :mod:`io` - module, and can hence be treated as a readable object in the context of that - framework. - - Extra parameters for behaviour not present in httplib.HTTPResponse: - - :param preload_content: - If True, the response's body will be preloaded during construction. - - :param decode_content: - If True, attempts to decode specific content-encoding's based on headers - (like 'gzip' and 'deflate') will be skipped and raw data will be used - instead. - - :param original_response: - When this HTTPResponse wrapper is generated from an httplib.HTTPResponse - object, it's convenient to include the original for debug purposes. It's - otherwise unused. - """ - - CONTENT_DECODERS = ['gzip', 'deflate'] - REDIRECT_STATUSES = [301, 302, 303, 307, 308] - - def __init__(self, body='', headers=None, status=0, version=0, reason=None, - strict=0, preload_content=True, decode_content=True, - original_response=None, pool=None, connection=None): - - if isinstance(headers, HTTPHeaderDict): - self.headers = headers - else: - self.headers = HTTPHeaderDict(headers) - self.status = status - self.version = version - self.reason = reason - self.strict = strict - self.decode_content = decode_content - - self._decoder = None - self._body = None - self._fp = None - self._original_response = original_response - self._fp_bytes_read = 0 - - if body and isinstance(body, (basestring, binary_type)): - self._body = body - - self._pool = pool - self._connection = connection - - if hasattr(body, 'read'): - self._fp = body - - # Are we using the chunked-style of transfer encoding? - self.chunked = False - self.chunk_left = None - tr_enc = self.headers.get('transfer-encoding', '').lower() - # Don't incur the penalty of creating a list and then discarding it - encodings = (enc.strip() for enc in tr_enc.split(",")) - if "chunked" in encodings: - self.chunked = True - - # If requested, preload the body. - if preload_content and not self._body: - self._body = self.read(decode_content=decode_content) - - def get_redirect_location(self): - """ - Should we redirect and where to? - - :returns: Truthy redirect location string if we got a redirect status - code and valid location. ``None`` if redirect status and no - location. ``False`` if not a redirect status code. - """ - if self.status in self.REDIRECT_STATUSES: - return self.headers.get('location') - - return False - - def release_conn(self): - if not self._pool or not self._connection: - return - - self._pool._put_conn(self._connection) - self._connection = None - - @property - def data(self): - # For backwords-compat with earlier urllib3 0.4 and earlier. - if self._body: - return self._body - - if self._fp: - return self.read(cache_content=True) - - @property - def connection(self): - return self._connection - - def tell(self): - """ - Obtain the number of bytes pulled over the wire so far. May differ from - the amount of content returned by :meth:``HTTPResponse.read`` if bytes - are encoded on the wire (e.g, compressed). - """ - return self._fp_bytes_read - - def _init_decoder(self): - """ - Set-up the _decoder attribute if necessar. - """ - # Note: content-encoding value should be case-insensitive, per RFC 7230 - # Section 3.2 - content_encoding = self.headers.get('content-encoding', '').lower() - if self._decoder is None and content_encoding in self.CONTENT_DECODERS: - self._decoder = _get_decoder(content_encoding) - - def _decode(self, data, decode_content, flush_decoder): - """ - Decode the data passed in and potentially flush the decoder. - """ - try: - if decode_content and self._decoder: - data = self._decoder.decompress(data) - except (IOError, zlib.error) as e: - content_encoding = self.headers.get('content-encoding', '').lower() - raise DecodeError( - "Received response with content-encoding: %s, but " - "failed to decode it." % content_encoding, e) - - if flush_decoder and decode_content: - data += self._flush_decoder() - - return data - - def _flush_decoder(self): - """ - Flushes the decoder. Should only be called if the decoder is actually - being used. - """ - if self._decoder: - buf = self._decoder.decompress(b'') - return buf + self._decoder.flush() - - return b'' - - @contextmanager - def _error_catcher(self): - """ - Catch low-level python exceptions, instead re-raising urllib3 - variants, so that low-level exceptions are not leaked in the - high-level api. - - On exit, release the connection back to the pool. - """ - clean_exit = False - - try: - try: - yield - - except SocketTimeout: - # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but - # there is yet no clean way to get at it from this context. - raise ReadTimeoutError(self._pool, None, 'Read timed out.') - - except BaseSSLError as e: - # FIXME: Is there a better way to differentiate between SSLErrors? - if 'read operation timed out' not in str(e): # Defensive: - # This shouldn't happen but just in case we're missing an edge - # case, let's avoid swallowing SSL errors. - raise - - raise ReadTimeoutError(self._pool, None, 'Read timed out.') - - except (HTTPException, SocketError) as e: - # This includes IncompleteRead. - raise ProtocolError('Connection broken: %r' % e, e) - - # If no exception is thrown, we should avoid cleaning up - # unnecessarily. - clean_exit = True - finally: - # If we didn't terminate cleanly, we need to throw away our - # connection. - if not clean_exit: - # The response may not be closed but we're not going to use it - # anymore so close it now to ensure that the connection is - # released back to the pool. - if self._original_response: - self._original_response.close() - - # Closing the response may not actually be sufficient to close - # everything, so if we have a hold of the connection close that - # too. - if self._connection: - self._connection.close() - - # If we hold the original response but it's closed now, we should - # return the connection back to the pool. - if self._original_response and self._original_response.isclosed(): - self.release_conn() - - def read(self, amt=None, decode_content=None, cache_content=False): - """ - Similar to :meth:`httplib.HTTPResponse.read`, but with two additional - parameters: ``decode_content`` and ``cache_content``. - - :param amt: - How much of the content to read. If specified, caching is skipped - because it doesn't make sense to cache partial content as the full - response. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - - :param cache_content: - If True, will save the returned data such that the same result is - returned despite of the state of the underlying file object. This - is useful if you want the ``.data`` property to continue working - after having ``.read()`` the file object. (Overridden if ``amt`` is - set.) - """ - self._init_decoder() - if decode_content is None: - decode_content = self.decode_content - - if self._fp is None: - return - - flush_decoder = False - data = None - - with self._error_catcher(): - if amt is None: - # cStringIO doesn't like amt=None - data = self._fp.read() - flush_decoder = True - else: - cache_content = False - data = self._fp.read(amt) - if amt != 0 and not data: # Platform-specific: Buggy versions of Python. - # Close the connection when no data is returned - # - # This is redundant to what httplib/http.client _should_ - # already do. However, versions of python released before - # December 15, 2012 (http://bugs.python.org/issue16298) do - # not properly close the connection in all cases. There is - # no harm in redundantly calling close. - self._fp.close() - flush_decoder = True - - if data: - self._fp_bytes_read += len(data) - - data = self._decode(data, decode_content, flush_decoder) - - if cache_content: - self._body = data - - return data - - def stream(self, amt=2**16, decode_content=None): - """ - A generator wrapper for the read() method. A call will block until - ``amt`` bytes have been read from the connection or until the - connection is closed. - - :param amt: - How much of the content to read. The generator will return up to - much data per iteration, but may return less. This is particularly - likely when using compressed data. However, the empty string will - never be returned. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - """ - if self.chunked: - for line in self.read_chunked(amt, decode_content=decode_content): - yield line - else: - while not is_fp_closed(self._fp): - data = self.read(amt=amt, decode_content=decode_content) - - if data: - yield data - - @classmethod - def from_httplib(ResponseCls, r, **response_kw): - """ - Given an :class:`httplib.HTTPResponse` instance ``r``, return a - corresponding :class:`urllib3.response.HTTPResponse` object. - - Remaining parameters are passed to the HTTPResponse constructor, along - with ``original_response=r``. - """ - headers = r.msg - - if not isinstance(headers, HTTPHeaderDict): - if PY3: # Python 3 - headers = HTTPHeaderDict(headers.items()) - else: # Python 2 - headers = HTTPHeaderDict.from_httplib(headers) - - # HTTPResponse objects in Python 3 don't have a .strict attribute - strict = getattr(r, 'strict', 0) - resp = ResponseCls(body=r, - headers=headers, - status=r.status, - version=r.version, - reason=r.reason, - strict=strict, - original_response=r, - **response_kw) - return resp - - # Backwards-compatibility methods for httplib.HTTPResponse - def getheaders(self): - return self.headers - - def getheader(self, name, default=None): - return self.headers.get(name, default) - - # Overrides from io.IOBase - def close(self): - if not self.closed: - self._fp.close() - - if self._connection: - self._connection.close() - - @property - def closed(self): - if self._fp is None: - return True - elif hasattr(self._fp, 'closed'): - return self._fp.closed - elif hasattr(self._fp, 'isclosed'): # Python 2 - return self._fp.isclosed() - else: - return True - - def fileno(self): - if self._fp is None: - raise IOError("HTTPResponse has no file to get a fileno from") - elif hasattr(self._fp, "fileno"): - return self._fp.fileno() - else: - raise IOError("The file-like object this HTTPResponse is wrapped " - "around has no file descriptor") - - def flush(self): - if self._fp is not None and hasattr(self._fp, 'flush'): - return self._fp.flush() - - def readable(self): - # This method is required for `io` module compatibility. - return True - - def readinto(self, b): - # This method is required for `io` module compatibility. - temp = self.read(len(b)) - if len(temp) == 0: - return 0 - else: - b[:len(temp)] = temp - return len(temp) - - def _update_chunk_length(self): - # First, we'll figure out length of a chunk and then - # we'll try to read it from socket. - if self.chunk_left is not None: - return - line = self._fp.fp.readline() - line = line.split(b';', 1)[0] - try: - self.chunk_left = int(line, 16) - except ValueError: - # Invalid chunked protocol response, abort. - self.close() - raise httplib.IncompleteRead(line) - - def _handle_chunk(self, amt): - returned_chunk = None - if amt is None: - chunk = self._fp._safe_read(self.chunk_left) - returned_chunk = chunk - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - elif amt < self.chunk_left: - value = self._fp._safe_read(amt) - self.chunk_left = self.chunk_left - amt - returned_chunk = value - elif amt == self.chunk_left: - value = self._fp._safe_read(amt) - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - returned_chunk = value - else: # amt > self.chunk_left - returned_chunk = self._fp._safe_read(self.chunk_left) - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - return returned_chunk - - def read_chunked(self, amt=None, decode_content=None): - """ - Similar to :meth:`HTTPResponse.read`, but with an additional - parameter: ``decode_content``. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - """ - self._init_decoder() - # FIXME: Rewrite this method and make it a class with a better structured logic. - if not self.chunked: - raise ResponseNotChunked( - "Response is not chunked. " - "Header 'transfer-encoding: chunked' is missing.") - - # Don't bother reading the body of a HEAD request. - if self._original_response and is_response_to_head(self._original_response): - self._original_response.close() - return - - with self._error_catcher(): - while True: - self._update_chunk_length() - if self.chunk_left == 0: - break - chunk = self._handle_chunk(amt) - decoded = self._decode(chunk, decode_content=decode_content, - flush_decoder=False) - if decoded: - yield decoded - - if decode_content: - # On CPython and PyPy, we should never need to flush the - # decoder. However, on Jython we *might* need to, so - # lets defensively do it anyway. - decoded = self._flush_decoder() - if decoded: # Platform-specific: Jython. - yield decoded - - # Chunk content ends with \r\n: discard it. - while True: - line = self._fp.fp.readline() - if not line: - # Some sites may not end with '\r\n'. - break - if line == b'\r\n': - break - - # We read everything; close the "file". - if self._original_response: - self._original_response.close() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py deleted file mode 100644 index 4778cf99..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py +++ /dev/null @@ -1,46 +0,0 @@ -from __future__ import absolute_import -# For backwards compatibility, provide imports that used to be here. -from .connection import is_connection_dropped -from .request import make_headers -from .response import is_fp_closed -from .ssl_ import ( - SSLContext, - HAS_SNI, - IS_PYOPENSSL, - assert_fingerprint, - resolve_cert_reqs, - resolve_ssl_version, - ssl_wrap_socket, -) -from .timeout import ( - current_time, - Timeout, -) - -from .retry import Retry -from .url import ( - get_host, - parse_url, - split_first, - Url, -) - -__all__ = ( - 'HAS_SNI', - 'IS_PYOPENSSL', - 'SSLContext', - 'Retry', - 'Timeout', - 'Url', - 'assert_fingerprint', - 'current_time', - 'is_connection_dropped', - 'is_fp_closed', - 'get_host', - 'parse_url', - 'make_headers', - 'resolve_cert_reqs', - 'resolve_ssl_version', - 'split_first', - 'ssl_wrap_socket', -) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 18b645dd649f73836a7bfd0bbfe0f8c88609be04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1018 zcmcJNPjAyO7{-&fS=uyR*X}<9PP_ClvS~uB5<(z^#3VE(Iu4kFmDX+-YA42aIwm1; zA^3&_rPVzjDec0(l?|*zDpX;9Y)4O%`pneLE`37Jf z^MxmU;`<(}vAU?qI;mH6Lo{SSf~pS0k_<^$)k~r&Tcjl;63I4c%b3KnLppMqEXywG zR%=4BB73AK`=noun_^Y2k+rIBiFLU_HsmJRlv`v=Zj){3-z9h0&d3|wy8>0-z<1qr zYzk3YPBWZXrU%3ZjcxLqv#WL<6yez)jYDM1W``V#F$< z12`G<{>yg<)WJnt2DY0axA&Al{(jiJXMiH^r+o6Fv)ADH^wWI zH#X3L3o%zn^x8ZI;sTAyRtdQ}gn287$~gw+LP}F1DE;o~`!KHX>uUo0y+|!j7O76A zg}`H!3|VqC{4m^qILr@N&SrCFF2?k7_DCJ=!!^s3vqWWTZ(L@A?QtgP!J#_GR`tN? z$XTJ2KXy%`(#brXag%^Hk&O?N(qv7?nvZ3{O2MDtc{lrjxEA|(@3vNg L*xzb;{=e_v?y>+1 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/connection.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/connection.cpython-36.pyc deleted file mode 100644 index f3013bb08b36537ec800ef2c294017c433c1055d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3304 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 Su_FY(qzgwC2mz&nh5iLod{FKH diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/response.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/response.cpython-36.pyc deleted file mode 100644 index 4ca54c6deeab640986ea8794b770f531b230b414..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1875 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/ssl_.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/ssl_.cpython-36.pyc deleted file mode 100644 index 5323f85969dacdf3b38534a4e8122da52941b59f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8784 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/timeout.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/__pycache__/timeout.cpython-36.pyc deleted file mode 100644 index 231bc3fbdbd427c9472f578be5376246a8157645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8790 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py deleted file mode 100644 index 5e761352..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py +++ /dev/null @@ -1,144 +0,0 @@ -from __future__ import absolute_import -import socket -try: - from select import poll, POLLIN -except ImportError: # `poll` doesn't exist on OSX and other platforms - poll = False - try: - from select import select - except ImportError: # `select` doesn't exist on AppEngine. - select = False - - -def is_connection_dropped(conn): # Platform-specific - """ - Returns True if the connection is dropped and should be closed. - - :param conn: - :class:`httplib.HTTPConnection` object. - - Note: For platforms like AppEngine, this will always return ``False`` to - let the platform handle connection recycling transparently for us. - """ - sock = getattr(conn, 'sock', False) - if sock is False: # Platform-specific: AppEngine - return False - if sock is None: # Connection already closed (such as by httplib). - return True - - if not poll: - if not select: # Platform-specific: AppEngine - return False - - try: - return select([sock], [], [], 0.0)[0] - except socket.error: - return True - - # This version is better on platforms that support it. - p = poll() - p.register(sock, POLLIN) - for (fno, ev) in p.poll(0.0): - if fno == sock.fileno(): - # Either data is buffered (bad), or the connection is dropped. - return True - - -# This function is copied from socket.py in the Python 2.7 standard -# library test suite. Added to its signature is only `socket_options`. -# One additional modification is that we avoid binding to IPv6 servers -# discovered in DNS if the system doesn't have IPv6 functionality. -def create_connection(address, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, - source_address=None, socket_options=None): - """Connect to *address* and return the socket object. - - Convenience function. Connect to *address* (a 2-tuple ``(host, - port)``) and return the socket object. Passing the optional - *timeout* parameter will set the timeout on the socket instance - before attempting to connect. If no *timeout* is supplied, the - global default timeout setting returned by :func:`getdefaulttimeout` - is used. If *source_address* is set it must be a tuple of (host, port) - for the socket to bind as a source address before making the connection. - An host of '' or port 0 tells the OS to use the default. - """ - - host, port = address - if host.startswith('['): - host = host.strip('[]') - err = None - - # Using the value from allowed_gai_family() in the context of getaddrinfo lets - # us select whether to work with IPv4 DNS records, IPv6 records, or both. - # The original create_connection function always returns all records. - family = allowed_gai_family() - - for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): - af, socktype, proto, canonname, sa = res - sock = None - try: - sock = socket.socket(af, socktype, proto) - - # If provided, set socket level options before connecting. - _set_socket_options(sock, socket_options) - - if timeout is not socket._GLOBAL_DEFAULT_TIMEOUT: - sock.settimeout(timeout) - if source_address: - sock.bind(source_address) - sock.connect(sa) - return sock - - except socket.error as e: - err = e - if sock is not None: - sock.close() - sock = None - - if err is not None: - raise err - - raise socket.error("getaddrinfo returns an empty list") - - -def _set_socket_options(sock, options): - if options is None: - return - - for opt in options: - sock.setsockopt(*opt) - - -def allowed_gai_family(): - """This function is designed to work in the context of - getaddrinfo, where family=socket.AF_UNSPEC is the default and - will perform a DNS search for both IPv6 and IPv4 records.""" - - family = socket.AF_INET - if HAS_IPV6: - family = socket.AF_UNSPEC - return family - - -def _has_ipv6(host): - """ Returns True if the system can bind an IPv6 address. """ - sock = None - has_ipv6 = False - - if socket.has_ipv6: - # has_ipv6 returns true if cPython was compiled with IPv6 support. - # It does not tell us if the system has IPv6 support enabled. To - # determine that we must bind to an IPv6 address. - # https://github.com/shazow/urllib3/pull/611 - # https://bugs.python.org/issue658327 - try: - sock = socket.socket(socket.AF_INET6) - sock.bind((host, 0)) - has_ipv6 = True - except Exception: - pass - - if sock: - sock.close() - return has_ipv6 - -HAS_IPV6 = _has_ipv6('::1') diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py deleted file mode 100644 index 73779315..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py +++ /dev/null @@ -1,72 +0,0 @@ -from __future__ import absolute_import -from base64 import b64encode - -from ..packages.six import b - -ACCEPT_ENCODING = 'gzip,deflate' - - -def make_headers(keep_alive=None, accept_encoding=None, user_agent=None, - basic_auth=None, proxy_basic_auth=None, disable_cache=None): - """ - Shortcuts for generating request headers. - - :param keep_alive: - If ``True``, adds 'connection: keep-alive' header. - - :param accept_encoding: - Can be a boolean, list, or string. - ``True`` translates to 'gzip,deflate'. - List will get joined by comma. - String will be used as provided. - - :param user_agent: - String representing the user-agent you want, such as - "python-urllib3/0.6" - - :param basic_auth: - Colon-separated username:password string for 'authorization: basic ...' - auth header. - - :param proxy_basic_auth: - Colon-separated username:password string for 'proxy-authorization: basic ...' - auth header. - - :param disable_cache: - If ``True``, adds 'cache-control: no-cache' header. - - Example:: - - >>> make_headers(keep_alive=True, user_agent="Batman/1.0") - {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'} - >>> make_headers(accept_encoding=True) - {'accept-encoding': 'gzip,deflate'} - """ - headers = {} - if accept_encoding: - if isinstance(accept_encoding, str): - pass - elif isinstance(accept_encoding, list): - accept_encoding = ','.join(accept_encoding) - else: - accept_encoding = ACCEPT_ENCODING - headers['accept-encoding'] = accept_encoding - - if user_agent: - headers['user-agent'] = user_agent - - if keep_alive: - headers['connection'] = 'keep-alive' - - if basic_auth: - headers['authorization'] = 'Basic ' + \ - b64encode(b(basic_auth)).decode('utf-8') - - if proxy_basic_auth: - headers['proxy-authorization'] = 'Basic ' + \ - b64encode(b(proxy_basic_auth)).decode('utf-8') - - if disable_cache: - headers['cache-control'] = 'no-cache' - - return headers diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py deleted file mode 100644 index 0b5c75c1..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py +++ /dev/null @@ -1,74 +0,0 @@ -from __future__ import absolute_import -from ..packages.six.moves import http_client as httplib - -from ..exceptions import HeaderParsingError - - -def is_fp_closed(obj): - """ - Checks whether a given file-like object is closed. - - :param obj: - The file-like object to check. - """ - - try: - # Check via the official file-like-object way. - return obj.closed - except AttributeError: - pass - - try: - # Check if the object is a container for another file-like object that - # gets released on exhaustion (e.g. HTTPResponse). - return obj.fp is None - except AttributeError: - pass - - raise ValueError("Unable to determine whether fp is closed.") - - -def assert_header_parsing(headers): - """ - Asserts whether all headers have been successfully parsed. - Extracts encountered errors from the result of parsing headers. - - Only works on Python 3. - - :param headers: Headers to verify. - :type headers: `httplib.HTTPMessage`. - - :raises urllib3.exceptions.HeaderParsingError: - If parsing errors are found. - """ - - # This will fail silently if we pass in the wrong kind of parameter. - # To make debugging easier add an explicit check. - if not isinstance(headers, httplib.HTTPMessage): - raise TypeError('expected httplib.Message, got {0}.'.format( - type(headers))) - - defects = getattr(headers, 'defects', None) - get_payload = getattr(headers, 'get_payload', None) - - unparsed_data = None - if get_payload: # Platform-specific: Python 3. - unparsed_data = get_payload() - - if defects or unparsed_data: - raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data) - - -def is_response_to_head(response): - """ - Checks whether the request of a response has been a HEAD-request. - Handles the quirks of AppEngine. - - :param conn: - :type conn: :class:`httplib.HTTPResponse` - """ - # FIXME: Can we do this somehow without accessing private httplib _method? - method = response._method - if isinstance(method, int): # Platform-specific: Appengine - return method == 3 - return method.upper() == 'HEAD' diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/retry.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/retry.py deleted file mode 100644 index d379833c..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/retry.py +++ /dev/null @@ -1,300 +0,0 @@ -from __future__ import absolute_import -import time -import logging - -from ..exceptions import ( - ConnectTimeoutError, - MaxRetryError, - ProtocolError, - ReadTimeoutError, - ResponseError, -) -from ..packages import six - - -log = logging.getLogger(__name__) - - -class Retry(object): - """ Retry configuration. - - Each retry attempt will create a new Retry object with updated values, so - they can be safely reused. - - Retries can be defined as a default for a pool:: - - retries = Retry(connect=5, read=2, redirect=5) - http = PoolManager(retries=retries) - response = http.request('GET', 'http://example.com/') - - Or per-request (which overrides the default for the pool):: - - response = http.request('GET', 'http://example.com/', retries=Retry(10)) - - Retries can be disabled by passing ``False``:: - - response = http.request('GET', 'http://example.com/', retries=False) - - Errors will be wrapped in :class:`~urllib3.exceptions.MaxRetryError` unless - retries are disabled, in which case the causing exception will be raised. - - :param int total: - Total number of retries to allow. Takes precedence over other counts. - - Set to ``None`` to remove this constraint and fall back on other - counts. It's a good idea to set this to some sensibly-high value to - account for unexpected edge cases and avoid infinite retry loops. - - Set to ``0`` to fail on the first retry. - - Set to ``False`` to disable and imply ``raise_on_redirect=False``. - - :param int connect: - How many connection-related errors to retry on. - - These are errors raised before the request is sent to the remote server, - which we assume has not triggered the server to process the request. - - Set to ``0`` to fail on the first retry of this type. - - :param int read: - How many times to retry on read errors. - - These errors are raised after the request was sent to the server, so the - request may have side-effects. - - Set to ``0`` to fail on the first retry of this type. - - :param int redirect: - How many redirects to perform. Limit this to avoid infinite redirect - loops. - - A redirect is a HTTP response with a status code 301, 302, 303, 307 or - 308. - - Set to ``0`` to fail on the first retry of this type. - - Set to ``False`` to disable and imply ``raise_on_redirect=False``. - - :param iterable method_whitelist: - Set of uppercased HTTP method verbs that we should retry on. - - By default, we only retry on methods which are considered to be - idempotent (multiple requests with the same parameters end with the - same state). See :attr:`Retry.DEFAULT_METHOD_WHITELIST`. - - Set to a ``False`` value to retry on any verb. - - :param iterable status_forcelist: - A set of integer HTTP status codes that we should force a retry on. - A retry is initiated if the request method is in ``method_whitelist`` - and the response status code is in ``status_forcelist``. - - By default, this is disabled with ``None``. - - :param float backoff_factor: - A backoff factor to apply between attempts after the second try - (most errors are resolved immediately by a second try without a - delay). urllib3 will sleep for:: - - {backoff factor} * (2 ^ ({number of total retries} - 1)) - - seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep - for [0.0s, 0.2s, 0.4s, ...] between retries. It will never be longer - than :attr:`Retry.BACKOFF_MAX`. - - By default, backoff is disabled (set to 0). - - :param bool raise_on_redirect: Whether, if the number of redirects is - exhausted, to raise a MaxRetryError, or to return a response with a - response code in the 3xx range. - - :param bool raise_on_status: Similar meaning to ``raise_on_redirect``: - whether we should raise an exception, or return a response, - if status falls in ``status_forcelist`` range and retries have - been exhausted. - """ - - DEFAULT_METHOD_WHITELIST = frozenset([ - 'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']) - - #: Maximum backoff time. - BACKOFF_MAX = 120 - - def __init__(self, total=10, connect=None, read=None, redirect=None, - method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None, - backoff_factor=0, raise_on_redirect=True, raise_on_status=True, - _observed_errors=0): - - self.total = total - self.connect = connect - self.read = read - - if redirect is False or total is False: - redirect = 0 - raise_on_redirect = False - - self.redirect = redirect - self.status_forcelist = status_forcelist or set() - self.method_whitelist = method_whitelist - self.backoff_factor = backoff_factor - self.raise_on_redirect = raise_on_redirect - self.raise_on_status = raise_on_status - self._observed_errors = _observed_errors # TODO: use .history instead? - - def new(self, **kw): - params = dict( - total=self.total, - connect=self.connect, read=self.read, redirect=self.redirect, - method_whitelist=self.method_whitelist, - status_forcelist=self.status_forcelist, - backoff_factor=self.backoff_factor, - raise_on_redirect=self.raise_on_redirect, - raise_on_status=self.raise_on_status, - _observed_errors=self._observed_errors, - ) - params.update(kw) - return type(self)(**params) - - @classmethod - def from_int(cls, retries, redirect=True, default=None): - """ Backwards-compatibility for the old retries format.""" - if retries is None: - retries = default if default is not None else cls.DEFAULT - - if isinstance(retries, Retry): - return retries - - redirect = bool(redirect) and None - new_retries = cls(retries, redirect=redirect) - log.debug("Converted retries value: %r -> %r", retries, new_retries) - return new_retries - - def get_backoff_time(self): - """ Formula for computing the current backoff - - :rtype: float - """ - if self._observed_errors <= 1: - return 0 - - backoff_value = self.backoff_factor * (2 ** (self._observed_errors - 1)) - return min(self.BACKOFF_MAX, backoff_value) - - def sleep(self): - """ Sleep between retry attempts using an exponential backoff. - - By default, the backoff factor is 0 and this method will return - immediately. - """ - backoff = self.get_backoff_time() - if backoff <= 0: - return - time.sleep(backoff) - - def _is_connection_error(self, err): - """ Errors when we're fairly sure that the server did not receive the - request, so it should be safe to retry. - """ - return isinstance(err, ConnectTimeoutError) - - def _is_read_error(self, err): - """ Errors that occur after the request has been started, so we should - assume that the server began processing it. - """ - return isinstance(err, (ReadTimeoutError, ProtocolError)) - - def is_forced_retry(self, method, status_code): - """ Is this method/status code retryable? (Based on method/codes whitelists) - """ - if self.method_whitelist and method.upper() not in self.method_whitelist: - return False - - return self.status_forcelist and status_code in self.status_forcelist - - def is_exhausted(self): - """ Are we out of retries? """ - retry_counts = (self.total, self.connect, self.read, self.redirect) - retry_counts = list(filter(None, retry_counts)) - if not retry_counts: - return False - - return min(retry_counts) < 0 - - def increment(self, method=None, url=None, response=None, error=None, - _pool=None, _stacktrace=None): - """ Return a new Retry object with incremented retry counters. - - :param response: A response object, or None, if the server did not - return a response. - :type response: :class:`~urllib3.response.HTTPResponse` - :param Exception error: An error encountered during the request, or - None if the response was received successfully. - - :return: A new ``Retry`` object. - """ - if self.total is False and error: - # Disabled, indicate to re-raise the error. - raise six.reraise(type(error), error, _stacktrace) - - total = self.total - if total is not None: - total -= 1 - - _observed_errors = self._observed_errors - connect = self.connect - read = self.read - redirect = self.redirect - cause = 'unknown' - - if error and self._is_connection_error(error): - # Connect retry? - if connect is False: - raise six.reraise(type(error), error, _stacktrace) - elif connect is not None: - connect -= 1 - _observed_errors += 1 - - elif error and self._is_read_error(error): - # Read retry? - if read is False: - raise six.reraise(type(error), error, _stacktrace) - elif read is not None: - read -= 1 - _observed_errors += 1 - - elif response and response.get_redirect_location(): - # Redirect retry? - if redirect is not None: - redirect -= 1 - cause = 'too many redirects' - - else: - # Incrementing because of a server error like a 500 in - # status_forcelist and a the given method is in the whitelist - _observed_errors += 1 - cause = ResponseError.GENERIC_ERROR - if response and response.status: - cause = ResponseError.SPECIFIC_ERROR.format( - status_code=response.status) - - new_retry = self.new( - total=total, - connect=connect, read=read, redirect=redirect, - _observed_errors=_observed_errors) - - if new_retry.is_exhausted(): - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - - log.debug("Incremented Retry for (url='%s'): %r", url, new_retry) - - return new_retry - - def __repr__(self): - return ('{cls.__name__}(total={self.total}, connect={self.connect}, ' - 'read={self.read}, redirect={self.redirect})').format( - cls=type(self), self=self) - - -# For backwards compatibility (equivalent to pre-v1.9): -Retry.DEFAULT = Retry(3) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py deleted file mode 100644 index 4a64d7ef..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py +++ /dev/null @@ -1,320 +0,0 @@ -from __future__ import absolute_import -import errno -import warnings -import hmac - -from binascii import hexlify, unhexlify -from hashlib import md5, sha1, sha256 - -from ..exceptions import SSLError, InsecurePlatformWarning, SNIMissingWarning - - -SSLContext = None -HAS_SNI = False -create_default_context = None -IS_PYOPENSSL = False - -# Maps the length of a digest to a possible hash function producing this digest -HASHFUNC_MAP = { - 32: md5, - 40: sha1, - 64: sha256, -} - - -def _const_compare_digest_backport(a, b): - """ - Compare two digests of equal length in constant time. - - The digests must be of type str/bytes. - Returns True if the digests match, and False otherwise. - """ - result = abs(len(a) - len(b)) - for l, r in zip(bytearray(a), bytearray(b)): - result |= l ^ r - return result == 0 - - -_const_compare_digest = getattr(hmac, 'compare_digest', - _const_compare_digest_backport) - - -try: # Test for SSL features - import ssl - from ssl import wrap_socket, CERT_NONE, PROTOCOL_SSLv23 - from ssl import HAS_SNI # Has SNI? -except ImportError: - pass - - -try: - from ssl import OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION -except ImportError: - OP_NO_SSLv2, OP_NO_SSLv3 = 0x1000000, 0x2000000 - OP_NO_COMPRESSION = 0x20000 - -# A secure default. -# Sources for more information on TLS ciphers: -# -# - https://wiki.mozilla.org/Security/Server_Side_TLS -# - https://www.ssllabs.com/projects/best-practices/index.html -# - https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ -# -# The general intent is: -# - Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), -# - prefer ECDHE over DHE for better performance, -# - prefer any AES-GCM over any AES-CBC for better performance and security, -# - use 3DES as fallback which is secure but slow, -# - disable NULL authentication, MD5 MACs and DSS for security reasons. -DEFAULT_CIPHERS = ( - 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:' - 'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:!aNULL:' - '!eNULL:!MD5' -) - -try: - from ssl import SSLContext # Modern SSL? -except ImportError: - import sys - - class SSLContext(object): # Platform-specific: Python 2 & 3.1 - supports_set_ciphers = ((2, 7) <= sys.version_info < (3,) or - (3, 2) <= sys.version_info) - - def __init__(self, protocol_version): - self.protocol = protocol_version - # Use default values from a real SSLContext - self.check_hostname = False - self.verify_mode = ssl.CERT_NONE - self.ca_certs = None - self.options = 0 - self.certfile = None - self.keyfile = None - self.ciphers = None - - def load_cert_chain(self, certfile, keyfile): - self.certfile = certfile - self.keyfile = keyfile - - def load_verify_locations(self, cafile=None, capath=None): - self.ca_certs = cafile - - if capath is not None: - raise SSLError("CA directories not supported in older Pythons") - - def set_ciphers(self, cipher_suite): - if not self.supports_set_ciphers: - raise TypeError( - 'Your version of Python does not support setting ' - 'a custom cipher suite. Please upgrade to Python ' - '2.7, 3.2, or later if you need this functionality.' - ) - self.ciphers = cipher_suite - - def wrap_socket(self, socket, server_hostname=None, server_side=False): - warnings.warn( - 'A true SSLContext object is not available. This prevents ' - 'urllib3 from configuring SSL appropriately and may cause ' - 'certain SSL connections to fail. You can upgrade to a newer ' - 'version of Python to solve this. For more information, see ' - 'https://urllib3.readthedocs.io/en/latest/security.html' - '#insecureplatformwarning.', - InsecurePlatformWarning - ) - kwargs = { - 'keyfile': self.keyfile, - 'certfile': self.certfile, - 'ca_certs': self.ca_certs, - 'cert_reqs': self.verify_mode, - 'ssl_version': self.protocol, - 'server_side': server_side, - } - if self.supports_set_ciphers: # Platform-specific: Python 2.7+ - return wrap_socket(socket, ciphers=self.ciphers, **kwargs) - else: # Platform-specific: Python 2.6 - return wrap_socket(socket, **kwargs) - - -def assert_fingerprint(cert, fingerprint): - """ - Checks if given fingerprint matches the supplied certificate. - - :param cert: - Certificate as bytes object. - :param fingerprint: - Fingerprint as string of hexdigits, can be interspersed by colons. - """ - - fingerprint = fingerprint.replace(':', '').lower() - digest_length = len(fingerprint) - hashfunc = HASHFUNC_MAP.get(digest_length) - if not hashfunc: - raise SSLError( - 'Fingerprint of invalid length: {0}'.format(fingerprint)) - - # We need encode() here for py32; works on py2 and p33. - fingerprint_bytes = unhexlify(fingerprint.encode()) - - cert_digest = hashfunc(cert).digest() - - if not _const_compare_digest(cert_digest, fingerprint_bytes): - raise SSLError('Fingerprints did not match. Expected "{0}", got "{1}".' - .format(fingerprint, hexlify(cert_digest))) - - -def resolve_cert_reqs(candidate): - """ - Resolves the argument to a numeric constant, which can be passed to - the wrap_socket function/method from the ssl module. - Defaults to :data:`ssl.CERT_NONE`. - If given a string it is assumed to be the name of the constant in the - :mod:`ssl` module or its abbrevation. - (So you can specify `REQUIRED` instead of `CERT_REQUIRED`. - If it's neither `None` nor a string we assume it is already the numeric - constant which can directly be passed to wrap_socket. - """ - if candidate is None: - return CERT_NONE - - if isinstance(candidate, str): - res = getattr(ssl, candidate, None) - if res is None: - res = getattr(ssl, 'CERT_' + candidate) - return res - - return candidate - - -def resolve_ssl_version(candidate): - """ - like resolve_cert_reqs - """ - if candidate is None: - return PROTOCOL_SSLv23 - - if isinstance(candidate, str): - res = getattr(ssl, candidate, None) - if res is None: - res = getattr(ssl, 'PROTOCOL_' + candidate) - return res - - return candidate - - -def create_urllib3_context(ssl_version=None, cert_reqs=None, - options=None, ciphers=None): - """All arguments have the same meaning as ``ssl_wrap_socket``. - - By default, this function does a lot of the same work that - ``ssl.create_default_context`` does on Python 3.4+. It: - - - Disables SSLv2, SSLv3, and compression - - Sets a restricted set of server ciphers - - If you wish to enable SSLv3, you can do:: - - from urllib3.util import ssl_ - context = ssl_.create_urllib3_context() - context.options &= ~ssl_.OP_NO_SSLv3 - - You can do the same to enable compression (substituting ``COMPRESSION`` - for ``SSLv3`` in the last line above). - - :param ssl_version: - The desired protocol version to use. This will default to - PROTOCOL_SSLv23 which will negotiate the highest protocol that both - the server and your installation of OpenSSL support. - :param cert_reqs: - Whether to require the certificate verification. This defaults to - ``ssl.CERT_REQUIRED``. - :param options: - Specific OpenSSL options. These default to ``ssl.OP_NO_SSLv2``, - ``ssl.OP_NO_SSLv3``, ``ssl.OP_NO_COMPRESSION``. - :param ciphers: - Which cipher suites to allow the server to select. - :returns: - Constructed SSLContext object with specified options - :rtype: SSLContext - """ - context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) - - # Setting the default here, as we may have no ssl module on import - cert_reqs = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs - - if options is None: - options = 0 - # SSLv2 is easily broken and is considered harmful and dangerous - options |= OP_NO_SSLv2 - # SSLv3 has several problems and is now dangerous - options |= OP_NO_SSLv3 - # Disable compression to prevent CRIME attacks for OpenSSL 1.0+ - # (issue #309) - options |= OP_NO_COMPRESSION - - context.options |= options - - if getattr(context, 'supports_set_ciphers', True): # Platform-specific: Python 2.6 - context.set_ciphers(ciphers or DEFAULT_CIPHERS) - - context.verify_mode = cert_reqs - if getattr(context, 'check_hostname', None) is not None: # Platform-specific: Python 3.2 - # We do our own verification, including fingerprints and alternative - # hostnames. So disable it here - context.check_hostname = False - return context - - -def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, - ca_certs=None, server_hostname=None, - ssl_version=None, ciphers=None, ssl_context=None, - ca_cert_dir=None): - """ - All arguments except for server_hostname, ssl_context, and ca_cert_dir have - the same meaning as they do when using :func:`ssl.wrap_socket`. - - :param server_hostname: - When SNI is supported, the expected hostname of the certificate - :param ssl_context: - A pre-made :class:`SSLContext` object. If none is provided, one will - be created using :func:`create_urllib3_context`. - :param ciphers: - A string of ciphers we wish the client to support. This is not - supported on Python 2.6 as the ssl module does not support it. - :param ca_cert_dir: - A directory containing CA certificates in multiple separate files, as - supported by OpenSSL's -CApath flag or the capath argument to - SSLContext.load_verify_locations(). - """ - context = ssl_context - if context is None: - context = create_urllib3_context(ssl_version, cert_reqs, - ciphers=ciphers) - - if ca_certs or ca_cert_dir: - try: - context.load_verify_locations(ca_certs, ca_cert_dir) - except IOError as e: # Platform-specific: Python 2.6, 2.7, 3.2 - raise SSLError(e) - # Py33 raises FileNotFoundError which subclasses OSError - # These are not equivalent unless we check the errno attribute - except OSError as e: # Platform-specific: Python 3.3 and beyond - if e.errno == errno.ENOENT: - raise SSLError(e) - raise - - if certfile: - context.load_cert_chain(certfile, keyfile) - if HAS_SNI: # Platform-specific: OpenSSL with enabled SNI - return context.wrap_socket(sock, server_hostname=server_hostname) - - warnings.warn( - 'An HTTPS request has been made, but the SNI (Subject Name ' - 'Indication) extension to TLS is not available on this platform. ' - 'This may cause the server to present an incorrect TLS ' - 'certificate, which can cause validation failures. You can upgrade to ' - 'a newer version of Python to solve this. For more information, see ' - 'https://urllib3.readthedocs.io/en/latest/security.html' - '#snimissingwarning.', - SNIMissingWarning - ) - return context.wrap_socket(sock) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/timeout.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/timeout.py deleted file mode 100644 index ff62f476..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/timeout.py +++ /dev/null @@ -1,242 +0,0 @@ -from __future__ import absolute_import -# The default socket timeout, used by httplib to indicate that no timeout was -# specified by the user -from socket import _GLOBAL_DEFAULT_TIMEOUT -import time - -from ..exceptions import TimeoutStateError - -# A sentinel value to indicate that no timeout was specified by the user in -# urllib3 -_Default = object() - - -def current_time(): - """ - Retrieve the current time. This function is mocked out in unit testing. - """ - return time.time() - - -class Timeout(object): - """ Timeout configuration. - - Timeouts can be defined as a default for a pool:: - - timeout = Timeout(connect=2.0, read=7.0) - http = PoolManager(timeout=timeout) - response = http.request('GET', 'http://example.com/') - - Or per-request (which overrides the default for the pool):: - - response = http.request('GET', 'http://example.com/', timeout=Timeout(10)) - - Timeouts can be disabled by setting all the parameters to ``None``:: - - no_timeout = Timeout(connect=None, read=None) - response = http.request('GET', 'http://example.com/, timeout=no_timeout) - - - :param total: - This combines the connect and read timeouts into one; the read timeout - will be set to the time leftover from the connect attempt. In the - event that both a connect timeout and a total are specified, or a read - timeout and a total are specified, the shorter timeout will be applied. - - Defaults to None. - - :type total: integer, float, or None - - :param connect: - The maximum amount of time to wait for a connection attempt to a server - to succeed. Omitting the parameter will default the connect timeout to - the system default, probably `the global default timeout in socket.py - `_. - None will set an infinite timeout for connection attempts. - - :type connect: integer, float, or None - - :param read: - The maximum amount of time to wait between consecutive - read operations for a response from the server. Omitting - the parameter will default the read timeout to the system - default, probably `the global default timeout in socket.py - `_. - None will set an infinite timeout. - - :type read: integer, float, or None - - .. note:: - - Many factors can affect the total amount of time for urllib3 to return - an HTTP response. - - For example, Python's DNS resolver does not obey the timeout specified - on the socket. Other factors that can affect total request time include - high CPU load, high swap, the program running at a low priority level, - or other behaviors. - - In addition, the read and total timeouts only measure the time between - read operations on the socket connecting the client and the server, - not the total amount of time for the request to return a complete - response. For most requests, the timeout is raised because the server - has not sent the first byte in the specified time. This is not always - the case; if a server streams one byte every fifteen seconds, a timeout - of 20 seconds will not trigger, even though the request will take - several minutes to complete. - - If your goal is to cut off any request after a set amount of wall clock - time, consider having a second "watcher" thread to cut off a slow - request. - """ - - #: A sentinel object representing the default timeout value - DEFAULT_TIMEOUT = _GLOBAL_DEFAULT_TIMEOUT - - def __init__(self, total=None, connect=_Default, read=_Default): - self._connect = self._validate_timeout(connect, 'connect') - self._read = self._validate_timeout(read, 'read') - self.total = self._validate_timeout(total, 'total') - self._start_connect = None - - def __str__(self): - return '%s(connect=%r, read=%r, total=%r)' % ( - type(self).__name__, self._connect, self._read, self.total) - - @classmethod - def _validate_timeout(cls, value, name): - """ Check that a timeout attribute is valid. - - :param value: The timeout value to validate - :param name: The name of the timeout attribute to validate. This is - used to specify in error messages. - :return: The validated and casted version of the given value. - :raises ValueError: If the type is not an integer or a float, or if it - is a numeric value less than zero. - """ - if value is _Default: - return cls.DEFAULT_TIMEOUT - - if value is None or value is cls.DEFAULT_TIMEOUT: - return value - - try: - float(value) - except (TypeError, ValueError): - raise ValueError("Timeout value %s was %s, but it must be an " - "int or float." % (name, value)) - - try: - if value < 0: - raise ValueError("Attempted to set %s timeout to %s, but the " - "timeout cannot be set to a value less " - "than 0." % (name, value)) - except TypeError: # Python 3 - raise ValueError("Timeout value %s was %s, but it must be an " - "int or float." % (name, value)) - - return value - - @classmethod - def from_float(cls, timeout): - """ Create a new Timeout from a legacy timeout value. - - The timeout value used by httplib.py sets the same timeout on the - connect(), and recv() socket requests. This creates a :class:`Timeout` - object that sets the individual timeouts to the ``timeout`` value - passed to this function. - - :param timeout: The legacy timeout value. - :type timeout: integer, float, sentinel default object, or None - :return: Timeout object - :rtype: :class:`Timeout` - """ - return Timeout(read=timeout, connect=timeout) - - def clone(self): - """ Create a copy of the timeout object - - Timeout properties are stored per-pool but each request needs a fresh - Timeout object to ensure each one has its own start/stop configured. - - :return: a copy of the timeout object - :rtype: :class:`Timeout` - """ - # We can't use copy.deepcopy because that will also create a new object - # for _GLOBAL_DEFAULT_TIMEOUT, which socket.py uses as a sentinel to - # detect the user default. - return Timeout(connect=self._connect, read=self._read, - total=self.total) - - def start_connect(self): - """ Start the timeout clock, used during a connect() attempt - - :raises urllib3.exceptions.TimeoutStateError: if you attempt - to start a timer that has been started already. - """ - if self._start_connect is not None: - raise TimeoutStateError("Timeout timer has already been started.") - self._start_connect = current_time() - return self._start_connect - - def get_connect_duration(self): - """ Gets the time elapsed since the call to :meth:`start_connect`. - - :return: Elapsed time. - :rtype: float - :raises urllib3.exceptions.TimeoutStateError: if you attempt - to get duration for a timer that hasn't been started. - """ - if self._start_connect is None: - raise TimeoutStateError("Can't get connect duration for timer " - "that has not started.") - return current_time() - self._start_connect - - @property - def connect_timeout(self): - """ Get the value to use when setting a connection timeout. - - This will be a positive float or integer, the value None - (never timeout), or the default system timeout. - - :return: Connect timeout. - :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None - """ - if self.total is None: - return self._connect - - if self._connect is None or self._connect is self.DEFAULT_TIMEOUT: - return self.total - - return min(self._connect, self.total) - - @property - def read_timeout(self): - """ Get the value for the read timeout. - - This assumes some time has elapsed in the connection timeout and - computes the read timeout appropriately. - - If self.total is set, the read timeout is dependent on the amount of - time taken by the connect timeout. If the connection time has not been - established, a :exc:`~urllib3.exceptions.TimeoutStateError` will be - raised. - - :return: Value to use for the read timeout. - :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None - :raises urllib3.exceptions.TimeoutStateError: If :meth:`start_connect` - has not yet been called on this object. - """ - if (self.total is not None and - self.total is not self.DEFAULT_TIMEOUT and - self._read is not None and - self._read is not self.DEFAULT_TIMEOUT): - # In case the connect timeout has not yet been established. - if self._start_connect is None: - return self._read - return max(0, min(self.total - self.get_connect_duration(), - self._read)) - elif self.total is not None and self.total is not self.DEFAULT_TIMEOUT: - return max(0, self.total - self.get_connect_duration()) - else: - return self._read diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/url.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/url.py deleted file mode 100644 index e996204a..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/packages/urllib3/util/url.py +++ /dev/null @@ -1,217 +0,0 @@ -from __future__ import absolute_import -from collections import namedtuple - -from ..exceptions import LocationParseError - - -url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] - - -class Url(namedtuple('Url', url_attrs)): - """ - Datastructure for representing an HTTP URL. Used as a return value for - :func:`parse_url`. - """ - slots = () - - def __new__(cls, scheme=None, auth=None, host=None, port=None, path=None, - query=None, fragment=None): - if path and not path.startswith('/'): - path = '/' + path - return super(Url, cls).__new__(cls, scheme, auth, host, port, path, - query, fragment) - - @property - def hostname(self): - """For backwards-compatibility with urlparse. We're nice like that.""" - return self.host - - @property - def request_uri(self): - """Absolute path including the query string.""" - uri = self.path or '/' - - if self.query is not None: - uri += '?' + self.query - - return uri - - @property - def netloc(self): - """Network location including host and port""" - if self.port: - return '%s:%d' % (self.host, self.port) - return self.host - - @property - def url(self): - """ - Convert self into a url - - This function should more or less round-trip with :func:`.parse_url`. The - returned url may not be exactly the same as the url inputted to - :func:`.parse_url`, but it should be equivalent by the RFC (e.g., urls - with a blank port will have : removed). - - Example: :: - - >>> U = parse_url('http://google.com/mail/') - >>> U.url - 'http://google.com/mail/' - >>> Url('http', 'username:password', 'host.com', 80, - ... '/path', 'query', 'fragment').url - 'http://username:password@host.com:80/path?query#fragment' - """ - scheme, auth, host, port, path, query, fragment = self - url = '' - - # We use "is not None" we want things to happen with empty strings (or 0 port) - if scheme is not None: - url += scheme + '://' - if auth is not None: - url += auth + '@' - if host is not None: - url += host - if port is not None: - url += ':' + str(port) - if path is not None: - url += path - if query is not None: - url += '?' + query - if fragment is not None: - url += '#' + fragment - - return url - - def __str__(self): - return self.url - - -def split_first(s, delims): - """ - Given a string and an iterable of delimiters, split on the first found - delimiter. Return two split parts and the matched delimiter. - - If not found, then the first part is the full input string. - - Example:: - - >>> split_first('foo/bar?baz', '?/=') - ('foo', 'bar?baz', '/') - >>> split_first('foo/bar?baz', '123') - ('foo/bar?baz', '', None) - - Scales linearly with number of delims. Not ideal for large number of delims. - """ - min_idx = None - min_delim = None - for d in delims: - idx = s.find(d) - if idx < 0: - continue - - if min_idx is None or idx < min_idx: - min_idx = idx - min_delim = d - - if min_idx is None or min_idx < 0: - return s, '', None - - return s[:min_idx], s[min_idx + 1:], min_delim - - -def parse_url(url): - """ - Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is - performed to parse incomplete urls. Fields not provided will be None. - - Partly backwards-compatible with :mod:`urlparse`. - - Example:: - - >>> parse_url('http://google.com/mail/') - Url(scheme='http', host='google.com', port=None, path='/mail/', ...) - >>> parse_url('google.com:80') - Url(scheme=None, host='google.com', port=80, path=None, ...) - >>> parse_url('/foo?bar') - Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) - """ - - # While this code has overlap with stdlib's urlparse, it is much - # simplified for our needs and less annoying. - # Additionally, this implementations does silly things to be optimal - # on CPython. - - if not url: - # Empty - return Url() - - scheme = None - auth = None - host = None - port = None - path = None - fragment = None - query = None - - # Scheme - if '://' in url: - scheme, url = url.split('://', 1) - - # Find the earliest Authority Terminator - # (http://tools.ietf.org/html/rfc3986#section-3.2) - url, path_, delim = split_first(url, ['/', '?', '#']) - - if delim: - # Reassemble the path - path = delim + path_ - - # Auth - if '@' in url: - # Last '@' denotes end of auth part - auth, url = url.rsplit('@', 1) - - # IPv6 - if url and url[0] == '[': - host, url = url.split(']', 1) - host += ']' - - # Port - if ':' in url: - _host, port = url.split(':', 1) - - if not host: - host = _host - - if port: - # If given, ports must be integers. - if not port.isdigit(): - raise LocationParseError(url) - port = int(port) - else: - # Blank ports are cool, too. (rfc3986#section-3.2.3) - port = None - - elif not host and url: - host = url - - if not path: - return Url(scheme, auth, host, port, path, query, fragment) - - # Fragment - if '#' in path: - path, fragment = path.split('#', 1) - - # Query - if '?' in path: - path, query = path.split('?', 1) - - return Url(scheme, auth, host, port, path, query, fragment) - - -def get_host(url): - """ - Deprecated. Use :func:`.parse_url` instead. - """ - p = parse_url(url) - return p.scheme or 'http', p.hostname, p.port diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/sessions.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/sessions.py deleted file mode 100644 index bcbcc880..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/sessions.py +++ /dev/null @@ -1,712 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.session -~~~~~~~~~~~~~~~~ - -This module provides a Session object to manage and persist settings across -requests (cookies, auth, proxies). -""" -import os -from collections import Mapping -from datetime import datetime - -from .auth import _basic_auth_str -from .compat import cookielib, OrderedDict, urljoin, urlparse -from .cookies import ( - cookiejar_from_dict, extract_cookies_to_jar, RequestsCookieJar, merge_cookies) -from .models import Request, PreparedRequest, DEFAULT_REDIRECT_LIMIT -from .hooks import default_hooks, dispatch_hook -from .utils import to_key_val_list, default_headers, to_native_string -from .exceptions import ( - TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) -from .packages.urllib3._collections import RecentlyUsedContainer -from .structures import CaseInsensitiveDict - -from .adapters import HTTPAdapter - -from .utils import ( - requote_uri, get_environ_proxies, get_netrc_auth, should_bypass_proxies, - get_auth_from_url -) - -from .status_codes import codes - -# formerly defined here, reexposed here for backward compatibility -from .models import REDIRECT_STATI - -REDIRECT_CACHE_SIZE = 1000 - - -def merge_setting(request_setting, session_setting, dict_class=OrderedDict): - """Determines appropriate setting for a given request, taking into account - the explicit setting on that request, and the setting in the session. If a - setting is a dictionary, they will be merged together using `dict_class` - """ - - if session_setting is None: - return request_setting - - if request_setting is None: - return session_setting - - # Bypass if not a dictionary (e.g. verify) - if not ( - isinstance(session_setting, Mapping) and - isinstance(request_setting, Mapping) - ): - return request_setting - - merged_setting = dict_class(to_key_val_list(session_setting)) - merged_setting.update(to_key_val_list(request_setting)) - - # Remove keys that are set to None. Extract keys first to avoid altering - # the dictionary during iteration. - none_keys = [k for (k, v) in merged_setting.items() if v is None] - for key in none_keys: - del merged_setting[key] - - return merged_setting - - -def merge_hooks(request_hooks, session_hooks, dict_class=OrderedDict): - """Properly merges both requests and session hooks. - - This is necessary because when request_hooks == {'response': []}, the - merge breaks Session hooks entirely. - """ - if session_hooks is None or session_hooks.get('response') == []: - return request_hooks - - if request_hooks is None or request_hooks.get('response') == []: - return session_hooks - - return merge_setting(request_hooks, session_hooks, dict_class) - - -class SessionRedirectMixin(object): - def resolve_redirects(self, resp, req, stream=False, timeout=None, - verify=True, cert=None, proxies=None, **adapter_kwargs): - """Receives a Response. Returns a generator of Responses.""" - - i = 0 - hist = [] # keep track of history - - while resp.is_redirect: - prepared_request = req.copy() - - if i > 0: - # Update history and keep track of redirects. - hist.append(resp) - new_hist = list(hist) - resp.history = new_hist - - try: - resp.content # Consume socket so it can be released - except (ChunkedEncodingError, ContentDecodingError, RuntimeError): - resp.raw.read(decode_content=False) - - if i >= self.max_redirects: - raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) - - # Release the connection back into the pool. - resp.close() - - url = resp.headers['location'] - - # Handle redirection without scheme (see: RFC 1808 Section 4) - if url.startswith('//'): - parsed_rurl = urlparse(resp.url) - url = '%s:%s' % (parsed_rurl.scheme, url) - - # The scheme should be lower case... - parsed = urlparse(url) - url = parsed.geturl() - - # Facilitate relative 'location' headers, as allowed by RFC 7231. - # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') - # Compliant with RFC3986, we percent encode the url. - if not parsed.netloc: - url = urljoin(resp.url, requote_uri(url)) - else: - url = requote_uri(url) - - prepared_request.url = to_native_string(url) - # Cache the url, unless it redirects to itself. - if resp.is_permanent_redirect and req.url != prepared_request.url: - self.redirect_cache[req.url] = prepared_request.url - - self.rebuild_method(prepared_request, resp) - - # https://github.com/kennethreitz/requests/issues/1084 - if resp.status_code not in (codes.temporary_redirect, codes.permanent_redirect): - # https://github.com/kennethreitz/requests/issues/3490 - purged_headers = ('Content-Length', 'Content-Type', 'Transfer-Encoding') - for header in purged_headers: - prepared_request.headers.pop(header, None) - prepared_request.body = None - - headers = prepared_request.headers - try: - del headers['Cookie'] - except KeyError: - pass - - # Extract any cookies sent on the response to the cookiejar - # in the new request. Because we've mutated our copied prepared - # request, use the old one that we haven't yet touched. - extract_cookies_to_jar(prepared_request._cookies, req, resp.raw) - prepared_request._cookies.update(self.cookies) - prepared_request.prepare_cookies(prepared_request._cookies) - - # Rebuild auth and proxy information. - proxies = self.rebuild_proxies(prepared_request, proxies) - self.rebuild_auth(prepared_request, resp) - - # Override the original request. - req = prepared_request - - resp = self.send( - req, - stream=stream, - timeout=timeout, - verify=verify, - cert=cert, - proxies=proxies, - allow_redirects=False, - **adapter_kwargs - ) - - extract_cookies_to_jar(self.cookies, prepared_request, resp.raw) - - i += 1 - yield resp - - def rebuild_auth(self, prepared_request, response): - """When being redirected we may want to strip authentication from the - request to avoid leaking credentials. This method intelligently removes - and reapplies authentication where possible to avoid credential loss. - """ - headers = prepared_request.headers - url = prepared_request.url - - if 'Authorization' in headers: - # If we get redirected to a new host, we should strip out any - # authentication headers. - original_parsed = urlparse(response.request.url) - redirect_parsed = urlparse(url) - - if (original_parsed.hostname != redirect_parsed.hostname): - del headers['Authorization'] - - # .netrc might have more auth for us on our new host. - new_auth = get_netrc_auth(url) if self.trust_env else None - if new_auth is not None: - prepared_request.prepare_auth(new_auth) - - return - - def rebuild_proxies(self, prepared_request, proxies): - """This method re-evaluates the proxy configuration by considering the - environment variables. If we are redirected to a URL covered by - NO_PROXY, we strip the proxy configuration. Otherwise, we set missing - proxy keys for this URL (in case they were stripped by a previous - redirect). - - This method also replaces the Proxy-Authorization header where - necessary. - - :rtype: dict - """ - headers = prepared_request.headers - url = prepared_request.url - scheme = urlparse(url).scheme - new_proxies = proxies.copy() if proxies is not None else {} - - if self.trust_env and not should_bypass_proxies(url): - environ_proxies = get_environ_proxies(url) - - proxy = environ_proxies.get('all', environ_proxies.get(scheme)) - - if proxy: - new_proxies.setdefault(scheme, proxy) - - if 'Proxy-Authorization' in headers: - del headers['Proxy-Authorization'] - - try: - username, password = get_auth_from_url(new_proxies[scheme]) - except KeyError: - username, password = None, None - - if username and password: - headers['Proxy-Authorization'] = _basic_auth_str(username, password) - - return new_proxies - - def rebuild_method(self, prepared_request, response): - """When being redirected we may want to change the method of the request - based on certain specs or browser behavior. - """ - method = prepared_request.method - - # http://tools.ietf.org/html/rfc7231#section-6.4.4 - if response.status_code == codes.see_other and method != 'HEAD': - method = 'GET' - - # Do what the browsers do, despite standards... - # First, turn 302s into GETs. - if response.status_code == codes.found and method != 'HEAD': - method = 'GET' - - # Second, if a POST is responded to with a 301, turn it into a GET. - # This bizarre behaviour is explained in Issue 1704. - if response.status_code == codes.moved and method == 'POST': - method = 'GET' - - prepared_request.method = method - - -class Session(SessionRedirectMixin): - """A Requests session. - - Provides cookie persistence, connection-pooling, and configuration. - - Basic Usage:: - - >>> import requests - >>> s = requests.Session() - >>> s.get('http://httpbin.org/get') - - - Or as a context manager:: - - >>> with requests.Session() as s: - >>> s.get('http://httpbin.org/get') - - """ - - __attrs__ = [ - 'headers', 'cookies', 'auth', 'proxies', 'hooks', 'params', 'verify', - 'cert', 'prefetch', 'adapters', 'stream', 'trust_env', - 'max_redirects', - ] - - def __init__(self): - - #: A case-insensitive dictionary of headers to be sent on each - #: :class:`Request ` sent from this - #: :class:`Session `. - self.headers = default_headers() - - #: Default Authentication tuple or object to attach to - #: :class:`Request `. - self.auth = None - - #: Dictionary mapping protocol or protocol and host to the URL of the proxy - #: (e.g. {'http': 'foo.bar:3128', 'http://host.name': 'foo.bar:4012'}) to - #: be used on each :class:`Request `. - self.proxies = {} - - #: Event-handling hooks. - self.hooks = default_hooks() - - #: Dictionary of querystring data to attach to each - #: :class:`Request `. The dictionary values may be lists for - #: representing multivalued query parameters. - self.params = {} - - #: Stream response content default. - self.stream = False - - #: SSL Verification default. - self.verify = True - - #: SSL certificate default. - self.cert = None - - #: Maximum number of redirects allowed. If the request exceeds this - #: limit, a :class:`TooManyRedirects` exception is raised. - #: This defaults to requests.models.DEFAULT_REDIRECT_LIMIT, which is - #: 30. - self.max_redirects = DEFAULT_REDIRECT_LIMIT - - #: Trust environment settings for proxy configuration, default - #: authentication and similar. - self.trust_env = True - - #: A CookieJar containing all currently outstanding cookies set on this - #: session. By default it is a - #: :class:`RequestsCookieJar `, but - #: may be any other ``cookielib.CookieJar`` compatible object. - self.cookies = cookiejar_from_dict({}) - - # Default connection adapters. - self.adapters = OrderedDict() - self.mount('https://', HTTPAdapter()) - self.mount('http://', HTTPAdapter()) - - # Only store 1000 redirects to prevent using infinite memory - self.redirect_cache = RecentlyUsedContainer(REDIRECT_CACHE_SIZE) - - def __enter__(self): - return self - - def __exit__(self, *args): - self.close() - - def prepare_request(self, request): - """Constructs a :class:`PreparedRequest ` for - transmission and returns it. The :class:`PreparedRequest` has settings - merged from the :class:`Request ` instance and those of the - :class:`Session`. - - :param request: :class:`Request` instance to prepare with this - session's settings. - :rtype: requests.PreparedRequest - """ - cookies = request.cookies or {} - - # Bootstrap CookieJar. - if not isinstance(cookies, cookielib.CookieJar): - cookies = cookiejar_from_dict(cookies) - - # Merge with session cookies - merged_cookies = merge_cookies( - merge_cookies(RequestsCookieJar(), self.cookies), cookies) - - # Set environment's basic authentication if not explicitly set. - auth = request.auth - if self.trust_env and not auth and not self.auth: - auth = get_netrc_auth(request.url) - - p = PreparedRequest() - p.prepare( - method=request.method.upper(), - url=request.url, - files=request.files, - data=request.data, - json=request.json, - headers=merge_setting(request.headers, self.headers, dict_class=CaseInsensitiveDict), - params=merge_setting(request.params, self.params), - auth=merge_setting(auth, self.auth), - cookies=merged_cookies, - hooks=merge_hooks(request.hooks, self.hooks), - ) - return p - - def request(self, method, url, - params=None, - data=None, - headers=None, - cookies=None, - files=None, - auth=None, - timeout=None, - allow_redirects=True, - proxies=None, - hooks=None, - stream=None, - verify=None, - cert=None, - json=None): - """Constructs a :class:`Request `, prepares it and sends it. - Returns :class:`Response ` object. - - :param method: method for the new :class:`Request` object. - :param url: URL for the new :class:`Request` object. - :param params: (optional) Dictionary or bytes to be sent in the query - string for the :class:`Request`. - :param data: (optional) Dictionary, bytes, or file-like object to send - in the body of the :class:`Request`. - :param json: (optional) json to send in the body of the - :class:`Request`. - :param headers: (optional) Dictionary of HTTP Headers to send with the - :class:`Request`. - :param cookies: (optional) Dict or CookieJar object to send with the - :class:`Request`. - :param files: (optional) Dictionary of ``'filename': file-like-objects`` - for multipart encoding upload. - :param auth: (optional) Auth tuple or callable to enable - Basic/Digest/Custom HTTP Auth. - :param timeout: (optional) How long to wait for the server to send - data before giving up, as a float, or a :ref:`(connect timeout, - read timeout) ` tuple. - :type timeout: float or tuple - :param allow_redirects: (optional) Set to True by default. - :type allow_redirects: bool - :param proxies: (optional) Dictionary mapping protocol or protocol and - hostname to the URL of the proxy. - :param stream: (optional) whether to immediately download the response - content. Defaults to ``False``. - :param verify: (optional) whether the SSL cert will be verified. - A CA_BUNDLE path can also be provided. Defaults to ``True``. - :param cert: (optional) if String, path to ssl client cert file (.pem). - If Tuple, ('cert', 'key') pair. - :rtype: requests.Response - """ - # Create the Request. - req = Request( - method = method.upper(), - url = url, - headers = headers, - files = files, - data = data or {}, - json = json, - params = params or {}, - auth = auth, - cookies = cookies, - hooks = hooks, - ) - prep = self.prepare_request(req) - - proxies = proxies or {} - - settings = self.merge_environment_settings( - prep.url, proxies, stream, verify, cert - ) - - # Send the request. - send_kwargs = { - 'timeout': timeout, - 'allow_redirects': allow_redirects, - } - send_kwargs.update(settings) - resp = self.send(prep, **send_kwargs) - - return resp - - def get(self, url, **kwargs): - """Sends a GET request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', True) - return self.request('GET', url, **kwargs) - - def options(self, url, **kwargs): - """Sends a OPTIONS request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', True) - return self.request('OPTIONS', url, **kwargs) - - def head(self, url, **kwargs): - """Sends a HEAD request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', False) - return self.request('HEAD', url, **kwargs) - - def post(self, url, data=None, json=None, **kwargs): - """Sends a POST request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param json: (optional) json to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :rtype: requests.Response - """ - - return self.request('POST', url, data=data, json=json, **kwargs) - - def put(self, url, data=None, **kwargs): - """Sends a PUT request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :rtype: requests.Response - """ - - return self.request('PUT', url, data=data, **kwargs) - - def patch(self, url, data=None, **kwargs): - """Sends a PATCH request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :rtype: requests.Response - """ - - return self.request('PATCH', url, data=data, **kwargs) - - def delete(self, url, **kwargs): - """Sends a DELETE request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :rtype: requests.Response - """ - - return self.request('DELETE', url, **kwargs) - - def send(self, request, **kwargs): - """ - Send a given PreparedRequest. - - :rtype: requests.Response - """ - # Set defaults that the hooks can utilize to ensure they always have - # the correct parameters to reproduce the previous request. - kwargs.setdefault('stream', self.stream) - kwargs.setdefault('verify', self.verify) - kwargs.setdefault('cert', self.cert) - kwargs.setdefault('proxies', self.proxies) - - # It's possible that users might accidentally send a Request object. - # Guard against that specific failure case. - if isinstance(request, Request): - raise ValueError('You can only send PreparedRequests.') - - # Set up variables needed for resolve_redirects and dispatching of hooks - allow_redirects = kwargs.pop('allow_redirects', True) - stream = kwargs.get('stream') - hooks = request.hooks - - # Resolve URL in redirect cache, if available. - if allow_redirects: - checked_urls = set() - while request.url in self.redirect_cache: - checked_urls.add(request.url) - new_url = self.redirect_cache.get(request.url) - if new_url in checked_urls: - break - request.url = new_url - - # Get the appropriate adapter to use - adapter = self.get_adapter(url=request.url) - - # Start time (approximately) of the request - start = datetime.utcnow() - - # Send the request - r = adapter.send(request, **kwargs) - - # Total elapsed time of the request (approximately) - r.elapsed = datetime.utcnow() - start - - # Response manipulation hooks - r = dispatch_hook('response', hooks, r, **kwargs) - - # Persist cookies - if r.history: - - # If the hooks create history then we want those cookies too - for resp in r.history: - extract_cookies_to_jar(self.cookies, resp.request, resp.raw) - - extract_cookies_to_jar(self.cookies, request, r.raw) - - # Redirect resolving generator. - gen = self.resolve_redirects(r, request, **kwargs) - - # Resolve redirects if allowed. - history = [resp for resp in gen] if allow_redirects else [] - - # Shuffle things around if there's history. - if history: - # Insert the first (original) request at the start - history.insert(0, r) - # Get the last request made - r = history.pop() - r.history = history - - if not stream: - r.content - - return r - - def merge_environment_settings(self, url, proxies, stream, verify, cert): - """ - Check the environment and merge it with some settings. - - :rtype: dict - """ - # Gather clues from the surrounding environment. - if self.trust_env: - # Set environment's proxies. - env_proxies = get_environ_proxies(url) or {} - for (k, v) in env_proxies.items(): - proxies.setdefault(k, v) - - # Look for requests environment configuration and be compatible - # with cURL. - if verify is True or verify is None: - verify = (os.environ.get('REQUESTS_CA_BUNDLE') or - os.environ.get('CURL_CA_BUNDLE')) - - # Merge all the kwargs. - proxies = merge_setting(proxies, self.proxies) - stream = merge_setting(stream, self.stream) - verify = merge_setting(verify, self.verify) - cert = merge_setting(cert, self.cert) - - return {'verify': verify, 'proxies': proxies, 'stream': stream, - 'cert': cert} - - def get_adapter(self, url): - """ - Returns the appropriate connection adapter for the given URL. - - :rtype: requests.adapters.BaseAdapter - """ - for (prefix, adapter) in self.adapters.items(): - - if url.lower().startswith(prefix): - return adapter - - # Nothing matches :-/ - raise InvalidSchema("No connection adapters were found for '%s'" % url) - - def close(self): - """Closes all adapters and as such the session""" - for v in self.adapters.values(): - v.close() - - def mount(self, prefix, adapter): - """Registers a connection adapter to a prefix. - - Adapters are sorted in descending order by key length. - """ - self.adapters[prefix] = adapter - keys_to_move = [k for k in self.adapters if len(k) < len(prefix)] - - for key in keys_to_move: - self.adapters[key] = self.adapters.pop(key) - - def __getstate__(self): - state = dict((attr, getattr(self, attr, None)) for attr in self.__attrs__) - state['redirect_cache'] = dict(self.redirect_cache) - return state - - def __setstate__(self, state): - redirect_cache = state.pop('redirect_cache', {}) - for attr, value in state.items(): - setattr(self, attr, value) - - self.redirect_cache = RecentlyUsedContainer(REDIRECT_CACHE_SIZE) - for redirect, to in redirect_cache.items(): - self.redirect_cache[redirect] = to - - -def session(): - """ - Returns a :class:`Session` for context-management. - - :rtype: Session - """ - - return Session() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/status_codes.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/status_codes.py deleted file mode 100644 index db2986bb..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/status_codes.py +++ /dev/null @@ -1,91 +0,0 @@ -# -*- coding: utf-8 -*- - -from .structures import LookupDict - -_codes = { - - # Informational. - 100: ('continue',), - 101: ('switching_protocols',), - 102: ('processing',), - 103: ('checkpoint',), - 122: ('uri_too_long', 'request_uri_too_long'), - 200: ('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '✓'), - 201: ('created',), - 202: ('accepted',), - 203: ('non_authoritative_info', 'non_authoritative_information'), - 204: ('no_content',), - 205: ('reset_content', 'reset'), - 206: ('partial_content', 'partial'), - 207: ('multi_status', 'multiple_status', 'multi_stati', 'multiple_stati'), - 208: ('already_reported',), - 226: ('im_used',), - - # Redirection. - 300: ('multiple_choices',), - 301: ('moved_permanently', 'moved', '\\o-'), - 302: ('found',), - 303: ('see_other', 'other'), - 304: ('not_modified',), - 305: ('use_proxy',), - 306: ('switch_proxy',), - 307: ('temporary_redirect', 'temporary_moved', 'temporary'), - 308: ('permanent_redirect', - 'resume_incomplete', 'resume',), # These 2 to be removed in 3.0 - - # Client Error. - 400: ('bad_request', 'bad'), - 401: ('unauthorized',), - 402: ('payment_required', 'payment'), - 403: ('forbidden',), - 404: ('not_found', '-o-'), - 405: ('method_not_allowed', 'not_allowed'), - 406: ('not_acceptable',), - 407: ('proxy_authentication_required', 'proxy_auth', 'proxy_authentication'), - 408: ('request_timeout', 'timeout'), - 409: ('conflict',), - 410: ('gone',), - 411: ('length_required',), - 412: ('precondition_failed', 'precondition'), - 413: ('request_entity_too_large',), - 414: ('request_uri_too_large',), - 415: ('unsupported_media_type', 'unsupported_media', 'media_type'), - 416: ('requested_range_not_satisfiable', 'requested_range', 'range_not_satisfiable'), - 417: ('expectation_failed',), - 418: ('im_a_teapot', 'teapot', 'i_am_a_teapot'), - 421: ('misdirected_request',), - 422: ('unprocessable_entity', 'unprocessable'), - 423: ('locked',), - 424: ('failed_dependency', 'dependency'), - 425: ('unordered_collection', 'unordered'), - 426: ('upgrade_required', 'upgrade'), - 428: ('precondition_required', 'precondition'), - 429: ('too_many_requests', 'too_many'), - 431: ('header_fields_too_large', 'fields_too_large'), - 444: ('no_response', 'none'), - 449: ('retry_with', 'retry'), - 450: ('blocked_by_windows_parental_controls', 'parental_controls'), - 451: ('unavailable_for_legal_reasons', 'legal_reasons'), - 499: ('client_closed_request',), - - # Server Error. - 500: ('internal_server_error', 'server_error', '/o\\', '✗'), - 501: ('not_implemented',), - 502: ('bad_gateway',), - 503: ('service_unavailable', 'unavailable'), - 504: ('gateway_timeout',), - 505: ('http_version_not_supported', 'http_version'), - 506: ('variant_also_negotiates',), - 507: ('insufficient_storage',), - 509: ('bandwidth_limit_exceeded', 'bandwidth'), - 510: ('not_extended',), - 511: ('network_authentication_required', 'network_auth', 'network_authentication'), -} - -codes = LookupDict(name='status_codes') - -for code, titles in _codes.items(): - for title in titles: - setattr(codes, title, code) - if not title.startswith('\\'): - setattr(codes, title.upper(), code) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/structures.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/structures.py deleted file mode 100644 index 05d2b3f5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/structures.py +++ /dev/null @@ -1,105 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.structures -~~~~~~~~~~~~~~~~~~~ - -Data structures that power Requests. -""" - -import collections - -from .compat import OrderedDict - - -class CaseInsensitiveDict(collections.MutableMapping): - """A case-insensitive ``dict``-like object. - - Implements all methods and operations of - ``collections.MutableMapping`` as well as dict's ``copy``. Also - provides ``lower_items``. - - All keys are expected to be strings. The structure remembers the - case of the last key to be set, and ``iter(instance)``, - ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` - will contain case-sensitive keys. However, querying and contains - testing is case insensitive:: - - cid = CaseInsensitiveDict() - cid['Accept'] = 'application/json' - cid['aCCEPT'] == 'application/json' # True - list(cid) == ['Accept'] # True - - For example, ``headers['content-encoding']`` will return the - value of a ``'Content-Encoding'`` response header, regardless - of how the header name was originally stored. - - If the constructor, ``.update``, or equality comparison - operations are given keys that have equal ``.lower()``s, the - behavior is undefined. - """ - - def __init__(self, data=None, **kwargs): - self._store = OrderedDict() - if data is None: - data = {} - self.update(data, **kwargs) - - def __setitem__(self, key, value): - # Use the lowercased key for lookups, but store the actual - # key alongside the value. - self._store[key.lower()] = (key, value) - - def __getitem__(self, key): - return self._store[key.lower()][1] - - def __delitem__(self, key): - del self._store[key.lower()] - - def __iter__(self): - return (casedkey for casedkey, mappedvalue in self._store.values()) - - def __len__(self): - return len(self._store) - - def lower_items(self): - """Like iteritems(), but with all lowercase keys.""" - return ( - (lowerkey, keyval[1]) - for (lowerkey, keyval) - in self._store.items() - ) - - def __eq__(self, other): - if isinstance(other, collections.Mapping): - other = CaseInsensitiveDict(other) - else: - return NotImplemented - # Compare insensitively - return dict(self.lower_items()) == dict(other.lower_items()) - - # Copy is required - def copy(self): - return CaseInsensitiveDict(self._store.values()) - - def __repr__(self): - return str(dict(self.items())) - - -class LookupDict(dict): - """Dictionary lookup object.""" - - def __init__(self, name=None): - self.name = name - super(LookupDict, self).__init__() - - def __repr__(self): - return '' % (self.name) - - def __getitem__(self, key): - # We allow fall-through here, so values default to None - - return self.__dict__.get(key, None) - - def get(self, key, default=None): - return self.__dict__.get(key, default) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/utils.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/utils.py deleted file mode 100644 index 30a03ca1..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/requests/utils.py +++ /dev/null @@ -1,817 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.utils -~~~~~~~~~~~~~~ - -This module provides utility functions that are used within Requests -that are also useful for external consumption. -""" - -import cgi -import codecs -import collections -import io -import os -import re -import socket -import struct -import warnings - -from . import __version__ -from . import certs -from .compat import parse_http_list as _parse_list_header -from .compat import (quote, urlparse, bytes, str, OrderedDict, unquote, is_py2, - builtin_str, getproxies, proxy_bypass, urlunparse, - basestring) -from .cookies import RequestsCookieJar, cookiejar_from_dict -from .structures import CaseInsensitiveDict -from .exceptions import InvalidURL, InvalidHeader, FileModeWarning - -_hush_pyflakes = (RequestsCookieJar,) - -NETRC_FILES = ('.netrc', '_netrc') - -DEFAULT_CA_BUNDLE_PATH = certs.where() - - -def dict_to_sequence(d): - """Returns an internal sequence dictionary update.""" - - if hasattr(d, 'items'): - d = d.items() - - return d - - -def super_len(o): - total_length = 0 - current_position = 0 - - if hasattr(o, '__len__'): - total_length = len(o) - - elif hasattr(o, 'len'): - total_length = o.len - - elif hasattr(o, 'getvalue'): - # e.g. BytesIO, cStringIO.StringIO - total_length = len(o.getvalue()) - - elif hasattr(o, 'fileno'): - try: - fileno = o.fileno() - except io.UnsupportedOperation: - pass - else: - total_length = os.fstat(fileno).st_size - - # Having used fstat to determine the file length, we need to - # confirm that this file was opened up in binary mode. - if 'b' not in o.mode: - warnings.warn(( - "Requests has determined the content-length for this " - "request using the binary size of the file: however, the " - "file has been opened in text mode (i.e. without the 'b' " - "flag in the mode). This may lead to an incorrect " - "content-length. In Requests 3.0, support will be removed " - "for files in text mode."), - FileModeWarning - ) - - if hasattr(o, 'tell'): - try: - current_position = o.tell() - except (OSError, IOError): - # This can happen in some weird situations, such as when the file - # is actually a special file descriptor like stdin. In this - # instance, we don't know what the length is, so set it to zero and - # let requests chunk it instead. - current_position = total_length - - return max(0, total_length - current_position) - - -def get_netrc_auth(url, raise_errors=False): - """Returns the Requests tuple auth for a given url from netrc.""" - - try: - from netrc import netrc, NetrcParseError - - netrc_path = None - - for f in NETRC_FILES: - try: - loc = os.path.expanduser('~/{0}'.format(f)) - except KeyError: - # os.path.expanduser can fail when $HOME is undefined and - # getpwuid fails. See http://bugs.python.org/issue20164 & - # https://github.com/kennethreitz/requests/issues/1846 - return - - if os.path.exists(loc): - netrc_path = loc - break - - # Abort early if there isn't one. - if netrc_path is None: - return - - ri = urlparse(url) - - # Strip port numbers from netloc. This weird `if...encode`` dance is - # used for Python 3.2, which doesn't support unicode literals. - splitstr = b':' - if isinstance(url, str): - splitstr = splitstr.decode('ascii') - host = ri.netloc.split(splitstr)[0] - - try: - _netrc = netrc(netrc_path).authenticators(host) - if _netrc: - # Return with login / password - login_i = (0 if _netrc[0] else 1) - return (_netrc[login_i], _netrc[2]) - except (NetrcParseError, IOError): - # If there was a parsing error or a permissions issue reading the file, - # we'll just skip netrc auth unless explicitly asked to raise errors. - if raise_errors: - raise - - # AppEngine hackiness. - except (ImportError, AttributeError): - pass - - -def guess_filename(obj): - """Tries to guess the filename of the given object.""" - name = getattr(obj, 'name', None) - if (name and isinstance(name, basestring) and name[0] != '<' and - name[-1] != '>'): - return os.path.basename(name) - - -def from_key_val_list(value): - """Take an object and test to see if it can be represented as a - dictionary. Unless it can not be represented as such, return an - OrderedDict, e.g., - - :: - - >>> from_key_val_list([('key', 'val')]) - OrderedDict([('key', 'val')]) - >>> from_key_val_list('string') - ValueError: need more than 1 value to unpack - >>> from_key_val_list({'key': 'val'}) - OrderedDict([('key', 'val')]) - - :rtype: OrderedDict - """ - if value is None: - return None - - if isinstance(value, (str, bytes, bool, int)): - raise ValueError('cannot encode objects that are not 2-tuples') - - return OrderedDict(value) - - -def to_key_val_list(value): - """Take an object and test to see if it can be represented as a - dictionary. If it can be, return a list of tuples, e.g., - - :: - - >>> to_key_val_list([('key', 'val')]) - [('key', 'val')] - >>> to_key_val_list({'key': 'val'}) - [('key', 'val')] - >>> to_key_val_list('string') - ValueError: cannot encode objects that are not 2-tuples. - - :rtype: list - """ - if value is None: - return None - - if isinstance(value, (str, bytes, bool, int)): - raise ValueError('cannot encode objects that are not 2-tuples') - - if isinstance(value, collections.Mapping): - value = value.items() - - return list(value) - - -# From mitsuhiko/werkzeug (used with permission). -def parse_list_header(value): - """Parse lists as described by RFC 2068 Section 2. - - In particular, parse comma-separated lists where the elements of - the list may include quoted-strings. A quoted-string could - contain a comma. A non-quoted string could have quotes in the - middle. Quotes are removed automatically after parsing. - - It basically works like :func:`parse_set_header` just that items - may appear multiple times and case sensitivity is preserved. - - The return value is a standard :class:`list`: - - >>> parse_list_header('token, "quoted value"') - ['token', 'quoted value'] - - To create a header from the :class:`list` again, use the - :func:`dump_header` function. - - :param value: a string with a list header. - :return: :class:`list` - :rtype: list - """ - result = [] - for item in _parse_list_header(value): - if item[:1] == item[-1:] == '"': - item = unquote_header_value(item[1:-1]) - result.append(item) - return result - - -# From mitsuhiko/werkzeug (used with permission). -def parse_dict_header(value): - """Parse lists of key, value pairs as described by RFC 2068 Section 2 and - convert them into a python dict: - - >>> d = parse_dict_header('foo="is a fish", bar="as well"') - >>> type(d) is dict - True - >>> sorted(d.items()) - [('bar', 'as well'), ('foo', 'is a fish')] - - If there is no value for a key it will be `None`: - - >>> parse_dict_header('key_without_value') - {'key_without_value': None} - - To create a header from the :class:`dict` again, use the - :func:`dump_header` function. - - :param value: a string with a dict header. - :return: :class:`dict` - :rtype: dict - """ - result = {} - for item in _parse_list_header(value): - if '=' not in item: - result[item] = None - continue - name, value = item.split('=', 1) - if value[:1] == value[-1:] == '"': - value = unquote_header_value(value[1:-1]) - result[name] = value - return result - - -# From mitsuhiko/werkzeug (used with permission). -def unquote_header_value(value, is_filename=False): - r"""Unquotes a header value. (Reversal of :func:`quote_header_value`). - This does not use the real unquoting but what browsers are actually - using for quoting. - - :param value: the header value to unquote. - :rtype: str - """ - if value and value[0] == value[-1] == '"': - # this is not the real unquoting, but fixing this so that the - # RFC is met will result in bugs with internet explorer and - # probably some other browsers as well. IE for example is - # uploading files with "C:\foo\bar.txt" as filename - value = value[1:-1] - - # if this is a filename and the starting characters look like - # a UNC path, then just return the value without quotes. Using the - # replace sequence below on a UNC path has the effect of turning - # the leading double slash into a single slash and then - # _fix_ie_filename() doesn't work correctly. See #458. - if not is_filename or value[:2] != '\\\\': - return value.replace('\\\\', '\\').replace('\\"', '"') - return value - - -def dict_from_cookiejar(cj): - """Returns a key/value dictionary from a CookieJar. - - :param cj: CookieJar object to extract cookies from. - :rtype: dict - """ - - cookie_dict = {} - - for cookie in cj: - cookie_dict[cookie.name] = cookie.value - - return cookie_dict - - -def add_dict_to_cookiejar(cj, cookie_dict): - """Returns a CookieJar from a key/value dictionary. - - :param cj: CookieJar to insert cookies into. - :param cookie_dict: Dict of key/values to insert into CookieJar. - :rtype: CookieJar - """ - - cj2 = cookiejar_from_dict(cookie_dict) - cj.update(cj2) - return cj - - -def get_encodings_from_content(content): - """Returns encodings from given content string. - - :param content: bytestring to extract encodings from. - """ - warnings.warn(( - 'In requests 3.0, get_encodings_from_content will be removed. For ' - 'more information, please see the discussion on issue #2266. (This' - ' warning should only appear once.)'), - DeprecationWarning) - - charset_re = re.compile(r']', flags=re.I) - pragma_re = re.compile(r']', flags=re.I) - xml_re = re.compile(r'^<\?xml.*?encoding=["\']*(.+?)["\'>]') - - return (charset_re.findall(content) + - pragma_re.findall(content) + - xml_re.findall(content)) - - -def get_encoding_from_headers(headers): - """Returns encodings from given HTTP Header Dict. - - :param headers: dictionary to extract encoding from. - :rtype: str - """ - - content_type = headers.get('content-type') - - if not content_type: - return None - - content_type, params = cgi.parse_header(content_type) - - if 'charset' in params: - return params['charset'].strip("'\"") - - if 'text' in content_type: - return 'ISO-8859-1' - - -def stream_decode_response_unicode(iterator, r): - """Stream decodes a iterator.""" - - if r.encoding is None: - for item in iterator: - yield item - return - - decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') - for chunk in iterator: - rv = decoder.decode(chunk) - if rv: - yield rv - rv = decoder.decode(b'', final=True) - if rv: - yield rv - - -def iter_slices(string, slice_length): - """Iterate over slices of a string.""" - pos = 0 - if slice_length is None or slice_length <= 0: - slice_length = len(string) - while pos < len(string): - yield string[pos:pos + slice_length] - pos += slice_length - - -def get_unicode_from_response(r): - """Returns the requested content back in unicode. - - :param r: Response object to get unicode content from. - - Tried: - - 1. charset from content-type - 2. fall back and replace all unicode characters - - :rtype: str - """ - warnings.warn(( - 'In requests 3.0, get_unicode_from_response will be removed. For ' - 'more information, please see the discussion on issue #2266. (This' - ' warning should only appear once.)'), - DeprecationWarning) - - tried_encodings = [] - - # Try charset from content-type - encoding = get_encoding_from_headers(r.headers) - - if encoding: - try: - return str(r.content, encoding) - except UnicodeError: - tried_encodings.append(encoding) - - # Fall back: - try: - return str(r.content, encoding, errors='replace') - except TypeError: - return r.content - - -# The unreserved URI characters (RFC 3986) -UNRESERVED_SET = frozenset( - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - + "0123456789-._~") - - -def unquote_unreserved(uri): - """Un-escape any percent-escape sequences in a URI that are unreserved - characters. This leaves all reserved, illegal and non-ASCII bytes encoded. - - :rtype: str - """ - parts = uri.split('%') - for i in range(1, len(parts)): - h = parts[i][0:2] - if len(h) == 2 and h.isalnum(): - try: - c = chr(int(h, 16)) - except ValueError: - raise InvalidURL("Invalid percent-escape sequence: '%s'" % h) - - if c in UNRESERVED_SET: - parts[i] = c + parts[i][2:] - else: - parts[i] = '%' + parts[i] - else: - parts[i] = '%' + parts[i] - return ''.join(parts) - - -def requote_uri(uri): - """Re-quote the given URI. - - This function passes the given URI through an unquote/quote cycle to - ensure that it is fully and consistently quoted. - - :rtype: str - """ - safe_with_percent = "!#$%&'()*+,/:;=?@[]~" - safe_without_percent = "!#$&'()*+,/:;=?@[]~" - try: - # Unquote only the unreserved characters - # Then quote only illegal characters (do not quote reserved, - # unreserved, or '%') - return quote(unquote_unreserved(uri), safe=safe_with_percent) - except InvalidURL: - # We couldn't unquote the given URI, so let's try quoting it, but - # there may be unquoted '%'s in the URI. We need to make sure they're - # properly quoted so they do not cause issues elsewhere. - return quote(uri, safe=safe_without_percent) - - -def address_in_network(ip, net): - """This function allows you to check if on IP belongs to a network subnet - - Example: returns True if ip = 192.168.1.1 and net = 192.168.1.0/24 - returns False if ip = 192.168.1.1 and net = 192.168.100.0/24 - - :rtype: bool - """ - ipaddr = struct.unpack('=L', socket.inet_aton(ip))[0] - netaddr, bits = net.split('/') - netmask = struct.unpack('=L', socket.inet_aton(dotted_netmask(int(bits))))[0] - network = struct.unpack('=L', socket.inet_aton(netaddr))[0] & netmask - return (ipaddr & netmask) == (network & netmask) - - -def dotted_netmask(mask): - """Converts mask from /xx format to xxx.xxx.xxx.xxx - - Example: if mask is 24 function returns 255.255.255.0 - - :rtype: str - """ - bits = 0xffffffff ^ (1 << 32 - mask) - 1 - return socket.inet_ntoa(struct.pack('>I', bits)) - - -def is_ipv4_address(string_ip): - """ - :rtype: bool - """ - try: - socket.inet_aton(string_ip) - except socket.error: - return False - return True - - -def is_valid_cidr(string_network): - """ - Very simple check of the cidr format in no_proxy variable. - - :rtype: bool - """ - if string_network.count('/') == 1: - try: - mask = int(string_network.split('/')[1]) - except ValueError: - return False - - if mask < 1 or mask > 32: - return False - - try: - socket.inet_aton(string_network.split('/')[0]) - except socket.error: - return False - else: - return False - return True - - -def should_bypass_proxies(url): - """ - Returns whether we should bypass proxies or not. - - :rtype: bool - """ - get_proxy = lambda k: os.environ.get(k) or os.environ.get(k.upper()) - - # First check whether no_proxy is defined. If it is, check that the URL - # we're getting isn't in the no_proxy list. - no_proxy = get_proxy('no_proxy') - netloc = urlparse(url).netloc - - if no_proxy: - # We need to check whether we match here. We need to see if we match - # the end of the netloc, both with and without the port. - no_proxy = ( - host for host in no_proxy.replace(' ', '').split(',') if host - ) - - ip = netloc.split(':')[0] - if is_ipv4_address(ip): - for proxy_ip in no_proxy: - if is_valid_cidr(proxy_ip): - if address_in_network(ip, proxy_ip): - return True - elif ip == proxy_ip: - # If no_proxy ip was defined in plain IP notation instead of cidr notation & - # matches the IP of the index - return True - else: - for host in no_proxy: - if netloc.endswith(host) or netloc.split(':')[0].endswith(host): - # The URL does match something in no_proxy, so we don't want - # to apply the proxies on this URL. - return True - - # If the system proxy settings indicate that this URL should be bypassed, - # don't proxy. - # The proxy_bypass function is incredibly buggy on macOS in early versions - # of Python 2.6, so allow this call to fail. Only catch the specific - # exceptions we've seen, though: this call failing in other ways can reveal - # legitimate problems. - try: - bypass = proxy_bypass(netloc) - except (TypeError, socket.gaierror): - bypass = False - - if bypass: - return True - - return False - - -def get_environ_proxies(url): - """ - Return a dict of environment proxies. - - :rtype: dict - """ - if should_bypass_proxies(url): - return {} - else: - return getproxies() - - -def select_proxy(url, proxies): - """Select a proxy for the url, if applicable. - - :param url: The url being for the request - :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs - """ - proxies = proxies or {} - urlparts = urlparse(url) - if urlparts.hostname is None: - return proxies.get('all', proxies.get(urlparts.scheme)) - - proxy_keys = [ - 'all://' + urlparts.hostname, - 'all', - urlparts.scheme + '://' + urlparts.hostname, - urlparts.scheme, - ] - proxy = None - for proxy_key in proxy_keys: - if proxy_key in proxies: - proxy = proxies[proxy_key] - break - - return proxy - - -def default_user_agent(name="python-requests"): - """ - Return a string representing the default user agent. - - :rtype: str - """ - return '%s/%s' % (name, __version__) - - -def default_headers(): - """ - :rtype: requests.structures.CaseInsensitiveDict - """ - return CaseInsensitiveDict({ - 'User-Agent': default_user_agent(), - 'Accept-Encoding': ', '.join(('gzip', 'deflate')), - 'Accept': '*/*', - 'Connection': 'keep-alive', - }) - - -def parse_header_links(value): - """Return a dict of parsed link headers proxies. - - i.e. Link: ; rel=front; type="image/jpeg",; rel=back;type="image/jpeg" - - :rtype: list - """ - - links = [] - - replace_chars = ' \'"' - - for val in re.split(', *<', value): - try: - url, params = val.split(';', 1) - except ValueError: - url, params = val, '' - - link = {'url': url.strip('<> \'"')} - - for param in params.split(';'): - try: - key, value = param.split('=') - except ValueError: - break - - link[key.strip(replace_chars)] = value.strip(replace_chars) - - links.append(link) - - return links - - -# Null bytes; no need to recreate these on each call to guess_json_utf -_null = '\x00'.encode('ascii') # encoding to ASCII for Python 3 -_null2 = _null * 2 -_null3 = _null * 3 - - -def guess_json_utf(data): - """ - :rtype: str - """ - # JSON always starts with two ASCII characters, so detection is as - # easy as counting the nulls and from their location and count - # determine the encoding. Also detect a BOM, if present. - sample = data[:4] - if sample in (codecs.BOM_UTF32_LE, codecs.BOM32_BE): - return 'utf-32' # BOM included - if sample[:3] == codecs.BOM_UTF8: - return 'utf-8-sig' # BOM included, MS style (discouraged) - if sample[:2] in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE): - return 'utf-16' # BOM included - nullcount = sample.count(_null) - if nullcount == 0: - return 'utf-8' - if nullcount == 2: - if sample[::2] == _null2: # 1st and 3rd are null - return 'utf-16-be' - if sample[1::2] == _null2: # 2nd and 4th are null - return 'utf-16-le' - # Did not detect 2 valid UTF-16 ascii-range characters - if nullcount == 3: - if sample[:3] == _null3: - return 'utf-32-be' - if sample[1:] == _null3: - return 'utf-32-le' - # Did not detect a valid UTF-32 ascii-range character - return None - - -def prepend_scheme_if_needed(url, new_scheme): - """Given a URL that may or may not have a scheme, prepend the given scheme. - Does not replace a present scheme with the one provided as an argument. - - :rtype: str - """ - scheme, netloc, path, params, query, fragment = urlparse(url, new_scheme) - - # urlparse is a finicky beast, and sometimes decides that there isn't a - # netloc present. Assume that it's being over-cautious, and switch netloc - # and path if urlparse decided there was no netloc. - if not netloc: - netloc, path = path, netloc - - return urlunparse((scheme, netloc, path, params, query, fragment)) - - -def get_auth_from_url(url): - """Given a url with authentication components, extract them into a tuple of - username,password. - - :rtype: (str,str) - """ - parsed = urlparse(url) - - try: - auth = (unquote(parsed.username), unquote(parsed.password)) - except (AttributeError, TypeError): - auth = ('', '') - - return auth - - -def to_native_string(string, encoding='ascii'): - """Given a string object, regardless of type, returns a representation of - that string in the native string type, encoding and decoding where - necessary. This assumes ASCII unless told otherwise. - """ - if isinstance(string, builtin_str): - out = string - else: - if is_py2: - out = string.encode(encoding) - else: - out = string.decode(encoding) - - return out - - -# Moved outside of function to avoid recompile every call -_CLEAN_HEADER_REGEX_BYTE = re.compile(b'^\\S[^\\r\\n]*$|^$') -_CLEAN_HEADER_REGEX_STR = re.compile(r'^\S[^\r\n]*$|^$') - -def check_header_validity(header): - """Verifies that header value is a string which doesn't contain - leading whitespace or return characters. This prevents unintended - header injection. - - :param header: tuple, in the format (name, value). - """ - name, value = header - - if isinstance(value, bytes): - pat = _CLEAN_HEADER_REGEX_BYTE - else: - pat = _CLEAN_HEADER_REGEX_STR - try: - if not pat.match(value): - raise InvalidHeader("Invalid return character or leading space in header: %s" % name) - except TypeError: - raise InvalidHeader("Header value %s must be of type str or bytes, " - "not %s" % (value, type(value))) - - -def urldefragauth(url): - """ - Given a url remove the fragment and the authentication part. - - :rtype: str - """ - scheme, netloc, path, params, query, fragment = urlparse(url) - - # see func:`prepend_scheme_if_needed` - if not netloc: - netloc, path = path, netloc - - netloc = netloc.rsplit('@', 1)[-1] - - return urlunparse((scheme, netloc, path, params, query, '')) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/retrying.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/retrying.py deleted file mode 100644 index 6d1e627a..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/retrying.py +++ /dev/null @@ -1,267 +0,0 @@ -## Copyright 2013-2014 Ray Holder -## -## 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. - -import random -from pip._vendor import six -import sys -import time -import traceback - - -# sys.maxint / 2, since Python 3.2 doesn't have a sys.maxint... -MAX_WAIT = 1073741823 - - -def retry(*dargs, **dkw): - """ - Decorator function that instantiates the Retrying object - @param *dargs: positional arguments passed to Retrying object - @param **dkw: keyword arguments passed to the Retrying object - """ - # support both @retry and @retry() as valid syntax - if len(dargs) == 1 and callable(dargs[0]): - def wrap_simple(f): - - @six.wraps(f) - def wrapped_f(*args, **kw): - return Retrying().call(f, *args, **kw) - - return wrapped_f - - return wrap_simple(dargs[0]) - - else: - def wrap(f): - - @six.wraps(f) - def wrapped_f(*args, **kw): - return Retrying(*dargs, **dkw).call(f, *args, **kw) - - return wrapped_f - - return wrap - - -class Retrying(object): - - def __init__(self, - stop=None, wait=None, - stop_max_attempt_number=None, - stop_max_delay=None, - wait_fixed=None, - wait_random_min=None, wait_random_max=None, - wait_incrementing_start=None, wait_incrementing_increment=None, - wait_exponential_multiplier=None, wait_exponential_max=None, - retry_on_exception=None, - retry_on_result=None, - wrap_exception=False, - stop_func=None, - wait_func=None, - wait_jitter_max=None): - - self._stop_max_attempt_number = 5 if stop_max_attempt_number is None else stop_max_attempt_number - self._stop_max_delay = 100 if stop_max_delay is None else stop_max_delay - self._wait_fixed = 1000 if wait_fixed is None else wait_fixed - self._wait_random_min = 0 if wait_random_min is None else wait_random_min - self._wait_random_max = 1000 if wait_random_max is None else wait_random_max - self._wait_incrementing_start = 0 if wait_incrementing_start is None else wait_incrementing_start - self._wait_incrementing_increment = 100 if wait_incrementing_increment is None else wait_incrementing_increment - self._wait_exponential_multiplier = 1 if wait_exponential_multiplier is None else wait_exponential_multiplier - self._wait_exponential_max = MAX_WAIT if wait_exponential_max is None else wait_exponential_max - self._wait_jitter_max = 0 if wait_jitter_max is None else wait_jitter_max - - # TODO add chaining of stop behaviors - # stop behavior - stop_funcs = [] - if stop_max_attempt_number is not None: - stop_funcs.append(self.stop_after_attempt) - - if stop_max_delay is not None: - stop_funcs.append(self.stop_after_delay) - - if stop_func is not None: - self.stop = stop_func - - elif stop is None: - self.stop = lambda attempts, delay: any(f(attempts, delay) for f in stop_funcs) - - else: - self.stop = getattr(self, stop) - - # TODO add chaining of wait behaviors - # wait behavior - wait_funcs = [lambda *args, **kwargs: 0] - if wait_fixed is not None: - wait_funcs.append(self.fixed_sleep) - - if wait_random_min is not None or wait_random_max is not None: - wait_funcs.append(self.random_sleep) - - if wait_incrementing_start is not None or wait_incrementing_increment is not None: - wait_funcs.append(self.incrementing_sleep) - - if wait_exponential_multiplier is not None or wait_exponential_max is not None: - wait_funcs.append(self.exponential_sleep) - - if wait_func is not None: - self.wait = wait_func - - elif wait is None: - self.wait = lambda attempts, delay: max(f(attempts, delay) for f in wait_funcs) - - else: - self.wait = getattr(self, wait) - - # retry on exception filter - if retry_on_exception is None: - self._retry_on_exception = self.always_reject - else: - self._retry_on_exception = retry_on_exception - - # TODO simplify retrying by Exception types - # retry on result filter - if retry_on_result is None: - self._retry_on_result = self.never_reject - else: - self._retry_on_result = retry_on_result - - self._wrap_exception = wrap_exception - - def stop_after_attempt(self, previous_attempt_number, delay_since_first_attempt_ms): - """Stop after the previous attempt >= stop_max_attempt_number.""" - return previous_attempt_number >= self._stop_max_attempt_number - - def stop_after_delay(self, previous_attempt_number, delay_since_first_attempt_ms): - """Stop after the time from the first attempt >= stop_max_delay.""" - return delay_since_first_attempt_ms >= self._stop_max_delay - - def no_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): - """Don't sleep at all before retrying.""" - return 0 - - def fixed_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): - """Sleep a fixed amount of time between each retry.""" - return self._wait_fixed - - def random_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): - """Sleep a random amount of time between wait_random_min and wait_random_max""" - return random.randint(self._wait_random_min, self._wait_random_max) - - def incrementing_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): - """ - Sleep an incremental amount of time after each attempt, starting at - wait_incrementing_start and incrementing by wait_incrementing_increment - """ - result = self._wait_incrementing_start + (self._wait_incrementing_increment * (previous_attempt_number - 1)) - if result < 0: - result = 0 - return result - - def exponential_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): - exp = 2 ** previous_attempt_number - result = self._wait_exponential_multiplier * exp - if result > self._wait_exponential_max: - result = self._wait_exponential_max - if result < 0: - result = 0 - return result - - def never_reject(self, result): - return False - - def always_reject(self, result): - return True - - def should_reject(self, attempt): - reject = False - if attempt.has_exception: - reject |= self._retry_on_exception(attempt.value[1]) - else: - reject |= self._retry_on_result(attempt.value) - - return reject - - def call(self, fn, *args, **kwargs): - start_time = int(round(time.time() * 1000)) - attempt_number = 1 - while True: - try: - attempt = Attempt(fn(*args, **kwargs), attempt_number, False) - except: - tb = sys.exc_info() - attempt = Attempt(tb, attempt_number, True) - - if not self.should_reject(attempt): - return attempt.get(self._wrap_exception) - - delay_since_first_attempt_ms = int(round(time.time() * 1000)) - start_time - if self.stop(attempt_number, delay_since_first_attempt_ms): - if not self._wrap_exception and attempt.has_exception: - # get() on an attempt with an exception should cause it to be raised, but raise just in case - raise attempt.get() - else: - raise RetryError(attempt) - else: - sleep = self.wait(attempt_number, delay_since_first_attempt_ms) - if self._wait_jitter_max: - jitter = random.random() * self._wait_jitter_max - sleep = sleep + max(0, jitter) - time.sleep(sleep / 1000.0) - - attempt_number += 1 - - -class Attempt(object): - """ - An Attempt encapsulates a call to a target function that may end as a - normal return value from the function or an Exception depending on what - occurred during the execution. - """ - - def __init__(self, value, attempt_number, has_exception): - self.value = value - self.attempt_number = attempt_number - self.has_exception = has_exception - - def get(self, wrap_exception=False): - """ - Return the return value of this Attempt instance or raise an Exception. - If wrap_exception is true, this Attempt is wrapped inside of a - RetryError before being raised. - """ - if self.has_exception: - if wrap_exception: - raise RetryError(self) - else: - six.reraise(self.value[0], self.value[1], self.value[2]) - else: - return self.value - - def __repr__(self): - if self.has_exception: - return "Attempts: {0}, Error:\n{1}".format(self.attempt_number, "".join(traceback.format_tb(self.value[2]))) - else: - return "Attempts: {0}, Value: {1}".format(self.attempt_number, self.value) - - -class RetryError(Exception): - """ - A RetryError encapsulates the last Attempt instance right before giving up. - """ - - def __init__(self, last_attempt): - self.last_attempt = last_attempt - - def __str__(self): - return "RetryError[{0}]".format(self.last_attempt) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/six.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/six.py deleted file mode 100644 index 190c0239..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/six.py +++ /dev/null @@ -1,868 +0,0 @@ -"""Utilities for writing code that runs on Python 2 and 3""" - -# Copyright (c) 2010-2015 Benjamin Peterson -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from __future__ import absolute_import - -import functools -import itertools -import operator -import sys -import types - -__author__ = "Benjamin Peterson " -__version__ = "1.10.0" - - -# Useful for very coarse version differentiation. -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 -PY34 = sys.version_info[0:2] >= (3, 4) - -if PY3: - string_types = str, - integer_types = int, - class_types = type, - text_type = str - binary_type = bytes - - MAXSIZE = sys.maxsize -else: - string_types = basestring, - integer_types = (int, long) - class_types = (type, types.ClassType) - text_type = unicode - binary_type = str - - if sys.platform.startswith("java"): - # Jython always uses 32 bits. - MAXSIZE = int((1 << 31) - 1) - else: - # It's possible to have sizeof(long) != sizeof(Py_ssize_t). - class X(object): - - def __len__(self): - return 1 << 31 - try: - len(X()) - except OverflowError: - # 32-bit - MAXSIZE = int((1 << 31) - 1) - else: - # 64-bit - MAXSIZE = int((1 << 63) - 1) - del X - - -def _add_doc(func, doc): - """Add documentation to a function.""" - func.__doc__ = doc - - -def _import_module(name): - """Import module, returning the module after the last dot.""" - __import__(name) - return sys.modules[name] - - -class _LazyDescr(object): - - def __init__(self, name): - self.name = name - - def __get__(self, obj, tp): - result = self._resolve() - setattr(obj, self.name, result) # Invokes __set__. - try: - # This is a bit ugly, but it avoids running this again by - # removing this descriptor. - delattr(obj.__class__, self.name) - except AttributeError: - pass - return result - - -class MovedModule(_LazyDescr): - - def __init__(self, name, old, new=None): - super(MovedModule, self).__init__(name) - if PY3: - if new is None: - new = name - self.mod = new - else: - self.mod = old - - def _resolve(self): - return _import_module(self.mod) - - def __getattr__(self, attr): - _module = self._resolve() - value = getattr(_module, attr) - setattr(self, attr, value) - return value - - -class _LazyModule(types.ModuleType): - - def __init__(self, name): - super(_LazyModule, self).__init__(name) - self.__doc__ = self.__class__.__doc__ - - def __dir__(self): - attrs = ["__doc__", "__name__"] - attrs += [attr.name for attr in self._moved_attributes] - return attrs - - # Subclasses should override this - _moved_attributes = [] - - -class MovedAttribute(_LazyDescr): - - def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): - super(MovedAttribute, self).__init__(name) - if PY3: - if new_mod is None: - new_mod = name - self.mod = new_mod - if new_attr is None: - if old_attr is None: - new_attr = name - else: - new_attr = old_attr - self.attr = new_attr - else: - self.mod = old_mod - if old_attr is None: - old_attr = name - self.attr = old_attr - - def _resolve(self): - module = _import_module(self.mod) - return getattr(module, self.attr) - - -class _SixMetaPathImporter(object): - - """ - A meta path importer to import six.moves and its submodules. - - This class implements a PEP302 finder and loader. It should be compatible - with Python 2.5 and all existing versions of Python3 - """ - - def __init__(self, six_module_name): - self.name = six_module_name - self.known_modules = {} - - def _add_module(self, mod, *fullnames): - for fullname in fullnames: - self.known_modules[self.name + "." + fullname] = mod - - def _get_module(self, fullname): - return self.known_modules[self.name + "." + fullname] - - def find_module(self, fullname, path=None): - if fullname in self.known_modules: - return self - return None - - def __get_module(self, fullname): - try: - return self.known_modules[fullname] - except KeyError: - raise ImportError("This loader does not know module " + fullname) - - def load_module(self, fullname): - try: - # in case of a reload - return sys.modules[fullname] - except KeyError: - pass - mod = self.__get_module(fullname) - if isinstance(mod, MovedModule): - mod = mod._resolve() - else: - mod.__loader__ = self - sys.modules[fullname] = mod - return mod - - def is_package(self, fullname): - """ - Return true, if the named module is a package. - - We need this method to get correct spec objects with - Python 3.4 (see PEP451) - """ - return hasattr(self.__get_module(fullname), "__path__") - - def get_code(self, fullname): - """Return None - - Required, if is_package is implemented""" - self.__get_module(fullname) # eventually raises ImportError - return None - get_source = get_code # same as get_code - -_importer = _SixMetaPathImporter(__name__) - - -class _MovedItems(_LazyModule): - - """Lazy loading of moved objects""" - __path__ = [] # mark as package - - -_moved_attributes = [ - MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), - MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), - MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), - MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), - MovedAttribute("intern", "__builtin__", "sys"), - MovedAttribute("map", "itertools", "builtins", "imap", "map"), - MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), - MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), - MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), - MovedAttribute("reduce", "__builtin__", "functools"), - MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), - MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("UserDict", "UserDict", "collections"), - MovedAttribute("UserList", "UserList", "collections"), - MovedAttribute("UserString", "UserString", "collections"), - MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), - MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), - MovedModule("copyreg", "copy_reg"), - MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), - MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), - MovedModule("html_parser", "HTMLParser", "html.parser"), - MovedModule("http_client", "httplib", "http.client"), - MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), - MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), - MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), - MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), - MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), - MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), - MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), - MovedModule("cPickle", "cPickle", "pickle"), - MovedModule("queue", "Queue"), - MovedModule("reprlib", "repr"), - MovedModule("socketserver", "SocketServer"), - MovedModule("_thread", "thread", "_thread"), - MovedModule("tkinter", "Tkinter"), - MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), - MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), - MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), - MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), - MovedModule("tkinter_tix", "Tix", "tkinter.tix"), - MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), - MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), - MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), - MovedModule("tkinter_colorchooser", "tkColorChooser", - "tkinter.colorchooser"), - MovedModule("tkinter_commondialog", "tkCommonDialog", - "tkinter.commondialog"), - MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), - MovedModule("tkinter_font", "tkFont", "tkinter.font"), - MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), - MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", - "tkinter.simpledialog"), - MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), - MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), - MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), - MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), - MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), - MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), -] -# Add windows specific modules. -if sys.platform == "win32": - _moved_attributes += [ - MovedModule("winreg", "_winreg"), - ] - -for attr in _moved_attributes: - setattr(_MovedItems, attr.name, attr) - if isinstance(attr, MovedModule): - _importer._add_module(attr, "moves." + attr.name) -del attr - -_MovedItems._moved_attributes = _moved_attributes - -moves = _MovedItems(__name__ + ".moves") -_importer._add_module(moves, "moves") - - -class Module_six_moves_urllib_parse(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_parse""" - - -_urllib_parse_moved_attributes = [ - MovedAttribute("ParseResult", "urlparse", "urllib.parse"), - MovedAttribute("SplitResult", "urlparse", "urllib.parse"), - MovedAttribute("parse_qs", "urlparse", "urllib.parse"), - MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), - MovedAttribute("urldefrag", "urlparse", "urllib.parse"), - MovedAttribute("urljoin", "urlparse", "urllib.parse"), - MovedAttribute("urlparse", "urlparse", "urllib.parse"), - MovedAttribute("urlsplit", "urlparse", "urllib.parse"), - MovedAttribute("urlunparse", "urlparse", "urllib.parse"), - MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), - MovedAttribute("quote", "urllib", "urllib.parse"), - MovedAttribute("quote_plus", "urllib", "urllib.parse"), - MovedAttribute("unquote", "urllib", "urllib.parse"), - MovedAttribute("unquote_plus", "urllib", "urllib.parse"), - MovedAttribute("urlencode", "urllib", "urllib.parse"), - MovedAttribute("splitquery", "urllib", "urllib.parse"), - MovedAttribute("splittag", "urllib", "urllib.parse"), - MovedAttribute("splituser", "urllib", "urllib.parse"), - MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), - MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), - MovedAttribute("uses_params", "urlparse", "urllib.parse"), - MovedAttribute("uses_query", "urlparse", "urllib.parse"), - MovedAttribute("uses_relative", "urlparse", "urllib.parse"), -] -for attr in _urllib_parse_moved_attributes: - setattr(Module_six_moves_urllib_parse, attr.name, attr) -del attr - -Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes - -_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), - "moves.urllib_parse", "moves.urllib.parse") - - -class Module_six_moves_urllib_error(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_error""" - - -_urllib_error_moved_attributes = [ - MovedAttribute("URLError", "urllib2", "urllib.error"), - MovedAttribute("HTTPError", "urllib2", "urllib.error"), - MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), -] -for attr in _urllib_error_moved_attributes: - setattr(Module_six_moves_urllib_error, attr.name, attr) -del attr - -Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes - -_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), - "moves.urllib_error", "moves.urllib.error") - - -class Module_six_moves_urllib_request(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_request""" - - -_urllib_request_moved_attributes = [ - MovedAttribute("urlopen", "urllib2", "urllib.request"), - MovedAttribute("install_opener", "urllib2", "urllib.request"), - MovedAttribute("build_opener", "urllib2", "urllib.request"), - MovedAttribute("pathname2url", "urllib", "urllib.request"), - MovedAttribute("url2pathname", "urllib", "urllib.request"), - MovedAttribute("getproxies", "urllib", "urllib.request"), - MovedAttribute("Request", "urllib2", "urllib.request"), - MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), - MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), - MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), - MovedAttribute("BaseHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), - MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), - MovedAttribute("FileHandler", "urllib2", "urllib.request"), - MovedAttribute("FTPHandler", "urllib2", "urllib.request"), - MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), - MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), - MovedAttribute("urlretrieve", "urllib", "urllib.request"), - MovedAttribute("urlcleanup", "urllib", "urllib.request"), - MovedAttribute("URLopener", "urllib", "urllib.request"), - MovedAttribute("FancyURLopener", "urllib", "urllib.request"), - MovedAttribute("proxy_bypass", "urllib", "urllib.request"), -] -for attr in _urllib_request_moved_attributes: - setattr(Module_six_moves_urllib_request, attr.name, attr) -del attr - -Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes - -_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), - "moves.urllib_request", "moves.urllib.request") - - -class Module_six_moves_urllib_response(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_response""" - - -_urllib_response_moved_attributes = [ - MovedAttribute("addbase", "urllib", "urllib.response"), - MovedAttribute("addclosehook", "urllib", "urllib.response"), - MovedAttribute("addinfo", "urllib", "urllib.response"), - MovedAttribute("addinfourl", "urllib", "urllib.response"), -] -for attr in _urllib_response_moved_attributes: - setattr(Module_six_moves_urllib_response, attr.name, attr) -del attr - -Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes - -_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), - "moves.urllib_response", "moves.urllib.response") - - -class Module_six_moves_urllib_robotparser(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_robotparser""" - - -_urllib_robotparser_moved_attributes = [ - MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), -] -for attr in _urllib_robotparser_moved_attributes: - setattr(Module_six_moves_urllib_robotparser, attr.name, attr) -del attr - -Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes - -_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), - "moves.urllib_robotparser", "moves.urllib.robotparser") - - -class Module_six_moves_urllib(types.ModuleType): - - """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" - __path__ = [] # mark as package - parse = _importer._get_module("moves.urllib_parse") - error = _importer._get_module("moves.urllib_error") - request = _importer._get_module("moves.urllib_request") - response = _importer._get_module("moves.urllib_response") - robotparser = _importer._get_module("moves.urllib_robotparser") - - def __dir__(self): - return ['parse', 'error', 'request', 'response', 'robotparser'] - -_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), - "moves.urllib") - - -def add_move(move): - """Add an item to six.moves.""" - setattr(_MovedItems, move.name, move) - - -def remove_move(name): - """Remove item from six.moves.""" - try: - delattr(_MovedItems, name) - except AttributeError: - try: - del moves.__dict__[name] - except KeyError: - raise AttributeError("no such move, %r" % (name,)) - - -if PY3: - _meth_func = "__func__" - _meth_self = "__self__" - - _func_closure = "__closure__" - _func_code = "__code__" - _func_defaults = "__defaults__" - _func_globals = "__globals__" -else: - _meth_func = "im_func" - _meth_self = "im_self" - - _func_closure = "func_closure" - _func_code = "func_code" - _func_defaults = "func_defaults" - _func_globals = "func_globals" - - -try: - advance_iterator = next -except NameError: - def advance_iterator(it): - return it.next() -next = advance_iterator - - -try: - callable = callable -except NameError: - def callable(obj): - return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) - - -if PY3: - def get_unbound_function(unbound): - return unbound - - create_bound_method = types.MethodType - - def create_unbound_method(func, cls): - return func - - Iterator = object -else: - def get_unbound_function(unbound): - return unbound.im_func - - def create_bound_method(func, obj): - return types.MethodType(func, obj, obj.__class__) - - def create_unbound_method(func, cls): - return types.MethodType(func, None, cls) - - class Iterator(object): - - def next(self): - return type(self).__next__(self) - - callable = callable -_add_doc(get_unbound_function, - """Get the function out of a possibly unbound function""") - - -get_method_function = operator.attrgetter(_meth_func) -get_method_self = operator.attrgetter(_meth_self) -get_function_closure = operator.attrgetter(_func_closure) -get_function_code = operator.attrgetter(_func_code) -get_function_defaults = operator.attrgetter(_func_defaults) -get_function_globals = operator.attrgetter(_func_globals) - - -if PY3: - def iterkeys(d, **kw): - return iter(d.keys(**kw)) - - def itervalues(d, **kw): - return iter(d.values(**kw)) - - def iteritems(d, **kw): - return iter(d.items(**kw)) - - def iterlists(d, **kw): - return iter(d.lists(**kw)) - - viewkeys = operator.methodcaller("keys") - - viewvalues = operator.methodcaller("values") - - viewitems = operator.methodcaller("items") -else: - def iterkeys(d, **kw): - return d.iterkeys(**kw) - - def itervalues(d, **kw): - return d.itervalues(**kw) - - def iteritems(d, **kw): - return d.iteritems(**kw) - - def iterlists(d, **kw): - return d.iterlists(**kw) - - viewkeys = operator.methodcaller("viewkeys") - - viewvalues = operator.methodcaller("viewvalues") - - viewitems = operator.methodcaller("viewitems") - -_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") -_add_doc(itervalues, "Return an iterator over the values of a dictionary.") -_add_doc(iteritems, - "Return an iterator over the (key, value) pairs of a dictionary.") -_add_doc(iterlists, - "Return an iterator over the (key, [values]) pairs of a dictionary.") - - -if PY3: - def b(s): - return s.encode("latin-1") - - def u(s): - return s - unichr = chr - import struct - int2byte = struct.Struct(">B").pack - del struct - byte2int = operator.itemgetter(0) - indexbytes = operator.getitem - iterbytes = iter - import io - StringIO = io.StringIO - BytesIO = io.BytesIO - _assertCountEqual = "assertCountEqual" - if sys.version_info[1] <= 1: - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" - else: - _assertRaisesRegex = "assertRaisesRegex" - _assertRegex = "assertRegex" -else: - def b(s): - return s - # Workaround for standalone backslash - - def u(s): - return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") - unichr = unichr - int2byte = chr - - def byte2int(bs): - return ord(bs[0]) - - def indexbytes(buf, i): - return ord(buf[i]) - iterbytes = functools.partial(itertools.imap, ord) - import StringIO - StringIO = BytesIO = StringIO.StringIO - _assertCountEqual = "assertItemsEqual" - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" -_add_doc(b, """Byte literal""") -_add_doc(u, """Text literal""") - - -def assertCountEqual(self, *args, **kwargs): - return getattr(self, _assertCountEqual)(*args, **kwargs) - - -def assertRaisesRegex(self, *args, **kwargs): - return getattr(self, _assertRaisesRegex)(*args, **kwargs) - - -def assertRegex(self, *args, **kwargs): - return getattr(self, _assertRegex)(*args, **kwargs) - - -if PY3: - exec_ = getattr(moves.builtins, "exec") - - def reraise(tp, value, tb=None): - if value is None: - value = tp() - if value.__traceback__ is not tb: - raise value.with_traceback(tb) - raise value - -else: - def exec_(_code_, _globs_=None, _locs_=None): - """Execute code in a namespace.""" - if _globs_ is None: - frame = sys._getframe(1) - _globs_ = frame.f_globals - if _locs_ is None: - _locs_ = frame.f_locals - del frame - elif _locs_ is None: - _locs_ = _globs_ - exec("""exec _code_ in _globs_, _locs_""") - - exec_("""def reraise(tp, value, tb=None): - raise tp, value, tb -""") - - -if sys.version_info[:2] == (3, 2): - exec_("""def raise_from(value, from_value): - if from_value is None: - raise value - raise value from from_value -""") -elif sys.version_info[:2] > (3, 2): - exec_("""def raise_from(value, from_value): - raise value from from_value -""") -else: - def raise_from(value, from_value): - raise value - - -print_ = getattr(moves.builtins, "print", None) -if print_ is None: - def print_(*args, **kwargs): - """The new-style print function for Python 2.4 and 2.5.""" - fp = kwargs.pop("file", sys.stdout) - if fp is None: - return - - def write(data): - if not isinstance(data, basestring): - data = str(data) - # If the file has an encoding, encode unicode with it. - if (isinstance(fp, file) and - isinstance(data, unicode) and - fp.encoding is not None): - errors = getattr(fp, "errors", None) - if errors is None: - errors = "strict" - data = data.encode(fp.encoding, errors) - fp.write(data) - want_unicode = False - sep = kwargs.pop("sep", None) - if sep is not None: - if isinstance(sep, unicode): - want_unicode = True - elif not isinstance(sep, str): - raise TypeError("sep must be None or a string") - end = kwargs.pop("end", None) - if end is not None: - if isinstance(end, unicode): - want_unicode = True - elif not isinstance(end, str): - raise TypeError("end must be None or a string") - if kwargs: - raise TypeError("invalid keyword arguments to print()") - if not want_unicode: - for arg in args: - if isinstance(arg, unicode): - want_unicode = True - break - if want_unicode: - newline = unicode("\n") - space = unicode(" ") - else: - newline = "\n" - space = " " - if sep is None: - sep = space - if end is None: - end = newline - for i, arg in enumerate(args): - if i: - write(sep) - write(arg) - write(end) -if sys.version_info[:2] < (3, 3): - _print = print_ - - def print_(*args, **kwargs): - fp = kwargs.get("file", sys.stdout) - flush = kwargs.pop("flush", False) - _print(*args, **kwargs) - if flush and fp is not None: - fp.flush() - -_add_doc(reraise, """Reraise an exception.""") - -if sys.version_info[0:2] < (3, 4): - def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, - updated=functools.WRAPPER_UPDATES): - def wrapper(f): - f = functools.wraps(wrapped, assigned, updated)(f) - f.__wrapped__ = wrapped - return f - return wrapper -else: - wraps = functools.wraps - - -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', (), {}) - - -def add_metaclass(metaclass): - """Class decorator for creating a class with a metaclass.""" - def wrapper(cls): - orig_vars = cls.__dict__.copy() - slots = orig_vars.get('__slots__') - if slots is not None: - if isinstance(slots, str): - slots = [slots] - for slots_var in slots: - orig_vars.pop(slots_var) - orig_vars.pop('__dict__', None) - orig_vars.pop('__weakref__', None) - return metaclass(cls.__name__, cls.__bases__, orig_vars) - return wrapper - - -def python_2_unicode_compatible(klass): - """ - A decorator that defines __unicode__ and __str__ methods under Python 2. - Under Python 3 it does nothing. - - To support Python 2 and 3 with a single code base, define a __str__ method - returning text and apply this decorator to the class. - """ - if PY2: - if '__str__' not in klass.__dict__: - raise ValueError("@python_2_unicode_compatible cannot be applied " - "to %s because it doesn't define __str__()." % - klass.__name__) - klass.__unicode__ = klass.__str__ - klass.__str__ = lambda self: self.__unicode__().encode('utf-8') - return klass - - -# Complete the moves implementation. -# This code is at the end of this module to speed up module loading. -# Turn this module into a package. -__path__ = [] # required for PEP 302 and PEP 451 -__package__ = __name__ # see PEP 366 @ReservedAssignment -if globals().get("__spec__") is not None: - __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable -# Remove other six meta path importers, since they cause problems. This can -# happen if six is removed from sys.modules and then reloaded. (Setuptools does -# this for some reason.) -if sys.meta_path: - for i, importer in enumerate(sys.meta_path): - # Here's some real nastiness: Another "instance" of the six module might - # be floating around. Therefore, we can't use isinstance() to check for - # the six meta path importer, since the other six instance will have - # inserted an importer with different class. - if (type(importer).__name__ == "_SixMetaPathImporter" and - importer.name == __name__): - del sys.meta_path[i] - break - del i, importer -# Finally, add the importer to the meta path import hook. -sys.meta_path.append(_importer) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__init__.py deleted file mode 100644 index 03d5d357..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__init__.py +++ /dev/null @@ -1,342 +0,0 @@ -# coding: utf8 -""" - - webencodings - ~~~~~~~~~~~~ - - This is a Python implementation of the `WHATWG Encoding standard - `. See README for details. - - :copyright: Copyright 2012 by Simon Sapin - :license: BSD, see LICENSE for details. - -""" - -from __future__ import unicode_literals - -import codecs - -from .labels import LABELS - - -VERSION = '0.5' - - -# Some names in Encoding are not valid Python aliases. Remap these. -PYTHON_NAMES = { - 'iso-8859-8-i': 'iso-8859-8', - 'x-mac-cyrillic': 'mac-cyrillic', - 'macintosh': 'mac-roman', - 'windows-874': 'cp874'} - -CACHE = {} - - -def ascii_lower(string): - r"""Transform (only) ASCII letters to lower case: A-Z is mapped to a-z. - - :param string: An Unicode string. - :returns: A new Unicode string. - - This is used for `ASCII case-insensitive - `_ - matching of encoding labels. - The same matching is also used, among other things, - for `CSS keywords `_. - - This is different from the :meth:`~py:str.lower` method of Unicode strings - which also affect non-ASCII characters, - sometimes mapping them into the ASCII range: - - >>> keyword = u'Bac\N{KELVIN SIGN}ground' - >>> assert keyword.lower() == u'background' - >>> assert ascii_lower(keyword) != keyword.lower() - >>> assert ascii_lower(keyword) == u'bac\N{KELVIN SIGN}ground' - - """ - # This turns out to be faster than unicode.translate() - return string.encode('utf8').lower().decode('utf8') - - -def lookup(label): - """ - Look for an encoding by its label. - This is the spec’s `get an encoding - `_ algorithm. - Supported labels are listed there. - - :param label: A string. - :returns: - An :class:`Encoding` object, or :obj:`None` for an unknown label. - - """ - # Only strip ASCII whitespace: U+0009, U+000A, U+000C, U+000D, and U+0020. - label = ascii_lower(label.strip('\t\n\f\r ')) - name = LABELS.get(label) - if name is None: - return None - encoding = CACHE.get(name) - if encoding is None: - if name == 'x-user-defined': - from .x_user_defined import codec_info - else: - python_name = PYTHON_NAMES.get(name, name) - # Any python_name value that gets to here should be valid. - codec_info = codecs.lookup(python_name) - encoding = Encoding(name, codec_info) - CACHE[name] = encoding - return encoding - - -def _get_encoding(encoding_or_label): - """ - Accept either an encoding object or label. - - :param encoding: An :class:`Encoding` object or a label string. - :returns: An :class:`Encoding` object. - :raises: :exc:`~exceptions.LookupError` for an unknown label. - - """ - if hasattr(encoding_or_label, 'codec_info'): - return encoding_or_label - - encoding = lookup(encoding_or_label) - if encoding is None: - raise LookupError('Unknown encoding label: %r' % encoding_or_label) - return encoding - - -class Encoding(object): - """Reresents a character encoding such as UTF-8, - that can be used for decoding or encoding. - - .. attribute:: name - - Canonical name of the encoding - - .. attribute:: codec_info - - The actual implementation of the encoding, - a stdlib :class:`~codecs.CodecInfo` object. - See :func:`codecs.register`. - - """ - def __init__(self, name, codec_info): - self.name = name - self.codec_info = codec_info - - def __repr__(self): - return '' % self.name - - -#: The UTF-8 encoding. Should be used for new content and formats. -UTF8 = lookup('utf-8') - -_UTF16LE = lookup('utf-16le') -_UTF16BE = lookup('utf-16be') - - -def decode(input, fallback_encoding, errors='replace'): - """ - Decode a single string. - - :param input: A byte string - :param fallback_encoding: - An :class:`Encoding` object or a label string. - The encoding to use if :obj:`input` does note have a BOM. - :param errors: Type of error handling. See :func:`codecs.register`. - :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. - :return: - A ``(output, encoding)`` tuple of an Unicode string - and an :obj:`Encoding`. - - """ - # Fail early if `encoding` is an invalid label. - fallback_encoding = _get_encoding(fallback_encoding) - bom_encoding, input = _detect_bom(input) - encoding = bom_encoding or fallback_encoding - return encoding.codec_info.decode(input, errors)[0], encoding - - -def _detect_bom(input): - """Return (bom_encoding, input), with any BOM removed from the input.""" - if input.startswith(b'\xFF\xFE'): - return _UTF16LE, input[2:] - if input.startswith(b'\xFE\xFF'): - return _UTF16BE, input[2:] - if input.startswith(b'\xEF\xBB\xBF'): - return UTF8, input[3:] - return None, input - - -def encode(input, encoding=UTF8, errors='strict'): - """ - Encode a single string. - - :param input: An Unicode string. - :param encoding: An :class:`Encoding` object or a label string. - :param errors: Type of error handling. See :func:`codecs.register`. - :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. - :return: A byte string. - - """ - return _get_encoding(encoding).codec_info.encode(input, errors)[0] - - -def iter_decode(input, fallback_encoding, errors='replace'): - """ - "Pull"-based decoder. - - :param input: - An iterable of byte strings. - - The input is first consumed just enough to determine the encoding - based on the precense of a BOM, - then consumed on demand when the return value is. - :param fallback_encoding: - An :class:`Encoding` object or a label string. - The encoding to use if :obj:`input` does note have a BOM. - :param errors: Type of error handling. See :func:`codecs.register`. - :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. - :returns: - An ``(output, encoding)`` tuple. - :obj:`output` is an iterable of Unicode strings, - :obj:`encoding` is the :obj:`Encoding` that is being used. - - """ - - decoder = IncrementalDecoder(fallback_encoding, errors) - generator = _iter_decode_generator(input, decoder) - encoding = next(generator) - return generator, encoding - - -def _iter_decode_generator(input, decoder): - """Return a generator that first yields the :obj:`Encoding`, - then yields output chukns as Unicode strings. - - """ - decode = decoder.decode - input = iter(input) - for chunck in input: - output = decode(chunck) - if output: - assert decoder.encoding is not None - yield decoder.encoding - yield output - break - else: - # Input exhausted without determining the encoding - output = decode(b'', final=True) - assert decoder.encoding is not None - yield decoder.encoding - if output: - yield output - return - - for chunck in input: - output = decode(chunck) - if output: - yield output - output = decode(b'', final=True) - if output: - yield output - - -def iter_encode(input, encoding=UTF8, errors='strict'): - """ - “Pull”-based encoder. - - :param input: An iterable of Unicode strings. - :param encoding: An :class:`Encoding` object or a label string. - :param errors: Type of error handling. See :func:`codecs.register`. - :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. - :returns: An iterable of byte strings. - - """ - # Fail early if `encoding` is an invalid label. - encode = IncrementalEncoder(encoding, errors).encode - return _iter_encode_generator(input, encode) - - -def _iter_encode_generator(input, encode): - for chunck in input: - output = encode(chunck) - if output: - yield output - output = encode('', final=True) - if output: - yield output - - -class IncrementalDecoder(object): - """ - “Push”-based decoder. - - :param fallback_encoding: - An :class:`Encoding` object or a label string. - The encoding to use if :obj:`input` does note have a BOM. - :param errors: Type of error handling. See :func:`codecs.register`. - :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. - - """ - def __init__(self, fallback_encoding, errors='replace'): - # Fail early if `encoding` is an invalid label. - self._fallback_encoding = _get_encoding(fallback_encoding) - self._errors = errors - self._buffer = b'' - self._decoder = None - #: The actual :class:`Encoding` that is being used, - #: or :obj:`None` if that is not determined yet. - #: (Ie. if there is not enough input yet to determine - #: if there is a BOM.) - self.encoding = None # Not known yet. - - def decode(self, input, final=False): - """Decode one chunk of the input. - - :param input: A byte string. - :param final: - Indicate that no more input is available. - Must be :obj:`True` if this is the last call. - :returns: An Unicode string. - - """ - decoder = self._decoder - if decoder is not None: - return decoder(input, final) - - input = self._buffer + input - encoding, input = _detect_bom(input) - if encoding is None: - if len(input) < 3 and not final: # Not enough data yet. - self._buffer = input - return '' - else: # No BOM - encoding = self._fallback_encoding - decoder = encoding.codec_info.incrementaldecoder(self._errors).decode - self._decoder = decoder - self.encoding = encoding - return decoder(input, final) - - -class IncrementalEncoder(object): - """ - “Push”-based encoder. - - :param encoding: An :class:`Encoding` object or a label string. - :param errors: Type of error handling. See :func:`codecs.register`. - :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. - - .. method:: encode(input, final=False) - - :param input: An Unicode string. - :param final: - Indicate that no more input is available. - Must be :obj:`True` if this is the last call. - :returns: A byte string. - - """ - def __init__(self, encoding=UTF8, errors='strict'): - encoding = _get_encoding(encoding) - self.encode = encoding.codec_info.incrementalencoder(errors).encode diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 129e2a7e20ba2b04f8e10ac9b1155b1712cd8e75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9678 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 LY<{6wTDbnd7w9M= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-36.pyc deleted file mode 100644 index 6a73fea4b9c0fa2d2109dae9217f352596ec1c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4092 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 NziiIhVr(%|e*vhT4I}^n diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/labels.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/labels.py deleted file mode 100644 index 29cbf91e..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/labels.py +++ /dev/null @@ -1,231 +0,0 @@ -""" - - webencodings.labels - ~~~~~~~~~~~~~~~~~~~ - - Map encoding labels to their name. - - :copyright: Copyright 2012 by Simon Sapin - :license: BSD, see LICENSE for details. - -""" - -# XXX Do not edit! -# This file is automatically generated by mklabels.py - -LABELS = { - 'unicode-1-1-utf-8': 'utf-8', - 'utf-8': 'utf-8', - 'utf8': 'utf-8', - '866': 'ibm866', - 'cp866': 'ibm866', - 'csibm866': 'ibm866', - 'ibm866': 'ibm866', - 'csisolatin2': 'iso-8859-2', - 'iso-8859-2': 'iso-8859-2', - 'iso-ir-101': 'iso-8859-2', - 'iso8859-2': 'iso-8859-2', - 'iso88592': 'iso-8859-2', - 'iso_8859-2': 'iso-8859-2', - 'iso_8859-2:1987': 'iso-8859-2', - 'l2': 'iso-8859-2', - 'latin2': 'iso-8859-2', - 'csisolatin3': 'iso-8859-3', - 'iso-8859-3': 'iso-8859-3', - 'iso-ir-109': 'iso-8859-3', - 'iso8859-3': 'iso-8859-3', - 'iso88593': 'iso-8859-3', - 'iso_8859-3': 'iso-8859-3', - 'iso_8859-3:1988': 'iso-8859-3', - 'l3': 'iso-8859-3', - 'latin3': 'iso-8859-3', - 'csisolatin4': 'iso-8859-4', - 'iso-8859-4': 'iso-8859-4', - 'iso-ir-110': 'iso-8859-4', - 'iso8859-4': 'iso-8859-4', - 'iso88594': 'iso-8859-4', - 'iso_8859-4': 'iso-8859-4', - 'iso_8859-4:1988': 'iso-8859-4', - 'l4': 'iso-8859-4', - 'latin4': 'iso-8859-4', - 'csisolatincyrillic': 'iso-8859-5', - 'cyrillic': 'iso-8859-5', - 'iso-8859-5': 'iso-8859-5', - 'iso-ir-144': 'iso-8859-5', - 'iso8859-5': 'iso-8859-5', - 'iso88595': 'iso-8859-5', - 'iso_8859-5': 'iso-8859-5', - 'iso_8859-5:1988': 'iso-8859-5', - 'arabic': 'iso-8859-6', - 'asmo-708': 'iso-8859-6', - 'csiso88596e': 'iso-8859-6', - 'csiso88596i': 'iso-8859-6', - 'csisolatinarabic': 'iso-8859-6', - 'ecma-114': 'iso-8859-6', - 'iso-8859-6': 'iso-8859-6', - 'iso-8859-6-e': 'iso-8859-6', - 'iso-8859-6-i': 'iso-8859-6', - 'iso-ir-127': 'iso-8859-6', - 'iso8859-6': 'iso-8859-6', - 'iso88596': 'iso-8859-6', - 'iso_8859-6': 'iso-8859-6', - 'iso_8859-6:1987': 'iso-8859-6', - 'csisolatingreek': 'iso-8859-7', - 'ecma-118': 'iso-8859-7', - 'elot_928': 'iso-8859-7', - 'greek': 'iso-8859-7', - 'greek8': 'iso-8859-7', - 'iso-8859-7': 'iso-8859-7', - 'iso-ir-126': 'iso-8859-7', - 'iso8859-7': 'iso-8859-7', - 'iso88597': 'iso-8859-7', - 'iso_8859-7': 'iso-8859-7', - 'iso_8859-7:1987': 'iso-8859-7', - 'sun_eu_greek': 'iso-8859-7', - 'csiso88598e': 'iso-8859-8', - 'csisolatinhebrew': 'iso-8859-8', - 'hebrew': 'iso-8859-8', - 'iso-8859-8': 'iso-8859-8', - 'iso-8859-8-e': 'iso-8859-8', - 'iso-ir-138': 'iso-8859-8', - 'iso8859-8': 'iso-8859-8', - 'iso88598': 'iso-8859-8', - 'iso_8859-8': 'iso-8859-8', - 'iso_8859-8:1988': 'iso-8859-8', - 'visual': 'iso-8859-8', - 'csiso88598i': 'iso-8859-8-i', - 'iso-8859-8-i': 'iso-8859-8-i', - 'logical': 'iso-8859-8-i', - 'csisolatin6': 'iso-8859-10', - 'iso-8859-10': 'iso-8859-10', - 'iso-ir-157': 'iso-8859-10', - 'iso8859-10': 'iso-8859-10', - 'iso885910': 'iso-8859-10', - 'l6': 'iso-8859-10', - 'latin6': 'iso-8859-10', - 'iso-8859-13': 'iso-8859-13', - 'iso8859-13': 'iso-8859-13', - 'iso885913': 'iso-8859-13', - 'iso-8859-14': 'iso-8859-14', - 'iso8859-14': 'iso-8859-14', - 'iso885914': 'iso-8859-14', - 'csisolatin9': 'iso-8859-15', - 'iso-8859-15': 'iso-8859-15', - 'iso8859-15': 'iso-8859-15', - 'iso885915': 'iso-8859-15', - 'iso_8859-15': 'iso-8859-15', - 'l9': 'iso-8859-15', - 'iso-8859-16': 'iso-8859-16', - 'cskoi8r': 'koi8-r', - 'koi': 'koi8-r', - 'koi8': 'koi8-r', - 'koi8-r': 'koi8-r', - 'koi8_r': 'koi8-r', - 'koi8-u': 'koi8-u', - 'csmacintosh': 'macintosh', - 'mac': 'macintosh', - 'macintosh': 'macintosh', - 'x-mac-roman': 'macintosh', - 'dos-874': 'windows-874', - 'iso-8859-11': 'windows-874', - 'iso8859-11': 'windows-874', - 'iso885911': 'windows-874', - 'tis-620': 'windows-874', - 'windows-874': 'windows-874', - 'cp1250': 'windows-1250', - 'windows-1250': 'windows-1250', - 'x-cp1250': 'windows-1250', - 'cp1251': 'windows-1251', - 'windows-1251': 'windows-1251', - 'x-cp1251': 'windows-1251', - 'ansi_x3.4-1968': 'windows-1252', - 'ascii': 'windows-1252', - 'cp1252': 'windows-1252', - 'cp819': 'windows-1252', - 'csisolatin1': 'windows-1252', - 'ibm819': 'windows-1252', - 'iso-8859-1': 'windows-1252', - 'iso-ir-100': 'windows-1252', - 'iso8859-1': 'windows-1252', - 'iso88591': 'windows-1252', - 'iso_8859-1': 'windows-1252', - 'iso_8859-1:1987': 'windows-1252', - 'l1': 'windows-1252', - 'latin1': 'windows-1252', - 'us-ascii': 'windows-1252', - 'windows-1252': 'windows-1252', - 'x-cp1252': 'windows-1252', - 'cp1253': 'windows-1253', - 'windows-1253': 'windows-1253', - 'x-cp1253': 'windows-1253', - 'cp1254': 'windows-1254', - 'csisolatin5': 'windows-1254', - 'iso-8859-9': 'windows-1254', - 'iso-ir-148': 'windows-1254', - 'iso8859-9': 'windows-1254', - 'iso88599': 'windows-1254', - 'iso_8859-9': 'windows-1254', - 'iso_8859-9:1989': 'windows-1254', - 'l5': 'windows-1254', - 'latin5': 'windows-1254', - 'windows-1254': 'windows-1254', - 'x-cp1254': 'windows-1254', - 'cp1255': 'windows-1255', - 'windows-1255': 'windows-1255', - 'x-cp1255': 'windows-1255', - 'cp1256': 'windows-1256', - 'windows-1256': 'windows-1256', - 'x-cp1256': 'windows-1256', - 'cp1257': 'windows-1257', - 'windows-1257': 'windows-1257', - 'x-cp1257': 'windows-1257', - 'cp1258': 'windows-1258', - 'windows-1258': 'windows-1258', - 'x-cp1258': 'windows-1258', - 'x-mac-cyrillic': 'x-mac-cyrillic', - 'x-mac-ukrainian': 'x-mac-cyrillic', - 'chinese': 'gbk', - 'csgb2312': 'gbk', - 'csiso58gb231280': 'gbk', - 'gb2312': 'gbk', - 'gb_2312': 'gbk', - 'gb_2312-80': 'gbk', - 'gbk': 'gbk', - 'iso-ir-58': 'gbk', - 'x-gbk': 'gbk', - 'gb18030': 'gb18030', - 'hz-gb-2312': 'hz-gb-2312', - 'big5': 'big5', - 'big5-hkscs': 'big5', - 'cn-big5': 'big5', - 'csbig5': 'big5', - 'x-x-big5': 'big5', - 'cseucpkdfmtjapanese': 'euc-jp', - 'euc-jp': 'euc-jp', - 'x-euc-jp': 'euc-jp', - 'csiso2022jp': 'iso-2022-jp', - 'iso-2022-jp': 'iso-2022-jp', - 'csshiftjis': 'shift_jis', - 'ms_kanji': 'shift_jis', - 'shift-jis': 'shift_jis', - 'shift_jis': 'shift_jis', - 'sjis': 'shift_jis', - 'windows-31j': 'shift_jis', - 'x-sjis': 'shift_jis', - 'cseuckr': 'euc-kr', - 'csksc56011987': 'euc-kr', - 'euc-kr': 'euc-kr', - 'iso-ir-149': 'euc-kr', - 'korean': 'euc-kr', - 'ks_c_5601-1987': 'euc-kr', - 'ks_c_5601-1989': 'euc-kr', - 'ksc5601': 'euc-kr', - 'ksc_5601': 'euc-kr', - 'windows-949': 'euc-kr', - 'csiso2022kr': 'iso-2022-kr', - 'iso-2022-kr': 'iso-2022-kr', - 'utf-16be': 'utf-16be', - 'utf-16': 'utf-16le', - 'utf-16le': 'utf-16le', - 'x-user-defined': 'x-user-defined', -} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/mklabels.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/mklabels.py deleted file mode 100644 index 295dc928..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/mklabels.py +++ /dev/null @@ -1,59 +0,0 @@ -""" - - webencodings.mklabels - ~~~~~~~~~~~~~~~~~~~~~ - - Regenarate the webencodings.labels module. - - :copyright: Copyright 2012 by Simon Sapin - :license: BSD, see LICENSE for details. - -""" - -import json -try: - from urllib import urlopen -except ImportError: - from urllib.request import urlopen - - -def assert_lower(string): - assert string == string.lower() - return string - - -def generate(url): - parts = ['''\ -""" - - webencodings.labels - ~~~~~~~~~~~~~~~~~~~ - - Map encoding labels to their name. - - :copyright: Copyright 2012 by Simon Sapin - :license: BSD, see LICENSE for details. - -""" - -# XXX Do not edit! -# This file is automatically generated by mklabels.py - -LABELS = { -'''] - labels = [ - (repr(assert_lower(label)).lstrip('u'), - repr(encoding['name']).lstrip('u')) - for category in json.loads(urlopen(url).read().decode('ascii')) - for encoding in category['encodings'] - for label in encoding['labels']] - max_len = max(len(label) for label, name in labels) - parts.extend( - ' %s:%s %s,\n' % (label, ' ' * (max_len - len(label)), name) - for label, name in labels) - parts.append('}') - return ''.join(parts) - - -if __name__ == '__main__': - print(generate('http://encoding.spec.whatwg.org/encodings.json')) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/tests.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/tests.py deleted file mode 100644 index b8c5653e..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/tests.py +++ /dev/null @@ -1,153 +0,0 @@ -# coding: utf8 -""" - - webencodings.tests - ~~~~~~~~~~~~~~~~~~ - - A basic test suite for Encoding. - - :copyright: Copyright 2012 by Simon Sapin - :license: BSD, see LICENSE for details. - -""" - -from __future__ import unicode_literals - -from . import (lookup, LABELS, decode, encode, iter_decode, iter_encode, - IncrementalDecoder, IncrementalEncoder, UTF8) - - -def assert_raises(exception, function, *args, **kwargs): - try: - function(*args, **kwargs) - except exception: - return - else: # pragma: no cover - raise AssertionError('Did not raise %s.' % exception) - - -def test_labels(): - assert lookup('utf-8').name == 'utf-8' - assert lookup('Utf-8').name == 'utf-8' - assert lookup('UTF-8').name == 'utf-8' - assert lookup('utf8').name == 'utf-8' - assert lookup('utf8').name == 'utf-8' - assert lookup('utf8 ').name == 'utf-8' - assert lookup(' \r\nutf8\t').name == 'utf-8' - assert lookup('u8') is None # Python label. - assert lookup('utf-8 ') is None # Non-ASCII white space. - - assert lookup('US-ASCII').name == 'windows-1252' - assert lookup('iso-8859-1').name == 'windows-1252' - assert lookup('latin1').name == 'windows-1252' - assert lookup('LATIN1').name == 'windows-1252' - assert lookup('latin-1') is None - assert lookup('LATİN1') is None # ASCII-only case insensitivity. - - -def test_all_labels(): - for label in LABELS: - assert decode(b'', label) == ('', lookup(label)) - assert encode('', label) == b'' - for repeat in [0, 1, 12]: - output, _ = iter_decode([b''] * repeat, label) - assert list(output) == [] - assert list(iter_encode([''] * repeat, label)) == [] - decoder = IncrementalDecoder(label) - assert decoder.decode(b'') == '' - assert decoder.decode(b'', final=True) == '' - encoder = IncrementalEncoder(label) - assert encoder.encode('') == b'' - assert encoder.encode('', final=True) == b'' - # All encoding names are valid labels too: - for name in set(LABELS.values()): - assert lookup(name).name == name - - -def test_invalid_label(): - assert_raises(LookupError, decode, b'\xEF\xBB\xBF\xc3\xa9', 'invalid') - assert_raises(LookupError, encode, 'é', 'invalid') - assert_raises(LookupError, iter_decode, [], 'invalid') - assert_raises(LookupError, iter_encode, [], 'invalid') - assert_raises(LookupError, IncrementalDecoder, 'invalid') - assert_raises(LookupError, IncrementalEncoder, 'invalid') - - -def test_decode(): - assert decode(b'\x80', 'latin1') == ('€', lookup('latin1')) - assert decode(b'\x80', lookup('latin1')) == ('€', lookup('latin1')) - assert decode(b'\xc3\xa9', 'utf8') == ('é', lookup('utf8')) - assert decode(b'\xc3\xa9', UTF8) == ('é', lookup('utf8')) - assert decode(b'\xc3\xa9', 'ascii') == ('é', lookup('ascii')) - assert decode(b'\xEF\xBB\xBF\xc3\xa9', 'ascii') == ('é', lookup('utf8')) # UTF-8 with BOM - - assert decode(b'\xFE\xFF\x00\xe9', 'ascii') == ('é', lookup('utf-16be')) # UTF-16-BE with BOM - assert decode(b'\xFF\xFE\xe9\x00', 'ascii') == ('é', lookup('utf-16le')) # UTF-16-LE with BOM - assert decode(b'\xFE\xFF\xe9\x00', 'ascii') == ('\ue900', lookup('utf-16be')) - assert decode(b'\xFF\xFE\x00\xe9', 'ascii') == ('\ue900', lookup('utf-16le')) - - assert decode(b'\x00\xe9', 'UTF-16BE') == ('é', lookup('utf-16be')) - assert decode(b'\xe9\x00', 'UTF-16LE') == ('é', lookup('utf-16le')) - assert decode(b'\xe9\x00', 'UTF-16') == ('é', lookup('utf-16le')) - - assert decode(b'\xe9\x00', 'UTF-16BE') == ('\ue900', lookup('utf-16be')) - assert decode(b'\x00\xe9', 'UTF-16LE') == ('\ue900', lookup('utf-16le')) - assert decode(b'\x00\xe9', 'UTF-16') == ('\ue900', lookup('utf-16le')) - - -def test_encode(): - assert encode('é', 'latin1') == b'\xe9' - assert encode('é', 'utf8') == b'\xc3\xa9' - assert encode('é', 'utf8') == b'\xc3\xa9' - assert encode('é', 'utf-16') == b'\xe9\x00' - assert encode('é', 'utf-16le') == b'\xe9\x00' - assert encode('é', 'utf-16be') == b'\x00\xe9' - - -def test_iter_decode(): - def iter_decode_to_string(input, fallback_encoding): - output, _encoding = iter_decode(input, fallback_encoding) - return ''.join(output) - assert iter_decode_to_string([], 'latin1') == '' - assert iter_decode_to_string([b''], 'latin1') == '' - assert iter_decode_to_string([b'\xe9'], 'latin1') == 'é' - assert iter_decode_to_string([b'hello'], 'latin1') == 'hello' - assert iter_decode_to_string([b'he', b'llo'], 'latin1') == 'hello' - assert iter_decode_to_string([b'hell', b'o'], 'latin1') == 'hello' - assert iter_decode_to_string([b'\xc3\xa9'], 'latin1') == 'é' - assert iter_decode_to_string([b'\xEF\xBB\xBF\xc3\xa9'], 'latin1') == 'é' - assert iter_decode_to_string([ - b'\xEF\xBB\xBF', b'\xc3', b'\xa9'], 'latin1') == 'é' - assert iter_decode_to_string([ - b'\xEF\xBB\xBF', b'a', b'\xc3'], 'latin1') == 'a\uFFFD' - assert iter_decode_to_string([ - b'', b'\xEF', b'', b'', b'\xBB\xBF\xc3', b'\xa9'], 'latin1') == 'é' - assert iter_decode_to_string([b'\xEF\xBB\xBF'], 'latin1') == '' - assert iter_decode_to_string([b'\xEF\xBB'], 'latin1') == 'ï»' - assert iter_decode_to_string([b'\xFE\xFF\x00\xe9'], 'latin1') == 'é' - assert iter_decode_to_string([b'\xFF\xFE\xe9\x00'], 'latin1') == 'é' - assert iter_decode_to_string([ - b'', b'\xFF', b'', b'', b'\xFE\xe9', b'\x00'], 'latin1') == 'é' - assert iter_decode_to_string([ - b'', b'h\xe9', b'llo'], 'x-user-defined') == 'h\uF7E9llo' - - -def test_iter_encode(): - assert b''.join(iter_encode([], 'latin1')) == b'' - assert b''.join(iter_encode([''], 'latin1')) == b'' - assert b''.join(iter_encode(['é'], 'latin1')) == b'\xe9' - assert b''.join(iter_encode(['', 'é', '', ''], 'latin1')) == b'\xe9' - assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16')) == b'\xe9\x00' - assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16le')) == b'\xe9\x00' - assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16be')) == b'\x00\xe9' - assert b''.join(iter_encode([ - '', 'h\uF7E9', '', 'llo'], 'x-user-defined')) == b'h\xe9llo' - - -def test_x_user_defined(): - encoded = b'2,\x0c\x0b\x1aO\xd9#\xcb\x0f\xc9\xbbt\xcf\xa8\xca' - decoded = '2,\x0c\x0b\x1aO\uf7d9#\uf7cb\x0f\uf7c9\uf7bbt\uf7cf\uf7a8\uf7ca' - encoded = b'aa' - decoded = 'aa' - assert decode(encoded, 'x-user-defined') == (decoded, lookup('x-user-defined')) - assert encode(decoded, 'x-user-defined') == encoded diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/x_user_defined.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/x_user_defined.py deleted file mode 100644 index f0daa11a..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/_vendor/webencodings/x_user_defined.py +++ /dev/null @@ -1,325 +0,0 @@ -# coding: utf8 -""" - - webencodings.x_user_defined - ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - An implementation of the x-user-defined encoding. - - :copyright: Copyright 2012 by Simon Sapin - :license: BSD, see LICENSE for details. - -""" - -from __future__ import unicode_literals - -import codecs - - -### Codec APIs - -class Codec(codecs.Codec): - - def encode(self, input, errors='strict'): - return codecs.charmap_encode(input, errors, encoding_table) - - def decode(self, input, errors='strict'): - return codecs.charmap_decode(input, errors, decoding_table) - - -class IncrementalEncoder(codecs.IncrementalEncoder): - def encode(self, input, final=False): - return codecs.charmap_encode(input, self.errors, encoding_table)[0] - - -class IncrementalDecoder(codecs.IncrementalDecoder): - def decode(self, input, final=False): - return codecs.charmap_decode(input, self.errors, decoding_table)[0] - - -class StreamWriter(Codec, codecs.StreamWriter): - pass - - -class StreamReader(Codec, codecs.StreamReader): - pass - - -### encodings module API - -codec_info = codecs.CodecInfo( - name='x-user-defined', - encode=Codec().encode, - decode=Codec().decode, - incrementalencoder=IncrementalEncoder, - incrementaldecoder=IncrementalDecoder, - streamreader=StreamReader, - streamwriter=StreamWriter, -) - - -### Decoding Table - -# Python 3: -# for c in range(256): print(' %r' % chr(c if c < 128 else c + 0xF700)) -decoding_table = ( - '\x00' - '\x01' - '\x02' - '\x03' - '\x04' - '\x05' - '\x06' - '\x07' - '\x08' - '\t' - '\n' - '\x0b' - '\x0c' - '\r' - '\x0e' - '\x0f' - '\x10' - '\x11' - '\x12' - '\x13' - '\x14' - '\x15' - '\x16' - '\x17' - '\x18' - '\x19' - '\x1a' - '\x1b' - '\x1c' - '\x1d' - '\x1e' - '\x1f' - ' ' - '!' - '"' - '#' - '$' - '%' - '&' - "'" - '(' - ')' - '*' - '+' - ',' - '-' - '.' - '/' - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - ':' - ';' - '<' - '=' - '>' - '?' - '@' - 'A' - 'B' - 'C' - 'D' - 'E' - 'F' - 'G' - 'H' - 'I' - 'J' - 'K' - 'L' - 'M' - 'N' - 'O' - 'P' - 'Q' - 'R' - 'S' - 'T' - 'U' - 'V' - 'W' - 'X' - 'Y' - 'Z' - '[' - '\\' - ']' - '^' - '_' - '`' - 'a' - 'b' - 'c' - 'd' - 'e' - 'f' - 'g' - 'h' - 'i' - 'j' - 'k' - 'l' - 'm' - 'n' - 'o' - 'p' - 'q' - 'r' - 's' - 't' - 'u' - 'v' - 'w' - 'x' - 'y' - 'z' - '{' - '|' - '}' - '~' - '\x7f' - '\uf780' - '\uf781' - '\uf782' - '\uf783' - '\uf784' - '\uf785' - '\uf786' - '\uf787' - '\uf788' - '\uf789' - '\uf78a' - '\uf78b' - '\uf78c' - '\uf78d' - '\uf78e' - '\uf78f' - '\uf790' - '\uf791' - '\uf792' - '\uf793' - '\uf794' - '\uf795' - '\uf796' - '\uf797' - '\uf798' - '\uf799' - '\uf79a' - '\uf79b' - '\uf79c' - '\uf79d' - '\uf79e' - '\uf79f' - '\uf7a0' - '\uf7a1' - '\uf7a2' - '\uf7a3' - '\uf7a4' - '\uf7a5' - '\uf7a6' - '\uf7a7' - '\uf7a8' - '\uf7a9' - '\uf7aa' - '\uf7ab' - '\uf7ac' - '\uf7ad' - '\uf7ae' - '\uf7af' - '\uf7b0' - '\uf7b1' - '\uf7b2' - '\uf7b3' - '\uf7b4' - '\uf7b5' - '\uf7b6' - '\uf7b7' - '\uf7b8' - '\uf7b9' - '\uf7ba' - '\uf7bb' - '\uf7bc' - '\uf7bd' - '\uf7be' - '\uf7bf' - '\uf7c0' - '\uf7c1' - '\uf7c2' - '\uf7c3' - '\uf7c4' - '\uf7c5' - '\uf7c6' - '\uf7c7' - '\uf7c8' - '\uf7c9' - '\uf7ca' - '\uf7cb' - '\uf7cc' - '\uf7cd' - '\uf7ce' - '\uf7cf' - '\uf7d0' - '\uf7d1' - '\uf7d2' - '\uf7d3' - '\uf7d4' - '\uf7d5' - '\uf7d6' - '\uf7d7' - '\uf7d8' - '\uf7d9' - '\uf7da' - '\uf7db' - '\uf7dc' - '\uf7dd' - '\uf7de' - '\uf7df' - '\uf7e0' - '\uf7e1' - '\uf7e2' - '\uf7e3' - '\uf7e4' - '\uf7e5' - '\uf7e6' - '\uf7e7' - '\uf7e8' - '\uf7e9' - '\uf7ea' - '\uf7eb' - '\uf7ec' - '\uf7ed' - '\uf7ee' - '\uf7ef' - '\uf7f0' - '\uf7f1' - '\uf7f2' - '\uf7f3' - '\uf7f4' - '\uf7f5' - '\uf7f6' - '\uf7f7' - '\uf7f8' - '\uf7f9' - '\uf7fa' - '\uf7fb' - '\uf7fc' - '\uf7fd' - '\uf7fe' - '\uf7ff' -) - -### Encoding table -encoding_table = codecs.charmap_build(decoding_table) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/basecommand.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/basecommand.py deleted file mode 100644 index 54c67067..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/basecommand.py +++ /dev/null @@ -1,337 +0,0 @@ -"""Base Command class, and related routines""" -from __future__ import absolute_import - -import logging -import os -import sys -import optparse -import warnings - -from pip import cmdoptions -from pip.index import PackageFinder -from pip.locations import running_under_virtualenv -from pip.download import PipSession -from pip.exceptions import (BadCommand, InstallationError, UninstallationError, - CommandError, PreviousBuildDirError) - -from pip.compat import logging_dictConfig -from pip.baseparser import ConfigOptionParser, UpdatingDefaultsHelpFormatter -from pip.req import InstallRequirement, parse_requirements -from pip.status_codes import ( - SUCCESS, ERROR, UNKNOWN_ERROR, VIRTUALENV_NOT_FOUND, - PREVIOUS_BUILD_DIR_ERROR, -) -from pip.utils import deprecation, get_prog, normalize_path -from pip.utils.logging import IndentingFormatter -from pip.utils.outdated import pip_version_check - - -__all__ = ['Command'] - - -logger = logging.getLogger(__name__) - - -class Command(object): - name = None - usage = None - hidden = False - log_streams = ("ext://sys.stdout", "ext://sys.stderr") - - def __init__(self, isolated=False): - parser_kw = { - 'usage': self.usage, - 'prog': '%s %s' % (get_prog(), self.name), - 'formatter': UpdatingDefaultsHelpFormatter(), - 'add_help_option': False, - 'name': self.name, - 'description': self.__doc__, - 'isolated': isolated, - } - - 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 _build_session(self, options, retries=None, timeout=None): - 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, - insecure_hosts=options.trusted_hosts, - ) - - # 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 - - def parse_args(self, args): - # factored out for testability - return self.parser.parse_args(args) - - def main(self, args): - options, args = self.parse_args(args) - - if options.quiet: - if options.quiet == 1: - level = "WARNING" - if options.quiet == 2: - level = "ERROR" - else: - level = "CRITICAL" - elif options.verbose: - level = "DEBUG" - else: - level = "INFO" - - # The root logger should match the "console" level *unless* we - # specified "--log" to send debug logs to a file. - root_level = level - if options.log: - root_level = "DEBUG" - - logging_dictConfig({ - "version": 1, - "disable_existing_loggers": False, - "filters": { - "exclude_warnings": { - "()": "pip.utils.logging.MaxLevelFilter", - "level": logging.WARNING, - }, - }, - "formatters": { - "indent": { - "()": IndentingFormatter, - "format": "%(message)s", - }, - }, - "handlers": { - "console": { - "level": level, - "class": "pip.utils.logging.ColorizedStreamHandler", - "stream": self.log_streams[0], - "filters": ["exclude_warnings"], - "formatter": "indent", - }, - "console_errors": { - "level": "WARNING", - "class": "pip.utils.logging.ColorizedStreamHandler", - "stream": self.log_streams[1], - "formatter": "indent", - }, - "user_log": { - "level": "DEBUG", - "class": "pip.utils.logging.BetterRotatingFileHandler", - "filename": options.log or "/dev/null", - "delay": True, - "formatter": "indent", - }, - }, - "root": { - "level": root_level, - "handlers": list(filter(None, [ - "console", - "console_errors", - "user_log" if options.log else None, - ])), - }, - # Disable any logging besides WARNING unless we have DEBUG level - # logging enabled. These use both pip._vendor and the bare names - # for the case where someone unbundles our libraries. - "loggers": dict( - ( - name, - { - "level": ( - "WARNING" - if level in ["INFO", "ERROR"] - else "DEBUG" - ), - }, - ) - for name in ["pip._vendor", "distlib", "requests", "urllib3"] - ), - }) - - if sys.version_info[:2] == (2, 6): - warnings.warn( - "Python 2.6 is no longer supported by the Python core team, " - "please upgrade your Python. A future version of pip will " - "drop support for Python 2.6", - deprecation.Python26DeprecationWarning - ) - - # TODO: try to get these passing down from the command? - # without resorting to os.environ to hold these. - - 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: - # 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('ERROR: %s', exc) - logger.debug('Exception information:', exc_info=True) - - return ERROR - except KeyboardInterrupt: - logger.critical('Operation cancelled by user') - logger.debug('Exception information:', exc_info=True) - - return ERROR - except: - logger.critical('Exception:', exc_info=True) - - return UNKNOWN_ERROR - finally: - # Check if we're using the latest version of pip available - if (not options.disable_pip_version_check and not - getattr(options, "no_index", False)): - with self._build_session( - options, - retries=0, - timeout=min(5, options.timeout)) as session: - pip_version_check(session) - - return SUCCESS - - -class RequirementCommand(Command): - - @staticmethod - def populate_requirement_set(requirement_set, args, options, finder, - session, name, wheel_cache): - """ - Marshal cmd line args into a requirement set. - """ - for filename in options.constraints: - for req in parse_requirements( - filename, - constraint=True, finder=finder, options=options, - session=session, wheel_cache=wheel_cache): - requirement_set.add_requirement(req) - - for req in args: - requirement_set.add_requirement( - InstallRequirement.from_line( - req, None, isolated=options.isolated_mode, - wheel_cache=wheel_cache - ) - ) - - for req in options.editables: - requirement_set.add_requirement( - InstallRequirement.from_editable( - req, - default_vcs=options.default_vcs, - isolated=options.isolated_mode, - wheel_cache=wheel_cache - ) - ) - - found_req_in_file = False - for filename in options.requirements: - for req in parse_requirements( - filename, - finder=finder, options=options, session=session, - wheel_cache=wheel_cache): - found_req_in_file = True - requirement_set.add_requirement(req) - # 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 found_req_in_file): - opts = {'name': name} - if options.find_links: - msg = ('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: - msg = ('You must give at least one requirement ' - 'to %(name)s (see "pip help %(name)s")' % opts) - logger.warning(msg) - - def _build_package_finder(self, options, session, - platform=None, python_versions=None, - abi=None, implementation=None): - """ - Create a package finder appropriate to this requirement command. - """ - index_urls = [options.index_url] + options.extra_index_urls - if options.no_index: - logger.debug('Ignoring indexes: %s', ','.join(index_urls)) - index_urls = [] - - return PackageFinder( - find_links=options.find_links, - format_control=options.format_control, - index_urls=index_urls, - trusted_hosts=options.trusted_hosts, - allow_all_prereleases=options.pre, - process_dependency_links=options.process_dependency_links, - session=session, - platform=platform, - versions=python_versions, - abi=abi, - implementation=implementation, - ) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/baseparser.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/baseparser.py deleted file mode 100644 index 2dd45330..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/baseparser.py +++ /dev/null @@ -1,293 +0,0 @@ -"""Base option parser setup""" -from __future__ import absolute_import - -import sys -import optparse -import os -import re -import textwrap -from distutils.util import strtobool - -from pip._vendor.six import string_types -from pip._vendor.six.moves import configparser -from pip.locations import ( - legacy_config_file, config_basename, running_under_virtualenv, - site_config_files -) -from pip.utils import appdirs, get_terminal_size - - -_environ_prefix_re = re.compile(r"^PIP_", re.I) - - -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""" - - isolated = False - - def __init__(self, *args, **kwargs): - self.config = configparser.RawConfigParser() - self.name = kwargs.pop('name') - self.isolated = kwargs.pop("isolated", False) - self.files = self.get_config_files() - if self.files: - self.config.read(self.files) - assert self.name - optparse.OptionParser.__init__(self, *args, **kwargs) - - def get_config_files(self): - # the files returned by this method will be parsed in order with the - # first files listed being overridden by later files in standard - # ConfigParser fashion - config_file = os.environ.get('PIP_CONFIG_FILE', False) - if config_file == os.devnull: - return [] - - # at the base we have any site-wide configuration - files = list(site_config_files) - - # per-user configuration next - if not self.isolated: - if config_file and os.path.exists(config_file): - files.append(config_file) - else: - # This is the legacy config file, we consider it to be a lower - # priority than the new file location. - files.append(legacy_config_file) - - # This is the new config file, we consider it to be a higher - # priority than the legacy file. - files.append( - os.path.join( - appdirs.user_config_dir("pip"), - config_basename, - ) - ) - - # finally virtualenv configuration first trumping others - if running_under_virtualenv(): - venv_config_file = os.path.join( - sys.prefix, - config_basename, - ) - if os.path.exists(venv_config_file): - files.append(venv_config_file) - - return files - - 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 _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).""" - # Then go and look for the other sources of configuration: - config = {} - # 1. config files - for section in ('global', self.name): - config.update( - self.normalize_keys(self.get_config_section(section)) - ) - # 2. environmental variables - if not self.isolated: - config.update(self.normalize_keys(self.get_environ_vars())) - # Accumulate complex default state. - self.values = optparse.Values(self.defaults) - late_eval = set() - # Then set the options with those values - for key, val in config.items(): - # ignore empty values - if not val: - continue - - 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'): - val = strtobool(val) - 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 normalize_keys(self, items): - """Return a config dictionary with normalized keys regardless of - whether the keys were specified in environment variables or in config - files""" - normalized = {} - for key, val in items: - key = key.replace('_', '-') - if not key.startswith('--'): - key = '--%s' % key # only prefer long opts - normalized[key] = val - return normalized - - def get_config_section(self, name): - """Get a section of a configuration""" - if self.config.has_section(name): - return self.config.items(name) - return [] - - def get_environ_vars(self): - """Returns a generator with all environmental vars with prefix PIP_""" - for key, val in os.environ.items(): - if _environ_prefix_re.search(key): - yield (_environ_prefix_re.sub("", key).lower(), val) - - 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) - - 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(2, "%s\n" % msg) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/cmdoptions.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/cmdoptions.py deleted file mode 100644 index f71488cd..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/cmdoptions.py +++ /dev/null @@ -1,633 +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. - -""" -from __future__ import absolute_import - -from functools import partial -from optparse import OptionGroup, SUPPRESS_HELP, Option -import warnings - -from pip.index import ( - FormatControl, fmt_ctl_handle_mutual_exclude, fmt_ctl_no_binary, - fmt_ctl_no_use_wheel) -from pip.models import PyPI -from pip.locations import USER_CACHE_DIR, src_prefix -from pip.utils.hashes import STRONG_HASHES - - -def make_option_group(group, parser): - """ - 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 resolve_wheel_no_use_binary(options): - if not options.use_wheel: - control = options.format_control - fmt_ctl_no_use_wheel(control) - - -def check_install_build_global(options, check_options=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 - fmt_ctl_no_binary(control) - warnings.warn( - 'Disabling all use of wheels due to the use of --build-options ' - '/ --global-options / --install-options.', stacklevel=2) - - -########### -# options # -########### - -help_ = partial( - Option, - '-h', '--help', - dest='help', - action='help', - help='Show help.') - -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." - ), -) - -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) - -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.' -) - -version = partial( - Option, - '-V', '--version', - dest='version', - action='store_true', - help='Show version and exit.') - -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).') -) - -log = partial( - Option, - "--log", "--log-file", "--local-log", - dest="log", - metavar="path", - help="Path to a verbose appending log." -) - -no_input = partial( - Option, - # Don't ask for input - '--no-input', - dest='no_input', - action='store_true', - default=False, - help=SUPPRESS_HELP) - -proxy = partial( - Option, - '--proxy', - dest='proxy', - type='str', - default='', - help="Specify a proxy in the form [user:passwd@]proxy.server:port.") - -retries = partial( - Option, - '--retries', - dest='retries', - type='int', - default=5, - help="Maximum number of retries each connection should attempt " - "(default %default times).") - -timeout = partial( - Option, - '--timeout', '--default-timeout', - metavar='sec', - dest='timeout', - type='float', - default=15, - help='Set the socket timeout (default %default seconds).') - -default_vcs = partial( - Option, - # The default version control system for editables, e.g. 'svn' - '--default-vcs', - dest='default_vcs', - type='str', - default='', - help=SUPPRESS_HELP) - -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) - - -def exists_action(): - 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.") - -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.") - -index_url = partial( - Option, - '-i', '--index-url', '--pypi-url', - dest='index_url', - metavar='URL', - default=PyPI.simple_url, - help="Base URL of 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.") - - -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).') - - -def find_links(): - 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 allow_external(): - return Option( - "--allow-external", - dest="allow_external", - action="append", - default=[], - metavar="PACKAGE", - help=SUPPRESS_HELP, - ) - - -allow_all_external = partial( - Option, - "--allow-all-external", - dest="allow_all_external", - action="store_true", - default=False, - help=SUPPRESS_HELP, -) - - -def trusted_host(): - return Option( - "--trusted-host", - dest="trusted_hosts", - action="append", - metavar="HOSTNAME", - default=[], - help="Mark this host as trusted, even though it does not have valid " - "or any HTTPS.", - ) - - -# Remove after 7.0 -no_allow_external = partial( - Option, - "--no-allow-external", - dest="allow_all_external", - action="store_false", - default=False, - help=SUPPRESS_HELP, -) - - -# Remove --allow-insecure after 7.0 -def allow_unsafe(): - return Option( - "--allow-unverified", "--allow-insecure", - dest="allow_unverified", - action="append", - default=[], - metavar="PACKAGE", - help=SUPPRESS_HELP, - ) - -# Remove after 7.0 -no_allow_unsafe = partial( - Option, - "--no-allow-insecure", - dest="allow_all_insecure", - action="store_false", - default=False, - help=SUPPRESS_HELP -) - -# Remove after 1.5 -process_dependency_links = partial( - Option, - "--process-dependency-links", - dest="process_dependency_links", - action="store_true", - default=False, - help="Enable the processing of dependency links.", -) - - -def constraints(): - 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(): - 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(): - 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=src_prefix, - help='Directory to check out editable projects into. ' - 'The default in a virtualenv is "/src". ' - 'The default for global installs is "/src".' -) - -# XXX: deprecated, remove in 9.0 -use_wheel = partial( - Option, - '--use-wheel', - dest='use_wheel', - action='store_true', - default=True, - help=SUPPRESS_HELP, -) - -# XXX: deprecated, remove in 9.0 -no_use_wheel = partial( - Option, - '--no-use-wheel', - dest='use_wheel', - action='store_false', - default=True, - help=('Do not Find and prefer wheel archives when searching indexes and ' - 'find-links locations. DEPRECATED in favour of --no-binary.'), -) - - -def _get_format_control(values, option): - """Get a format_control object.""" - return getattr(values, option.dest) - - -def _handle_no_binary(option, opt_str, value, parser): - existing = getattr(parser.values, option.dest) - fmt_ctl_handle_mutual_exclude( - value, existing.no_binary, existing.only_binary) - - -def _handle_only_binary(option, opt_str, value, parser): - existing = getattr(parser.values, option.dest) - fmt_ctl_handle_mutual_exclude( - value, existing.only_binary, existing.no_binary) - - -def no_binary(): - return Option( - "--no-binary", dest="format_control", action="callback", - callback=_handle_no_binary, type="str", - default=FormatControl(set(), set()), - 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. Note that some " - "packages are tricky to compile and may fail to install when " - "this option is used on them.") - - -def only_binary(): - return Option( - "--only-binary", dest="format_control", action="callback", - callback=_handle_only_binary, type="str", - default=FormatControl(set(), set()), - 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.") - - -cache_dir = partial( - Option, - "--cache-dir", - dest="cache_dir", - default=USER_CACHE_DIR, - metavar="dir", - help="Store the cache data in ." -) - -no_cache = partial( - Option, - "--no-cache-dir", - dest="cache_dir", - action="store_false", - help="Disable the cache.", -) - -no_deps = partial( - Option, - '--no-deps', '--no-dependencies', - dest='ignore_dependencies', - action='store_true', - default=False, - help="Don't install package dependencies.") - -build_dir = partial( - Option, - '-b', '--build', '--build-dir', '--build-directory', - dest='build_dir', - metavar='dir', - help='Directory to unpack packages into and build in.' -) - -ignore_requires_python = partial( - Option, - '--ignore-requires-python', - dest='ignore_requires_python', - action='store_true', - help='Ignore the Requires-Python information.') - -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.") - -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.") - -no_clean = partial( - Option, - '--no-clean', - action='store_true', - default=False, - help="Don't clean up build directories.") - -pre = partial( - Option, - '--pre', - action='store_true', - default=False, - help="Include pre-release and development versions. By default, " - "pip only finds stable versions.") - -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.") - -# Deprecated, Remove later -always_unzip = partial( - Option, - '-Z', '--always-unzip', - dest='always_unzip', - action='store_true', - help=SUPPRESS_HELP, -) - - -def _merge_hash(option, opt_str, value, parser): - """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=_merge_hash, - type='string', - help="Verify that the package's archive matches this " - 'hash before installing. Example: --hash=sha256:abcdef...') - - -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.') - - -########## -# groups # -########## - -general_group = { - 'name': 'General Options', - 'options': [ - help_, - isolated_mode, - require_virtualenv, - verbose, - version, - quiet, - log, - no_input, - proxy, - retries, - timeout, - default_vcs, - skip_requirements_regex, - exists_action, - trusted_host, - cert, - client_cert, - cache_dir, - no_cache, - disable_pip_version_check, - ] -} - -non_deprecated_index_group = { - 'name': 'Package Index Options', - 'options': [ - index_url, - extra_index_url, - no_index, - find_links, - process_dependency_links, - ] -} - -index_group = { - 'name': 'Package Index Options (including deprecated options)', - 'options': non_deprecated_index_group['options'] + [ - allow_external, - allow_all_external, - no_allow_external, - allow_unsafe, - no_allow_unsafe, - ] -} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__init__.py deleted file mode 100644 index 62c64ebe..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__init__.py +++ /dev/null @@ -1,86 +0,0 @@ -""" -Package containing all pip commands -""" -from __future__ import absolute_import - -from pip.commands.completion import CompletionCommand -from pip.commands.download import DownloadCommand -from pip.commands.freeze import FreezeCommand -from pip.commands.hash import HashCommand -from pip.commands.help import HelpCommand -from pip.commands.list import ListCommand -from pip.commands.check import CheckCommand -from pip.commands.search import SearchCommand -from pip.commands.show import ShowCommand -from pip.commands.install import InstallCommand -from pip.commands.uninstall import UninstallCommand -from pip.commands.wheel import WheelCommand - - -commands_dict = { - CompletionCommand.name: CompletionCommand, - FreezeCommand.name: FreezeCommand, - HashCommand.name: HashCommand, - HelpCommand.name: HelpCommand, - SearchCommand.name: SearchCommand, - ShowCommand.name: ShowCommand, - InstallCommand.name: InstallCommand, - UninstallCommand.name: UninstallCommand, - DownloadCommand.name: DownloadCommand, - ListCommand.name: ListCommand, - CheckCommand.name: CheckCommand, - WheelCommand.name: WheelCommand, -} - - -commands_order = [ - InstallCommand, - DownloadCommand, - UninstallCommand, - FreezeCommand, - ListCommand, - ShowCommand, - CheckCommand, - SearchCommand, - WheelCommand, - HashCommand, - CompletionCommand, - HelpCommand, -] - - -def get_summaries(ordered=True): - """Yields sorted (command name, command summary) tuples.""" - - if ordered: - cmditems = _sort_commands(commands_dict, commands_order) - else: - cmditems = commands_dict.items() - - for name, command_class in cmditems: - yield (name, command_class.summary) - - -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 - - -def _sort_commands(cmddict, order): - def keyfn(key): - try: - return order.index(key[1]) - except ValueError: - # unordered items should come last - return 0xff - - return sorted(cmddict.items(), key=keyfn) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 119cee19ee1a783774acfdf337e5565e4536badd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2080 zcmZux-EP}96ecOzRuoxv9LI6owDShEtAWLC(RFKvq9~BA*nlA`kgVOb4T2)lwh~J6 zNV#bO2fIjs?Pd?M*BJH`y4_V?VK>_$9Vd1h3H)?;4u8b&d^``!W&6j!e)ayg5c&tr zJPoj)L6dheLKJz3VoErUiAS)q4Q|AyXKLHzg}CSywO!z)*zzoG7x_YLd$zVqd@*)B zN81)J$FApUdx77GD_%w0HeZUXURB$Rd^xUpHElb5C9ZpQZI}6K-0&LOcKKS|^qLqk zbN?nYnFVMu8_;GBpu?(wRaOJ6u{vO#H2@o|2v}q;pvx+N71ji7Mvk`*V~Q}sf=CVg zRn~;nOy=|*?-pI96}ohWz1y@(m(P&*0j<#$__k<$2eli=ckGuzco6hiD@>Cth>|Gj zw*t;v!)OSuI1Umj?Q_L*8|OEIJ(==R#{4KArXmB^(pDM|Im@Cn0ZR>64iKBKa z8v&cLv)wM_uCM0!7ZYS&o?1SQ!Yp?$yQ!c|vCK=;rOdpf1B~WY7}H7ARNG#z zF#zxEE{{Hh|>*5x&Pqd5SEIDx=nww>-!+C%=bIPqrBW_nLqi@h{;bC&o%%u zOzaSgxL7oycbO2C4Ar)v$&o zG!v3hIBssuu-^(sS-KIXLa;FF2$g;%X!UO)PbKr?APWafzEH_1(Wuws(Vn;o!}0=8 z519}ZWt#`=NVW}8ht4GGPNq+fuGyWynwn74r;p-@2jVij&mbZl07Nte#Kaa6E$D|t zdErqMOtmT3q4OK+VMWE6bwV;l1U^M@XyXq8hc&k^`BNubgtiP#-UB#te@FW;LGg16 zGBrWm2e$YKgLI)#!SwH;gu)`m_PLsT{vSY_fW#8Y-sbkJfREUhLZku+GvNI2DQL0H z9J2uaUh=Kl6KXX=m|z#Xe89=QQ#cTXf^hD`>KZoik6l-~PZXJ+g zcpw&3V18?<>!DD$=$)-46h@)4pV#J=x~PUiX)dqNg+|j-DatB1{|kqzW(pSq6UD1L zAeI!UJF69|S)Wn8%9GI2x1Pi)9dY(lF)LpJs2lI#YhSa7uY2tR0V%!z7ERl+-2VYo CgdQsZ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/check.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/check.cpython-36.pyc deleted file mode 100644 index cdd4f44adb04ca464f5e8a8d0bfc97c4b7737464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1321 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 W&nn7BT9#uvIQ{tpYcN}tX5~Ml7hO;Q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/freeze.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/freeze.cpython-36.pyc deleted file mode 100644 index a785d67773143a5b470029d6e9803511dd684aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2634 zcmb7GTaV+m71q^~WqW4!o+}`6<3wg>%+Oy-$TV;?wJcp#tJrKfK8r+iE{M7By=nO^dRrxqJfNKuE%hB>2&q+oVT=7hw{Tkn~?zN&iR7vyuoV4Akhc z(Ppb&_dJU6eA&vTm2puCnK4F5++_Jlwx9y6nA2x%!D&e=DdKs}%S=uqbL`cwjMJDw zeVoLBEY34QC%BDPqL9TYjRm{}Va*BUQ*)O4u%o+c=s13_;q@Z^wr*rmSK_oV=SKE^(V_!lN=NqcQwIxA;wubrQOnYFcYS01s6LtNr5 zEaGbyz646P5;&4XMgm;CCK-`EvQG}k4RVv*df9t*;x@TsxOc$?^0xQfBX5BFCV6Y+ z%ig7Z*CKDf^o%rEh2$N*>(bG9M6lj{(m4~}jV6`v@z={j#GBY4v{ige z<5nP?Wy@sI;3ip=R7}Ud@(2|YO659^Dj;;8VUG$*Dznp!D{o0z1FPoUa59+}6`8Q2 zIsy1Koo;CN=|BF~eT+$iE!G09%N5oRO(k#XF_^9@o@3ohG?(drZzWHMf6B3`iiIAd{^=TwNpnACAq%dIoE zLUyj<{i|e|jy-+=c<~#0x~Zqzn7ZC%0(Zf9J$Hv+R_y%hwkxZk%++lOn%*}-=Fn;9 zPbSDn_{U^z3c5Rdv{6W$6pgkTA>X-X#}6OH?}^SijK}VdT3REnGh^IWzGxdH3M#9m z!ZaqXHA=P{tirg z8$&$8WZ5^Jp6%Jr_7}RZt#)J~=vTY!Yx=ezG4~-`&0lOV>sx+q5ujYIxhEef{Hh5t^k_BM?y%{RL8DVThwC8KSsotzo) zdMHYi|3Qn*^hdqN!u@F5PG2|XFP zS7jwd?nS9Kre&HQrs*@3rmZAMQ&Q((dzzvAR-iwtK(xR-KUV`*FH(Fz(5w^&_52gO zK#jIZms7^l^xBNE&3~^I(AJpzH@$HWtI&u3jjKt)^wD)hBnuYlxu*G_q4Y2 zR<@|BDR(sgNKXb45t4F>glsZtLaz2T;~3us+bre!`%T@^+!{p)4F`>Xy7B!cmVGTV ls52lkI5GNMo3Rs;@Z*i+{;F%6&}De&gieUan4jypzW~s|?G^w4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/hash.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/hash.cpython-36.pyc deleted file mode 100644 index 8492c51de66f1e45dc601c1d8f9b2c029adeb381..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1975 zcmZ8hUvCpf5Z~SVYsXGfK#0;-JxJ5m60t$FDnWpXfRa{KP?M-shtTPKySC3c-(7b1 z2v|=0U?iSOKS#etKgPcHsb8T_ojE%Jbx%8q!~7A-OW}e zt*|v|hiyuPHC`2Ka~iHcCfwuxYr=iu&aLnR-r&vGBs|C2KIyFd12K>eHEVHS6RqsT4~oeo&N-;gqrJT+d!VdH5%VY+Rr#UnFw_3-{?AYLzCU;r?cCqrG41_> zy(hbm>&2t}1n)i_)>2Vlfg(sqIe|2_6M4*d+7ho?%tmA$r>YLJB={U>O@?vA- z4b#h;r7VWQv!c{#k*nvy9lYUQ(Cv1o8>hjdr%)K||AJKAgf4MHyqYlAV5%QLXrk$i z%-NXD=#0IEdYO^2HMTkBj9VJ;(=K8+_Ovsn7lHNPz1qhgH@J_!bB1+-NbXMARy|VOP~-x`-&9j}E$BGL=0a)XC8HuugfecN zVEV@6Vh~rE25>}HO3ba(G>)oDA*By1<3~}Nr#gy^pG(gP<69Yl;h zF4Ek%Wh|AD<~+bJq{ai_77b-ll^x62N@N3L$8x9)J3NMhZA4L$#Y#odpX6WOD`om3 z)}r?!mc2odaUoT2oA+*QkGHRXy`A6SIUgQ!b=;3$4ZkUGU57Eudk4KTEw}nrn(-~c zv*^ana)hROCW|gnJ*2f;zLMu4+>c?Z3m^zRM_p=DcJ{5)>4hC|T^4fp6oCXO$Kk+4 za2~)^4?)bBx(Ec4G1Uxc1nRZDPiA!NoLDcf&e%ip{PGFVKlV7C*)vP~DCcZ$Q*w0m z>4J2&J6+#Yx0{PnzYFT7>NMmQ@(TgGGspI{rdRfau4EqQ(+=e6 z5E^XpydmIS!(@NA;~Kjt1@sw`k)?fO<>FXkRK~4J4ux(SBk^)^8c5oNoduiT@>!G( zbav_o{T&ty5H?`zCQOAX64nBKR_P@w(cU?aTns7*6S$BFh`a&9cvvQBK9ry0Y7LsC z+mDr4Hi@**x{g+OJ$0p`q=2WRE;G|WbEVTvEmEl6>U9_M12=pK>LLmZR<6{QlU^}5;>~W z@G^akK12_D?WwQOQ)it-;?S{XygTciZ@!uF$;O8J`RBLbmyXbH^h^v`UxJErFceXo zpcDrftF@MBsUGO55g5&0Pt4Q`ER5bFYEbhDQIqL&J+P_OM_v05L_l3EH^YI*ld5DS zPK%tET}|4(JWa!lO1uA|*SqTX;j`A#cg1pCG0z)y>2-#<1By3R#ox#_Ql?`lZKN4 z^Co%ar7XMq8iX$lZIf)t+ex^jPnfo67onq3+xP2O0qCz(u^u5gw#_JNqd>X55#u> z;4k$d=6zT)|32jYZJtoZg?~o<)3edp(d)D9m}WE@Q}Hk$lju!xdIS<>{(B$z91N;B zp$Cj6O!`s!So7Zrq zx0tm5zs8A<`uz&1sb|ShooIT7`*X2s@h)nh#-NEGSnZjF_}V1-}fR@Lhmy z2tP9~l+OZVg9;an1DP0_(#Ef_0r9pfD-IZ3{ZevM^>Gjiwj{~bU@tn?R!8h{$QB)G dI@kny2C9nA6|!{B7gR3P;0cvSOWVRN{U1mnD4+lU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/install.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/install.cpython-36.pyc deleted file mode 100644 index 4b1fedfd8a983cfc1937020daf7d736abd31d275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9908 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/list.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/list.cpython-36.pyc deleted file mode 100644 index 2cd2b0e14b254872917bafaa20a98f209449143c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9737 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/search.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/search.cpython-36.pyc deleted file mode 100644 index b680ee75ed2421435c6ee740fb761e562cbb9b3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4216 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 QBjBw7l1uu+dHdGC0HNDUVgLXD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/uninstall.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/__pycache__/uninstall.cpython-36.pyc deleted file mode 100644 index 38eba66f430c1fd52562d8003c9e796bd80252e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2612 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 [package-index-options] ... - %prog [options] -r [package-index-options] ... - %prog [options] [-e] ... - %prog [options] [-e] ... - %prog [options] ...""" - - summary = 'Download packages.' - - 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.editable()) - 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.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( - '-d', '--dest', '--destination-dir', '--destination-directory', - dest='download_dir', - metavar='dir', - default=os.curdir, - help=("Download packages into ."), - ) - - cmd_opts.add_option( - '--platform', - dest='platform', - metavar='platform', - default=None, - help=("Only download wheels compatible with . " - "Defaults to the platform of the running system."), - ) - - cmd_opts.add_option( - '--python-version', - dest='python_version', - metavar='python_version', - default=None, - help=("Only download wheels compatible with Python " - "interpreter version . If not specified, then the " - "current system interpreter minor version is used. A major " - "version (e.g. '2') can be specified to match all " - "minor revs of that major version. A minor version " - "(e.g. '34') can also be specified."), - ) - - cmd_opts.add_option( - '--implementation', - dest='implementation', - metavar='implementation', - default=None, - help=("Only download 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."), - ) - - cmd_opts.add_option( - '--abi', - dest='abi', - metavar='abi', - default=None, - help=("Only download 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."), - ) - - index_opts = cmdoptions.make_option_group( - cmdoptions.non_deprecated_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 - - if options.python_version: - python_versions = [options.python_version] - else: - python_versions = None - - dist_restriction_set = any([ - options.python_version, - options.platform, - options.abi, - options.implementation, - ]) - binary_only = FormatControl(set(), set([':all:'])) - if dist_restriction_set and options.format_control != binary_only: - raise CommandError( - "--only-binary=:all: must be set and --no-binary must not " - "be set (or must be set to :none:) when restricting platform " - "and interpreter constraints using --python-version, " - "--platform, --abi, or --implementation." - ) - - options.src_dir = os.path.abspath(options.src_dir) - options.download_dir = normalize_path(options.download_dir) - - ensure_dir(options.download_dir) - - with self._build_session(options) as session: - finder = self._build_package_finder( - options=options, - session=session, - platform=options.platform, - python_versions=python_versions, - abi=options.abi, - implementation=options.implementation, - ) - 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 BuildDirectory(options.build_dir, - delete=build_delete) as build_dir: - - requirement_set = RequirementSet( - build_dir=build_dir, - src_dir=options.src_dir, - download_dir=options.download_dir, - ignore_installed=True, - ignore_dependencies=options.ignore_dependencies, - session=session, - isolated=options.isolated_mode, - require_hashes=options.require_hashes - ) - self.populate_requirement_set( - requirement_set, - args, - options, - finder, - session, - self.name, - None - ) - - if not requirement_set.has_requirements: - return - - requirement_set.prepare_files(finder) - - downloaded = ' '.join([ - req.name for req in requirement_set.successfully_downloaded - ]) - if downloaded: - logger.info( - 'Successfully downloaded %s', downloaded - ) - - # Clean up - if not options.no_clean: - requirement_set.cleanup_files() - - return requirement_set diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/freeze.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/freeze.py deleted file mode 100644 index c1987961..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/freeze.py +++ /dev/null @@ -1,87 +0,0 @@ -from __future__ import absolute_import - -import sys - -import pip -from pip.compat import stdlib_pkgs -from pip.basecommand import Command -from pip.operations.freeze import freeze -from pip.wheel import WheelCache - - -DEV_PKGS = ('pip', 'setuptools', 'distribute', 'wheel') - - -class FreezeCommand(Command): - """ - Output installed packages in requirements format. - - packages are listed in a case-insensitive sorted order. - """ - name = 'freeze' - usage = """ - %prog [options]""" - summary = 'Output installed packages in requirements format.' - 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( - '--all', - dest='freeze_all', - action='store_true', - help='Do not skip these packages in the output:' - ' %s' % ', '.join(DEV_PKGS)) - - self.parser.insert_option_group(0, self.cmd_opts) - - def run(self, options, args): - format_control = pip.index.FormatControl(set(), set()) - wheel_cache = WheelCache(options.cache_dir, format_control) - skip = set(stdlib_pkgs) - if not options.freeze_all: - skip.update(DEV_PKGS) - - freeze_kwargs = dict( - requirement=options.requirements, - find_links=options.find_links, - local_only=options.local, - user_only=options.user, - skip_regex=options.skip_requirements_regex, - isolated=options.isolated_mode, - wheel_cache=wheel_cache, - skip=skip) - - for line in freeze(**freeze_kwargs): - sys.stdout.write(line + '\n') diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/hash.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/hash.py deleted file mode 100644 index 27cca0bf..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/hash.py +++ /dev/null @@ -1,57 +0,0 @@ -from __future__ import absolute_import - -import hashlib -import logging -import sys - -from pip.basecommand import Command -from pip.status_codes import ERROR -from pip.utils import read_chunks -from pip.utils.hashes import FAVORITE_HASH, STRONG_HASHES - - -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. - - """ - name = 'hash' - usage = '%prog [options] ...' - summary = 'Compute hashes of package archives.' - - 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: - logger.info('%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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/help.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/help.py deleted file mode 100644 index 11722f1e..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/help.py +++ /dev/null @@ -1,35 +0,0 @@ -from __future__ import absolute_import - -from pip.basecommand import Command, SUCCESS -from pip.exceptions import CommandError - - -class HelpCommand(Command): - """Show help for commands""" - name = 'help' - usage = """ - %prog """ - summary = 'Show help for commands.' - - def run(self, options, args): - from pip.commands import commands_dict, 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 = commands_dict[cmd_name]() - command.parser.print_help() - - return SUCCESS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/install.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/install.py deleted file mode 100644 index 227c5264..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/install.py +++ /dev/null @@ -1,437 +0,0 @@ -from __future__ import absolute_import - -import logging -import operator -import os -import tempfile -import shutil -import warnings -try: - import wheel -except ImportError: - wheel = None - -from pip.req import RequirementSet -from pip.basecommand import RequirementCommand -from pip.locations import virtualenv_no_global, distutils_scheme -from pip.exceptions import ( - InstallationError, CommandError, PreviousBuildDirError, -) -from pip import cmdoptions -from pip.utils import ensure_dir, get_installed_version -from pip.utils.build import BuildDirectory -from pip.utils.deprecation import RemovedInPip10Warning -from pip.utils.filesystem import check_path_owner -from pip.wheel import WheelCache, WheelBuilder - - -logger = logging.getLogger(__name__) - - -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. - """ - name = 'install' - - usage = """ - %prog [options] [package-index-options] ... - %prog [options] -r [package-index-options] ... - %prog [options] [-e] ... - %prog [options] [-e] ... - %prog [options] ...""" - - summary = 'Install packages.' - - def __init__(self, *args, **kw): - super(InstallCommand, self).__init__(*args, **kw) - - cmd_opts = self.cmd_opts - - cmd_opts.add_option(cmdoptions.constraints()) - cmd_opts.add_option(cmdoptions.editable()) - cmd_opts.add_option(cmdoptions.requirements()) - cmd_opts.add_option(cmdoptions.build_dir()) - - 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.' - ) - - cmd_opts.add_option( - '-d', '--download', '--download-dir', '--download-directory', - dest='download_dir', - metavar='dir', - default=None, - help=("Download packages into instead of installing them, " - "regardless of what's already installed."), - ) - - 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='eager', - choices=['only-if-needed', 'eager'], - help='Determines how dependency upgrading should be handled. ' - '"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='When upgrading, 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 (reinstalling instead).') - - cmd_opts.add_option(cmdoptions.ignore_requires_python()) - cmd_opts.add_option(cmdoptions.no_deps()) - - cmd_opts.add_option(cmdoptions.install_options()) - cmd_opts.add_option(cmdoptions.global_options()) - - 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( - '--egg', - dest='as_egg', - action='store_true', - help="Install packages as eggs, not 'flat', like pip normally " - "does. This option is not about installing *from* eggs. " - "(WARNING: Because this option overrides pip's normal install" - " logic, requirements files may not behave as expected.)") - - 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( - "--compile", - action="store_true", - dest="compile", - default=True, - help="Compile py files to pyc", - ) - - cmd_opts.add_option( - "--no-compile", - action="store_false", - dest="compile", - help="Do not compile py files to pyc", - ) - - cmd_opts.add_option(cmdoptions.use_wheel()) - cmd_opts.add_option(cmdoptions.no_use_wheel()) - cmd_opts.add_option(cmdoptions.no_binary()) - cmd_opts.add_option(cmdoptions.only_binary()) - cmd_opts.add_option(cmdoptions.pre()) - 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): - cmdoptions.resolve_wheel_no_use_binary(options) - cmdoptions.check_install_build_global(options) - - if options.as_egg: - warnings.warn( - "--egg has been deprecated and will be removed in the future. " - "This flag is mutually exclusive with large parts of pip, and " - "actually using it invalidates pip's ability to manage the " - "installation process.", - RemovedInPip10Warning, - ) - - if options.allow_external: - warnings.warn( - "--allow-external has been deprecated and will be removed in " - "the future. Due to changes in the repository protocol, it no " - "longer has any effect.", - RemovedInPip10Warning, - ) - - if options.allow_all_external: - warnings.warn( - "--allow-all-external has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - if options.allow_unverified: - warnings.warn( - "--allow-unverified has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - if options.download_dir: - warnings.warn( - "pip install --download has been deprecated and will be " - "removed in the future. Pip now has a download command that " - "should be used instead.", - RemovedInPip10Warning, - ) - options.ignore_installed = True - - if options.build_dir: - options.build_dir = os.path.abspath(options.build_dir) - - 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=') - - temp_target_dir = None - if options.target_dir: - options.ignore_installed = True - temp_target_dir = tempfile.mkdtemp() - 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." - ) - install_options.append('--home=' + temp_target_dir) - - global_options = options.global_options or [] - - with self._build_session(options) as session: - - 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) - 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 BuildDirectory(options.build_dir, - delete=build_delete) as build_dir: - requirement_set = RequirementSet( - build_dir=build_dir, - src_dir=options.src_dir, - download_dir=options.download_dir, - upgrade=options.upgrade, - upgrade_strategy=options.upgrade_strategy, - as_egg=options.as_egg, - ignore_installed=options.ignore_installed, - ignore_dependencies=options.ignore_dependencies, - ignore_requires_python=options.ignore_requires_python, - force_reinstall=options.force_reinstall, - use_user_site=options.use_user_site, - target_dir=temp_target_dir, - session=session, - pycompile=options.compile, - isolated=options.isolated_mode, - wheel_cache=wheel_cache, - require_hashes=options.require_hashes, - ) - - self.populate_requirement_set( - requirement_set, args, options, finder, session, self.name, - wheel_cache - ) - - if not requirement_set.has_requirements: - return - - try: - if (options.download_dir or not wheel or not - options.cache_dir): - # on -d don't do complex things like building - # wheels, and don't try to build wheels when wheel is - # not installed. - requirement_set.prepare_files(finder) - else: - # build wheels before install. - wb = WheelBuilder( - requirement_set, - finder, - build_options=[], - global_options=[], - ) - # Ignore the result: a failed wheel will be - # installed from the sdist/vcs whatever. - wb.build(autobuilding=True) - - if not options.download_dir: - requirement_set.install( - install_options, - global_options, - root=options.root_path, - prefix=options.prefix_path, - ) - - possible_lib_locations = get_lib_location_guesses( - user=options.use_user_site, - home=temp_target_dir, - root=options.root_path, - prefix=options.prefix_path, - isolated=options.isolated_mode, - ) - reqs = sorted( - requirement_set.successfully_installed, - key=operator.attrgetter('name')) - items = [] - for req in reqs: - item = req.name - try: - installed_version = get_installed_version( - req.name, possible_lib_locations - ) - if installed_version: - item += '-' + installed_version - except Exception: - pass - items.append(item) - installed = ' '.join(items) - if installed: - logger.info('Successfully installed %s', installed) - else: - downloaded = ' '.join([ - req.name - for req in requirement_set.successfully_downloaded - ]) - if downloaded: - logger.info( - 'Successfully downloaded %s', downloaded - ) - except PreviousBuildDirError: - options.no_clean = True - raise - finally: - # Clean up - if not options.no_clean: - requirement_set.cleanup_files() - - if options.target_dir: - ensure_dir(options.target_dir) - - # Checking both purelib and platlib directories for installed - # packages to be moved to target directory - lib_dir_list = [] - - purelib_dir = distutils_scheme('', home=temp_target_dir)['purelib'] - platlib_dir = distutils_scheme('', home=temp_target_dir)['platlib'] - - 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) - - for lib_dir in lib_dir_list: - for item in os.listdir(lib_dir): - target_item_dir = os.path.join(options.target_dir, item) - if os.path.exists(target_item_dir): - if not options.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 - ) - shutil.rmtree(temp_target_dir) - return requirement_set - - -def get_lib_location_guesses(*args, **kwargs): - scheme = distutils_scheme('', *args, **kwargs) - return [scheme['purelib'], scheme['platlib']] diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/list.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/list.py deleted file mode 100644 index 6f6995d7..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/list.py +++ /dev/null @@ -1,337 +0,0 @@ -from __future__ import absolute_import - -import json -import logging -import warnings -try: - from itertools import zip_longest -except ImportError: - from itertools import izip_longest as zip_longest - -from pip._vendor import six - -from pip.basecommand import Command -from pip.exceptions import CommandError -from pip.index import PackageFinder -from pip.utils import ( - get_installed_distributions, dist_is_editable) -from pip.utils.deprecation import RemovedInPip10Warning -from pip.cmdoptions import make_option_group, index_group - -logger = logging.getLogger(__name__) - - -class ListCommand(Command): - """ - List installed packages, including editables. - - Packages are listed in a case-insensitive sorted order. - """ - name = 'list' - usage = """ - %prog [options]""" - summary = 'List installed packages.' - - 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( - '--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', - choices=('legacy', 'columns', 'freeze', 'json'), - help="Select the output format among: legacy (default), columns, " - "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.", - ) - - index_opts = make_option_group(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, index_urls, session): - """ - Create a package finder appropriate to this list command. - """ - return PackageFinder( - find_links=options.find_links, - index_urls=index_urls, - allow_all_prereleases=options.pre, - trusted_hosts=options.trusted_hosts, - process_dependency_links=options.process_dependency_links, - session=session, - ) - - def run(self, options, args): - if options.allow_external: - warnings.warn( - "--allow-external has been deprecated and will be removed in " - "the future. Due to changes in the repository protocol, it no " - "longer has any effect.", - RemovedInPip10Warning, - ) - - if options.allow_all_external: - warnings.warn( - "--allow-all-external has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - if options.allow_unverified: - warnings.warn( - "--allow-unverified has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - if options.list_format is None: - warnings.warn( - "The default format will switch to columns in the future. " - "You can use --format=(legacy|columns) (or define a " - "format=(legacy|columns) in your pip.conf under the [list] " - "section) to disable this warning.", - RemovedInPip10Warning, - ) - - if options.outdated and options.uptodate: - raise CommandError( - "Options --outdated and --uptodate cannot be combined.") - - packages = get_installed_distributions( - local_only=options.local, - user_only=options.user, - editables_only=options.editable, - ) - - if options.outdated: - packages = self.get_outdated(packages, options) - elif options.uptodate: - packages = self.get_uptodate(packages, options) - - if options.not_required: - packages = self.get_not_required(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 set(pkg for pkg in packages if pkg.key not in dep_keys) - - def iter_packages_latest_infos(self, packages, options): - index_urls = [options.index_url] + options.extra_index_urls - if options.no_index: - logger.debug('Ignoring indexes: %s', ','.join(index_urls)) - index_urls = [] - - dependency_links = [] - for dist in packages: - if dist.has_metadata('dependency_links.txt'): - dependency_links.extend( - dist.get_metadata_lines('dependency_links.txt'), - ) - - with self._build_session(options) as session: - finder = self._build_package_finder(options, index_urls, session) - finder.add_dependency_links(dependency_links) - - 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] - - if not all_candidates: - continue - best_candidate = max(all_candidates, - key=finder._candidate_sort_key) - remote_version = best_candidate.version - if best_candidate.location.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_legacy(self, dist): - if dist_is_editable(dist): - return '%s (%s, %s)' % ( - dist.project_name, - dist.version, - dist.location, - ) - else: - return '%s (%s)' % (dist.project_name, dist.version) - - def output_legacy_latest(self, dist): - return '%s - Latest: %s [%s]' % ( - self.output_legacy(dist), - dist.latest_version, - dist.latest_filetype, - ) - - 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: - logger.info("%s==%s", dist.project_name, dist.version) - elif options.list_format == 'json': - logger.info(format_for_json(packages, options)) - else: # legacy - for dist in packages: - if options.outdated: - logger.info(self.output_legacy_latest(dist)) - else: - logger.info(self.output_legacy(dist)) - - 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: - logger.info(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 any(dist_is_editable(x) for x in pkgs): - header.append("Location") - - 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 dist_is_editable(proj): - row.append(proj.location) - - 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.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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/search.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/search.py deleted file mode 100644 index bd2ea8ad..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/search.py +++ /dev/null @@ -1,133 +0,0 @@ -from __future__ import absolute_import - -import logging -import sys -import textwrap - -from pip.basecommand import Command, SUCCESS -from pip.compat import OrderedDict -from pip.download import PipXmlrpcTransport -from pip.models import PyPI -from pip.utils import get_terminal_size -from pip.utils.logging import indent_log -from pip.exceptions import CommandError -from pip.status_codes import NO_MATCHES_FOUND -from pip._vendor.packaging.version import parse as parse_version -from pip._vendor import pkg_resources -from pip._vendor.six.moves import xmlrpc_client - - -logger = logging.getLogger(__name__) - - -class SearchCommand(Command): - """Search for PyPI packages whose name or summary contains .""" - name = 'search' - usage = """ - %prog [options] """ - summary = 'Search PyPI for packages.' - - 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 - with self._build_session(options) as session: - 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(hit.get('versions', ['-'])[-1]) - 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 '' - version = hit.get('versions', ['-'])[-1] - 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, version), summary) - try: - logger.info(line) - if name in installed_packages: - dist = pkg_resources.get_distribution(name) - with indent_log(): - latest = highest_version(hit['versions']) - if dist.version == latest: - logger.info('INSTALLED: %s (latest)', dist.version) - else: - logger.info('INSTALLED: %s', dist.version) - logger.info('LATEST: %s', latest) - except UnicodeEncodeError: - pass - - -def highest_version(versions): - return max(versions, key=parse_version) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/show.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/show.py deleted file mode 100644 index 111c16d1..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/show.py +++ /dev/null @@ -1,154 +0,0 @@ -from __future__ import absolute_import - -from email.parser import FeedParser -import logging -import os - -from pip.basecommand import Command -from pip.status_codes import SUCCESS, ERROR -from pip._vendor import pkg_resources -from pip._vendor.packaging.utils import canonicalize_name - - -logger = logging.getLogger(__name__) - - -class ShowCommand(Command): - """Show information about one or more installed packages.""" - name = 'show' - usage = """ - %prog [options] ...""" - summary = 'Show information about installed packages.' - - 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] - - 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()], - } - 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: - logger.info("---") - logger.info("Name: %s", dist.get('name', '')) - logger.info("Version: %s", dist.get('version', '')) - logger.info("Summary: %s", dist.get('summary', '')) - logger.info("Home-page: %s", dist.get('home-page', '')) - logger.info("Author: %s", dist.get('author', '')) - logger.info("Author-email: %s", dist.get('author-email', '')) - logger.info("License: %s", dist.get('license', '')) - logger.info("Location: %s", dist.get('location', '')) - logger.info("Requires: %s", ', '.join(dist.get('requires', []))) - if verbose: - logger.info("Metadata-Version: %s", - dist.get('metadata-version', '')) - logger.info("Installer: %s", dist.get('installer', '')) - logger.info("Classifiers:") - for classifier in dist.get('classifiers', []): - logger.info(" %s", classifier) - logger.info("Entry-points:") - for entry in dist.get('entry_points', []): - logger.info(" %s", entry.strip()) - if list_files: - logger.info("Files:") - for line in dist.get('files', []): - logger.info(" %s", line.strip()) - if "files" not in dist: - logger.info("Cannot locate installed-files.txt") - return results_printed diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/uninstall.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/uninstall.py deleted file mode 100644 index 8ba1a7c6..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/uninstall.py +++ /dev/null @@ -1,76 +0,0 @@ -from __future__ import absolute_import - -import pip -from pip.wheel import WheelCache -from pip.req import InstallRequirement, RequirementSet, parse_requirements -from pip.basecommand import Command -from pip.exceptions import InstallationError - - -class UninstallCommand(Command): - """ - 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``. - """ - name = 'uninstall' - usage = """ - %prog [options] ... - %prog [options] -r ...""" - summary = 'Uninstall packages.' - - 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): - with self._build_session(options) as session: - format_control = pip.index.FormatControl(set(), set()) - wheel_cache = WheelCache(options.cache_dir, format_control) - requirement_set = RequirementSet( - build_dir=None, - src_dir=None, - download_dir=None, - isolated=options.isolated_mode, - session=session, - wheel_cache=wheel_cache, - ) - for name in args: - requirement_set.add_requirement( - InstallRequirement.from_line( - name, isolated=options.isolated_mode, - wheel_cache=wheel_cache - ) - ) - for filename in options.requirements: - for req in parse_requirements( - filename, - options=options, - session=session, - wheel_cache=wheel_cache): - requirement_set.add_requirement(req) - if not requirement_set.has_requirements: - raise InstallationError( - 'You must give at least one requirement to %(name)s (see ' - '"pip help %(name)s")' % dict(name=self.name) - ) - requirement_set.uninstall(auto_confirm=options.yes) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/wheel.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/wheel.py deleted file mode 100644 index 70e95eb8..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/commands/wheel.py +++ /dev/null @@ -1,208 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -import logging -import os -import warnings - -from pip.basecommand import RequirementCommand -from pip.exceptions import CommandError, PreviousBuildDirError -from pip.req import RequirementSet -from pip.utils import import_or_raise -from pip.utils.build import BuildDirectory -from pip.utils.deprecation import RemovedInPip10Warning -from pip.wheel import WheelCache, WheelBuilder -from pip import cmdoptions - - -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. - - """ - - name = 'wheel' - usage = """ - %prog [options] ... - %prog [options] -r ... - %prog [options] [-e] ... - %prog [options] [-e] ... - %prog [options] ...""" - - summary = 'Build wheels from your requirements.' - - 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.use_wheel()) - cmd_opts.add_option(cmdoptions.no_use_wheel()) - cmd_opts.add_option(cmdoptions.no_binary()) - cmd_opts.add_option(cmdoptions.only_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.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( - '--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 check_required_packages(self): - import_or_raise( - 'wheel.bdist_wheel', - CommandError, - "'pip wheel' requires the 'wheel' package. To fix this, run: " - "pip install wheel" - ) - pkg_resources = import_or_raise( - 'pkg_resources', - CommandError, - "'pip wheel' requires setuptools >= 0.8 for dist-info support." - " To fix this, run: pip install --upgrade setuptools" - ) - if not hasattr(pkg_resources, 'DistInfoDistribution'): - raise CommandError( - "'pip wheel' requires setuptools >= 0.8 for dist-info " - "support. To fix this, run: pip install --upgrade " - "setuptools" - ) - - def run(self, options, args): - self.check_required_packages() - cmdoptions.resolve_wheel_no_use_binary(options) - cmdoptions.check_install_build_global(options) - - if options.allow_external: - warnings.warn( - "--allow-external has been deprecated and will be removed in " - "the future. Due to changes in the repository protocol, it no " - "longer has any effect.", - RemovedInPip10Warning, - ) - - if options.allow_all_external: - warnings.warn( - "--allow-all-external has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - if options.allow_unverified: - warnings.warn( - "--allow-unverified has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - index_urls = [options.index_url] + options.extra_index_urls - if options.no_index: - logger.debug('Ignoring indexes: %s', ','.join(index_urls)) - index_urls = [] - - if options.build_dir: - options.build_dir = os.path.abspath(options.build_dir) - - options.src_dir = os.path.abspath(options.src_dir) - - with self._build_session(options) as session: - 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 BuildDirectory(options.build_dir, - delete=build_delete) as build_dir: - requirement_set = RequirementSet( - build_dir=build_dir, - src_dir=options.src_dir, - download_dir=None, - ignore_dependencies=options.ignore_dependencies, - ignore_installed=True, - ignore_requires_python=options.ignore_requires_python, - isolated=options.isolated_mode, - session=session, - wheel_cache=wheel_cache, - wheel_download_dir=options.wheel_dir, - require_hashes=options.require_hashes - ) - - self.populate_requirement_set( - requirement_set, args, options, finder, session, self.name, - wheel_cache - ) - - if not requirement_set.has_requirements: - return - - try: - # build wheels - wb = WheelBuilder( - requirement_set, - finder, - build_options=options.build_options or [], - global_options=options.global_options or [], - ) - if not wb.build(): - 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() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__init__.py deleted file mode 100644 index 099672cd..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__init__.py +++ /dev/null @@ -1,164 +0,0 @@ -"""Stuff that differs in different Python versions and platform -distributions.""" -from __future__ import absolute_import, division - -import os -import sys - -from pip._vendor.six import text_type - -try: - from logging.config import dictConfig as logging_dictConfig -except ImportError: - from pip.compat.dictconfig import dictConfig as logging_dictConfig - -try: - from collections import OrderedDict -except ImportError: - from pip._vendor.ordereddict import OrderedDict - -try: - import ipaddress -except ImportError: - try: - from pip._vendor import ipaddress - except ImportError: - import ipaddr as ipaddress - ipaddress.ip_address = ipaddress.IPAddress - ipaddress.ip_network = ipaddress.IPNetwork - - -try: - import sysconfig - - def get_stdlib(): - paths = [ - sysconfig.get_path("stdlib"), - sysconfig.get_path("platstdlib"), - ] - return set(filter(bool, paths)) -except ImportError: - from distutils import sysconfig - - def get_stdlib(): - paths = [ - sysconfig.get_python_lib(standard_lib=True), - sysconfig.get_python_lib(standard_lib=True, plat_specific=True), - ] - return set(filter(bool, paths)) - - -__all__ = [ - "logging_dictConfig", "ipaddress", "uses_pycache", "console_to_str", - "native_str", "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile", - "OrderedDict", -] - - -if sys.version_info >= (3, 4): - uses_pycache = True - from importlib.util import cache_from_source -else: - import imp - uses_pycache = hasattr(imp, 'cache_from_source') - if uses_pycache: - cache_from_source = imp.cache_from_source - else: - cache_from_source = None - - -if sys.version_info >= (3,): - def console_to_str(s): - try: - return s.decode(sys.__stdout__.encoding) - except UnicodeDecodeError: - return s.decode('utf_8') - - def native_str(s, replace=False): - if isinstance(s, bytes): - return s.decode('utf-8', 'replace' if replace else 'strict') - return s - -else: - def console_to_str(s): - return s - - def native_str(s, replace=False): - # Replace is ignored -- unicode to UTF-8 can't fail - if isinstance(s, text_type): - return s.encode('utf-8') - return s - - -def total_seconds(td): - if hasattr(td, "total_seconds"): - return td.total_seconds() - else: - val = td.microseconds + (td.seconds + td.days * 24 * 3600) * 10 ** 6 - return val / 10 ** 6 - - -def get_path_uid(path): - """ - 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 - - -def expanduser(path): - """ - Expand ~ and ~user constructions. - - Includes a workaround for http://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') -if sys.version_info >= (2, 7): - stdlib_pkgs += ('argparse',) - - -# windows detection, covers cpython and ironpython -WINDOWS = (sys.platform.startswith("win") or - (sys.platform == 'cli' and os.name == 'nt')) - - -def samefile(file1, file2): - """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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 3def80cb56ac5314d64ed5e948491b7a88441515..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4009 zcmai1TW=f372X@k6-80BBHwLk6DM})izwM~d}&}fiR0FZOBqpGC0i7m6=z5-wcI6U zhLS1BE)bmF9lt%(ndHa6)I`hOSL(H}yi#jHR%I(M!vNN?5V2aRaMT z>JO&Es%@=XS>RcGdaEkFwJrKHr?ukr8!L0ZE^d_5nL$0Qzj5QwM>oppY;iidQ8O<$ z!UphvIl=$$0@}P^Nly)MYOvj$od5F(o14ys4c_R##T(H)#?u(j6qqOY=MDa|;aTRh zsqd}u9NxKJ;Q7%Ow~sJY)AIvBfvf2PuDH)?Y=+g@ENie+Y>vIf=Gp09HN3z}{flgA zs{|Z%j{k2zt67k+dn$PIY3-vH@2J~oqUda{U*D)<%HMSEjAAvH<-I-HSg|zv8G1d zZlE?}6|kh+GGtYu;93*)rgE(WsFpX6=7lSHGq!P)-NYT;K0oh^G z(X;V}%+rzLQ8F0jLTR5R+X-E7H*Gzo_)8V3@sMKy3?21po^_KRR@1A3alzRWY!YNL zj2RPL$_`vf$W~a!dRt8HY((SUz2W_3e7&soRcn|GZ*7c{l-=SijaKdq zH)+eXPCmdRttd*eL`BikaIC9DR6#AVD$D3B$G2;afZJP5TU0T;A)695jBMV=q>v4B zekh~^IWhMK=Vv73wZ8(BHL0N7Sg;79YC7UApwKfUu}BViC+Q}gX30FM>qcD0G6-1I z04ipvtD^&9vot4R72PSC5zRNyCVW)whNI`wyw^*zUi6b4hzekIZ6vvjhT~4$+2pzo zHNm8Kq;d#E=xP?LWSg6L?ND{mC}DcKkXJO^>PcN$f7X7oy1u4;84oyg$_2^rz@?7N zh}b@5o`||4A4D=Ai4GS5jyhy&^wBttX2iOL$+*5}^(|%hoxV#3=2^-^jC{X{EObT& zxn_Nh_zUxM+PXAS-RM3nuFQBRXB5K(EZec`_x$sedxw+b2y#YOSK+`JSqOGZ8)L<#AhfWPYZwIC+es47WAE2!g~IKs zJ#W7uRg$csk5pkOu-gU)49FloVL-(48sRfc+CR@L0V!ZJyv`TAk~R!}=a9puE3N}j z(961PgwOvUE5D_u3m>e4nIl$+nxmNX5f=13OaNYr=k0yaOk|+BXdZLsE#}T!XDwEy z{uNZgDi;A|%*Ai(8I`LzjU+4}WAcDFN*Zvi19JBRq9A$v$!yWVs4APWjFl4N7EW|+ zkaR>oxvMLO6OYAXiP-EYrrqs0J*g|Y`+KyBIaO`nS+EVpBRL zO*d}BMydh6FS#0tETA}iO$PAvrK;I~l5-hkxe5@5(|jk8<3XBaTk@efrJI{d4dugD ztCy(F(Z&+uY->0k#zo*ArD^NIox4|%$T}lQDJl|o?=0V2UcOV{e?e}*kRKBnbVpf- zG94wzB3uV-!~>NdrOOV8!THC}zNS2BNch}D$(u!nm7Dn}WdYwtW*x<8Iu3ey5bwm} z2{#W#oFMK6t82#b9|r52ykI)O`|%-nK`w$$oLy7F1`h;}Aq?VFS68F<>eJQd&sW!X zSKdP+KX&IA!FrOWMpUAZC4>m6i9@8aSraSJs&;azy?n?s?XN~(K3Q!)|3=)SgHjj% zkK`zo3ALq83Om!DNt@+FlH9dtKq?ak;AW2u$}ZDB#b3I3()2C>f}=@F5LS)CM9r?b zHK*=6cGWquKk_rOK@&2l&ZYcDcDHZChu~clcE!y-SRq5^rx|mZ_ebZv@iEv_X*V^3 z`t0S9%9z)tn0bv%192k3C^0hnl@o0|%R1?ZK^<|hlZ&lb9fG7>(0>IpJ&WpZDMB=0 zxmc3P%OW4uCq)rr6&1#UiaK$I;HRINg4zU!@HAa6;?NS6PX)A|?jREK!jMh56P`W( zN?w%MbfKuUrjMQKa#3=JQ_o&}T$J8O{KIHchSPSND{=<2ofUIa6Pof)Pth*|{2WM8 zd_@r=9E4Dt{B}TP3*R|QeAJ5{1}Ghu2-p-{+Qnv}V9I!cst1#R1O*6VM{AI6Zd$1BS$C>BWY`u-oz=w`$`R$rP9htsDo2-Cu1pIOZOOFc^=fBG?sBZL}}=BWu#^r3!e)5}vH(x51cpa_aQ7=ygEFYbGRA}HE^-+yLr z6eR@#icp@jXU;iuF8}#2-~XTE7e_`4@BaA1g;NWL@o&b!UkUlMc!FOb@eI#w8LQ@k zX){N#`|7>@4`NB(wo8v`#tNLF*E%I zR%pza$!P6%&}nUiezmc>)=}Xc%Iu)A8BM(RZtZwfy~Xr}<1bfl9Xnb#`4RpsJT{(l zc!H;pghtbhjeF*{8Jod@(DLv$jrWgC8O@%H4$XDKO09CI)@pc_D_h}mr(J1yemiU| zHhlF;R%Wtk3oOA zd}2*C?$kp6#GRTtvDj&Oz6wsf?43CEa`WXEzWQ?eD_+}MTJeIrx2s!AUtc@*0{)iT zC+1JAHP(*b-e|PEYju{E&}gApm5%3XtA3!eSVEGY z-&*T!Nk(cDOWl!O(MbW#6vb&4PcVUm)XIWd1w19oF#XYj*~py56MPwoZ!DOe zu>f9z+*zIt-gUgZ$dd`lD|k82{n&);IUqwZDWB`K@AxXjjL&25qROik>|a_^;dVAU z?V8%E+*P%;HDArv$;JG0(&rq0gV&L0ZjP}@+aPw+YTB^{-bNbRD|vM>wqqkUPaB~V z+xN^c6K2EQqP>zujS<^bH#U*xV;l1_=Vl6t!_mPW)g?b{g#K!^nv^teZKzt<0jblO zCQb;#s!7aYa6OkBL70s8*Eheh*7B3=T1`QI5_`qpnsE{*@LP-ONq(9Ew{D<;@`H_5 zxN}#g(d3(W(p}+hxY&&Xo-F=F2l@k%kh25Ro~v_*_?N*$x(UrLBh#fBC}o3EnrfiV zHfR((pxSFOm^h`HGeou5Q0@rT98itBNvf$S^qSZpnc9n-+Q(!+6OueZ?uhbfX*aliq(%MOTY;2x50qDWoSvD{LjBs*J2Y46WQ?kt{w z>w1hr$boSR!WYqjA=z(1e0~#B&v7*^epLo``V9Q=O(b<&q>0w5kCI<1jzRhTf(Cqd zy>}WlT_%2r-aGYxzB`rbyHwNV)pO`YZ~EhxJfl|&i{ouRe6{4DO*}yvi9y@ZW7%kc zVP&OY*tswM7k@LRdLFH3vg#;))YD9!Ve%{!Vb6zhCKXE)Pe4lt&NSVUFx3!W(sZ0< zBWk5x`I2fZBMK^dVu%|aW=1DgT#u$%G8$bkP(eE2bGpq0ts&cKR1 z(bt}0t_Im~4wQN5#`LvxUt3Vmf5f32B-|4r?9h(bs5#3fpCB3B5diUw2lKspkAI zw--=l(%T0P*q@AjqZas}1%RYB_R*z61%LC)KJiJfxN;lqD)m+^2r74%8};Q13|OP> z2bG|+>Q^=be{rM5G8(mDR{DsZe($;8zH)j^q2=Zo0`*(Z&%AQt1PgiYl z-n$tbd+z4l=V$O6mEXHLJNUlmy_@e2yx+XVMw$0+de0wCivDI;#WV?{l45;vsrv#b zZlf--QPxu^7D&(M9QT1z2CQom+g9-a5|~xXgUO{uu{FraY7&U4o3XU^JBbemYzEB* z%}=A<2&>iavuknz;bgRbCvm}Lx?OKhWFjg`nbS{@iOnV)I{*_awwiEH2<*1rCtx9% z+jcgu#MXJ^)@$3D*aimA>@~h_phYjGpr?Yrk>R+Rkq0Lf6XxIA#|uqWf((&c->*h+RM; zw_1qZk4)_v3f#>`?+XWzldk%3;O_Vp4e5hQ*r{}GH~o4TfNOw;QBiAqHRV;bhX;?q ztJFd`0Jq`x^|}eR+F@-|GZwo|%vnWqp=OZGMN{W$ZMqY{lrq}W^w|R7?o6=OYJ{Tn z6IYMm1JMF4ag3z=YIh`Y;gaGdaWnOc9c%@O>u=VvYm1%Kx2RU@HLyG2#YnXps#@K@ zU8}EDt224cA34k?afmq*2kpEhv)I{adx^8CYD`Q}489VX`jZ^R5sGYVE5+!Ax|ee#F^xP{WE2J}|ohY35Mv?Ka4H)-{>jZ z?@6tJ{fAn$J+#OTwD@_y9wKHmUDQDV2Y*JvVZZH@Ta#g)W!qVlWm%@DmQkE8}kIePgwJ^?P95Pq`= zM|5DfDo7U{>ta&6{^r&5)hn;g&tJGYr|2_j9=H9rr>N(W?2_titOZH&{G0RLhRMjK zx$_rp^k2_k`sSrxts)Ro<49(5S|G?Pi383I6~hvV>8WG#+uor@)d>{;7*D{l4LIQh zQ)O$+oUrJcJNRWvQ(mwv)RjakSnil(yK&rrNf_cd8~qE%{R=WQ0}OeTfWjniA^h=7 zh*%N!n5Mz3+U*}mjU%ltOCHKrT?Whp_$Lu%Y+9(Df=9xF79 zQV*4ncdJ>t2bE6sPToTONV6O}Fa;JkGJ_U2d3-w?j$&?9`6!J64H(^mTszShJ*|08 z+eXHcCuAjuE8|a(yju8K&XKb zS<_ZP2?(KeM-Sakyv~3X$ZB*kmt-}fm>E+e*i!9;(?!>As<`8V{>3L}{6>)nl9Dz{ zRnj3q5aZ3cw=Z1nGc#o($%_z3kYr2<*+m%$=V?Fk>u5H}?!xHm4UY1r^pMJ>uhbP5 z?$De>>Hm%=pj;T)X>hh{>XZQ~zLDn{l!83SFH3jP|LHhAUZ=ou4P0yRT_m4Cvubz& z{)R>sPCXTx&_y=5@e}|8v~Fl2%x5e3PtA;IVN1SqJaU^IX1{GLnqJn+ee8Y$H~AhV zz=0kEl=!YmV50tDvjRN|5CNz%*#!{f(l~d|HjQ-!O_u?$y3tp_qJlEP2JI9XRPHvy zWpD+|r#c>Ntigg~{}*d@1f#ZQBkQ>tBCdL^)q)kypCc$`#81711l;DXS)D!I>R`^nnb}?kzzj#wWs+O21p-Gh!iPGJbR9Kf zbakjH!_ZuinK(%G5tNozN3($CBHSX#l;KCfk;JV9Rr#*WmC;+~${;llqVjIbxtXcm96!X4 zea1jn*BUKfT}4OgB9lu@UT5+r9;!Iy-DY;MYBJq)!I2|jz&DT1UzBZ5? z_eUK^@`reW3KG|LtO6!4|7;jO2LUO^-HYe2d(bUQYj)N9;|83?6TF9H(B14ssv*m8 z19AETDK-$L*5^C9)SYxwcQOxmanu__9J}D{_25h*SM>IId%Q{HO5PMU5>6xov0XW4 z#5lSo%D!9VSJGI0iuh{-@$TcT#){vSdu+Am2X#PySf*udd%BDY`{w#|I?lMPpcohLJL(^|aAwpTiHqnRNFJd0gLzMT=Y``nxiY(`?mT8+8z)mXgtn%`}P{!6X6r_1bW$n-%nC@WgR+(bEy+D8aMVwJH7U3b3Ssmk+>0B?L&+Y9rq06-4n^gt50f0w zF>!NrlmHbOo*{Z2KWIN2R)RIZ-dNnK;9y&~l4wb^_pLTj6^_#ZtI`^VOOj%vU041p zj_qo#i;268Pz)?yF!u$G`WJN7qbKJ&0PRu^sE)vf25XFW(CeIFo5Mq1XNvB+AL+=9 zKE6fY^U=!&ciEGo^FFgnv#6AOZvnG-jmaEIgU<7uBFj39ibY4aeA3axoa=|DoK-M>Mg&f zFmBo-Pa={%{YJe-4?;q{H274)BFT8adD@E-XxZl42*#4!YOP(vh9w0(4FUoj`Qq~= z(`bACW@5Mec9P}MHez8o`d#hZ!4dG>oAcK$%nR43COgU##@3eLnkH_#lO86oe5@i6 zqRs5>17FqPH-!stT$z8Tdj8V6dFezZM@%hTnv~NFy*BWo9_$;O`YIDHA{pDsHENA@ z>#RcnP;*i;QeVcMj2=Uojl|XNC!>68i(Fx;y|LP3JuJGjlw>tY24J2b@O+P`PY|H~ z3_}@qR$ROiAh&k+9NtN=Ck6RA67(R1l~4$PxnmwioLETeU37D~D z>lOs^EIo=4%D@*HhENz>WPnBLi^ye&IN6T>=yYlqbXvkK{CZNi%`r5|7MwR{s>d%& z?Ne5CU?(t~?Jc_JFHoycGz7!_2{MA-vPx-`wry=un~Kx6Z37p53QS=l(AI`7b%2Uq z@+|lju$aJIXFeh}KzIc9A2{!{fuI|(9)1UU0A|W~nQi9-2YBhz8%FymzHt!k)}a*U zvy#t-nPwLDo7fQH7-->K^xV0wR|loqlby<<>a3!muY$!(jofE-lV_8x&LsBYYB-nV zJTN$Nh#80*z;KxwWpaecAts_O@)so<0wvT9FVGoHa;YyYZXN>4zWQSpJ0AMn!Ds4s zQS+DNFkVD3z4k9E>>`}WYP4kHgCvr%oQBL?89QoXyRPNh|r}#J`0Am zz_9Zv!%l~|FT`6XLogmpo3dmUY?%cFAj3J)iB~;@KC~T@_+9$KSiNRCM(rw{#R^Su zFe^GMdZKUNYQ67MQ#FU%IC+$6(rKFA!BQmln_f~$Ts#{P>^t#iz5OzL|_-eT&wfBSL7J* z7Ef*+khPTdV?JJyM-}`PEPqO`39V+qDqPh8tZGEJd(_I>3%$`s?$IZG-z%r%y^qn5 z_sV2P{+>44U+%SrkA>FX@kZ0u-$`4KrmaVzIbEFnjY+_dS2+6tzdZDE4k5ohLVgA8 z$Ysoa9R8}MfLgbUnEk9b0biy_&5Th#hi=Xz__znUIqyxP=Yg-Glet&L4~lxP;CWkW zA}+x9K{ygV0m9!ad6XSP*$A;NFC6GkvI2w2&duIi!Z z6x+J1wMJ{X15}oSaNw9Es6&$E527Hq*nZ6jrn-Ue)jLSKp}&57X#u7GNr}~CL|=VC zQhS!ViyU`}U&6p4e(u*+Vc>KIpf6Obz-UJ}HjS0)=@#`aUvDyzi*mgHCvSKL8@Gjm zV)rx_9C-sMQEk1J;<)0qH|DRTFA_Kd7~Tplcb2+k67KJrQiS&XuxCEi28X4lQQt>0 zQyKt~KVYe-H+nCk@D#71sXs-MWLCJbs>Xr}lkYJhCA(A=&Z_rlF zz6x8D3Y$J`N_j2nL39j_!tRJ>i~STQPE0D9VY0}kW^HZ9sC|n zLkLTu;u!Wo(4mY_3V@~#Y^;9`K?L@L7BEOKD2k`ja@|5y8te4=AHs&}_fUuPM4Y5R z-O2s+O!QXoaP5k(sM2_%CXTm+P1C@7BS7)$Dh}BYXcfm9qJ>-7?c)Ppbb5KGfr0LO}s4K90tg?3pouT*ih>Tj8FokN&i7(>Dd!GGC{d@L*Bjz9myBp54hE$t2s6yI^vH zB}7wy$2v}MH`*ueX??r<411LGa{a#tAV6W2oU-la8UDassp+w2#`cYkjD2Y2@O)@I H>Dd1Vl~0lk diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/dictconfig.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/dictconfig.py deleted file mode 100644 index ec684aac..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/compat/dictconfig.py +++ /dev/null @@ -1,565 +0,0 @@ -# This is a copy of the Python logging.config.dictconfig module, -# reproduced with permission. It is provided here for backwards -# compatibility for Python versions prior to 2.7. -# -# Copyright 2009-2010 by Vinay Sajip. All Rights Reserved. -# -# Permission to use, copy, modify, and distribute this software and its -# documentation for any purpose and without fee is hereby granted, -# provided that the above copyright notice appear in all copies and that -# both that copyright notice and this permission notice appear in -# supporting documentation, and that the name of Vinay Sajip -# not be used in advertising or publicity pertaining to distribution -# of the software without specific, written prior permission. -# VINAY SAJIP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -# ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL -# VINAY SAJIP BE LIABLE FOR 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 THIS SOFTWARE. -from __future__ import absolute_import - -import logging.handlers -import re -import sys -import types - -from pip._vendor import six - -# flake8: noqa - -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 - -# -# This function is defined in logging only in recent versions of Python -# -try: - from logging import _checkLevel -except ImportError: - def _checkLevel(level): - if isinstance(level, int): - rv = level - elif str(level) == level: - if level not in logging._levelNames: - raise ValueError('Unknown level: %r' % level) - rv = logging._levelNames[level] - else: - raise TypeError('Level not an integer or a ' - 'valid string: %r' % level) - return rv - -# 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 = __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, six.string_types): # str for py3k - 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 hasattr(c, '__call__') and hasattr(types, 'ClassType') and type(c) != types.ClassType: - 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 - - -class DictConfigurator(BaseConfigurator): - """ - Configure logging using a dictionary-like object to describe the - configuration. - """ - - def configure(self): - """Do the configuration.""" - - config = self.config - if 'version' not in config: - raise ValueError("dictionary doesn't specify a version") - if config['version'] != 1: - raise ValueError("Unsupported version: %s" % config['version']) - incremental = config.pop('incremental', False) - EMPTY_DICT = {} - logging._acquireLock() - try: - if incremental: - handlers = config.get('handlers', EMPTY_DICT) - # incremental handler config only if handler name - # ties in to logging._handlers (Python 2.7) - if sys.version_info[:2] == (2, 7): - for name in handlers: - if name not in logging._handlers: - raise ValueError('No handler found with ' - 'name %r' % name) - else: - try: - handler = logging._handlers[name] - handler_config = handlers[name] - level = handler_config.get('level', None) - if level: - handler.setLevel(_checkLevel(level)) - except StandardError as e: - raise ValueError('Unable to configure handler ' - '%r: %s' % (name, e)) - loggers = config.get('loggers', EMPTY_DICT) - for name in loggers: - try: - self.configure_logger(name, loggers[name], True) - except StandardError as e: - raise ValueError('Unable to configure logger ' - '%r: %s' % (name, e)) - root = config.get('root', None) - if root: - try: - self.configure_root(root, True) - except StandardError as e: - raise ValueError('Unable to configure root ' - 'logger: %s' % e) - else: - disable_existing = config.pop('disable_existing_loggers', True) - - logging._handlers.clear() - del logging._handlerList[:] - - # Do formatters first - they don't refer to anything else - formatters = config.get('formatters', EMPTY_DICT) - for name in formatters: - try: - formatters[name] = self.configure_formatter( - formatters[name]) - except StandardError as e: - raise ValueError('Unable to configure ' - 'formatter %r: %s' % (name, e)) - # Next, do filters - they don't refer to anything else, either - filters = config.get('filters', EMPTY_DICT) - for name in filters: - try: - filters[name] = self.configure_filter(filters[name]) - except StandardError as e: - raise ValueError('Unable to configure ' - 'filter %r: %s' % (name, e)) - - # Next, do handlers - they refer to formatters and filters - # As handlers can refer to other handlers, sort the keys - # to allow a deterministic order of configuration - handlers = config.get('handlers', EMPTY_DICT) - for name in sorted(handlers): - try: - handler = self.configure_handler(handlers[name]) - handler.name = name - handlers[name] = handler - except StandardError as e: - raise ValueError('Unable to configure handler ' - '%r: %s' % (name, e)) - # Next, do loggers - they refer to handlers and filters - - # we don't want to lose the existing loggers, - # since other threads may have pointers to them. - # existing is set to contain all existing loggers, - # and as we go through the new configuration we - # remove any which are configured. At the end, - # what's left in existing is the set of loggers - # which were in the previous configuration but - # which are not in the new configuration. - root = logging.root - existing = list(root.manager.loggerDict) - # The list needs to be sorted so that we can - # avoid disabling child loggers of explicitly - # named loggers. With a sorted list it is easier - # to find the child loggers. - existing.sort() - # We'll keep the list of existing loggers - # which are children of named loggers here... - child_loggers = [] - # now set up the new ones... - loggers = config.get('loggers', EMPTY_DICT) - for name in loggers: - if name in existing: - i = existing.index(name) - prefixed = name + "." - pflen = len(prefixed) - num_existing = len(existing) - i = i + 1 # look at the entry after name - while (i < num_existing) and\ - (existing[i][:pflen] == prefixed): - child_loggers.append(existing[i]) - i = i + 1 - existing.remove(name) - try: - self.configure_logger(name, loggers[name]) - except StandardError as e: - raise ValueError('Unable to configure logger ' - '%r: %s' % (name, e)) - - # Disable any old loggers. There's no point deleting - # them as other threads may continue to hold references - # and by disabling them, you stop them doing any logging. - # However, don't disable children of named loggers, as that's - # probably not what was intended by the user. - for log in existing: - logger = root.manager.loggerDict[log] - if log in child_loggers: - logger.level = logging.NOTSET - logger.handlers = [] - logger.propagate = True - elif disable_existing: - logger.disabled = True - - # And finally, do the root logger - root = config.get('root', None) - if root: - try: - self.configure_root(root) - except StandardError as e: - raise ValueError('Unable to configure root ' - 'logger: %s' % e) - finally: - logging._releaseLock() - - def configure_formatter(self, config): - """Configure a formatter from a dictionary.""" - if '()' in config: - factory = config['()'] # for use in exception handler - try: - result = self.configure_custom(config) - except TypeError as te: - if "'format'" not in str(te): - raise - # Name of parameter changed from fmt to format. - # Retry with old name. - # This is so that code can be used with older Python versions - #(e.g. by Django) - config['fmt'] = config.pop('format') - config['()'] = factory - result = self.configure_custom(config) - else: - fmt = config.get('format', None) - dfmt = config.get('datefmt', None) - result = logging.Formatter(fmt, dfmt) - return result - - def configure_filter(self, config): - """Configure a filter from a dictionary.""" - if '()' in config: - result = self.configure_custom(config) - else: - name = config.get('name', '') - result = logging.Filter(name) - return result - - def add_filters(self, filterer, filters): - """Add filters to a filterer from a list of names.""" - for f in filters: - try: - filterer.addFilter(self.config['filters'][f]) - except StandardError as e: - raise ValueError('Unable to add filter %r: %s' % (f, e)) - - def configure_handler(self, config): - """Configure a handler from a dictionary.""" - formatter = config.pop('formatter', None) - if formatter: - try: - formatter = self.config['formatters'][formatter] - except StandardError as e: - raise ValueError('Unable to set formatter ' - '%r: %s' % (formatter, e)) - level = config.pop('level', None) - filters = config.pop('filters', None) - if '()' in config: - c = config.pop('()') - if not hasattr(c, '__call__') and hasattr(types, 'ClassType') and type(c) != types.ClassType: - c = self.resolve(c) - factory = c - else: - klass = self.resolve(config.pop('class')) - # Special case for handler which refers to another handler - if issubclass(klass, logging.handlers.MemoryHandler) and\ - 'target' in config: - try: - config['target'] = self.config['handlers'][config['target']] - except StandardError as e: - raise ValueError('Unable to set target handler ' - '%r: %s' % (config['target'], e)) - elif issubclass(klass, logging.handlers.SMTPHandler) and\ - 'mailhost' in config: - config['mailhost'] = self.as_tuple(config['mailhost']) - elif issubclass(klass, logging.handlers.SysLogHandler) and\ - 'address' in config: - config['address'] = self.as_tuple(config['address']) - factory = klass - kwargs = dict((k, config[k]) for k in config if valid_ident(k)) - try: - result = factory(**kwargs) - except TypeError as te: - if "'stream'" not in str(te): - raise - # The argument name changed from strm to stream - # Retry with old name. - # This is so that code can be used with older Python versions - #(e.g. by Django) - kwargs['strm'] = kwargs.pop('stream') - result = factory(**kwargs) - if formatter: - result.setFormatter(formatter) - if level is not None: - result.setLevel(_checkLevel(level)) - if filters: - self.add_filters(result, filters) - return result - - def add_handlers(self, logger, handlers): - """Add handlers to a logger from a list of names.""" - for h in handlers: - try: - logger.addHandler(self.config['handlers'][h]) - except StandardError as e: - raise ValueError('Unable to add handler %r: %s' % (h, e)) - - def common_logger_config(self, logger, config, incremental=False): - """ - Perform configuration which is common to root and non-root loggers. - """ - level = config.get('level', None) - if level is not None: - logger.setLevel(_checkLevel(level)) - if not incremental: - # Remove any existing handlers - for h in logger.handlers[:]: - logger.removeHandler(h) - handlers = config.get('handlers', None) - if handlers: - self.add_handlers(logger, handlers) - filters = config.get('filters', None) - if filters: - self.add_filters(logger, filters) - - def configure_logger(self, name, config, incremental=False): - """Configure a non-root logger from a dictionary.""" - logger = logging.getLogger(name) - self.common_logger_config(logger, config, incremental) - propagate = config.get('propagate', None) - if propagate is not None: - logger.propagate = propagate - - def configure_root(self, config, incremental=False): - """Configure a root logger from a dictionary.""" - root = logging.getLogger() - self.common_logger_config(root, config, incremental) - -dictConfigClass = DictConfigurator - - -def dictConfig(config): - """Configure logging using a dictionary.""" - dictConfigClass(config).configure() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/download.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/download.py deleted file mode 100644 index 54d3131d..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/download.py +++ /dev/null @@ -1,906 +0,0 @@ -from __future__ import absolute_import - -import cgi -import email.utils -import getpass -import json -import logging -import mimetypes -import os -import platform -import re -import shutil -import sys -import tempfile - -try: - import ssl # noqa - HAS_TLS = True -except ImportError: - HAS_TLS = False - -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves.urllib import request as urllib_request - -import pip - -from pip.exceptions import InstallationError, HashMismatch -from pip.models import PyPI -from pip.utils import (splitext, rmtree, format_size, display_path, - backup_dir, ask_path_exists, unpack_file, - ARCHIVE_EXTENSIONS, consume, call_subprocess) -from pip.utils.encoding import auto_decode -from pip.utils.filesystem import check_path_owner -from pip.utils.logging import indent_log -from pip.utils.setuptools_build import SETUPTOOLS_SHIM -from pip.utils.glibc import libc_ver -from pip.utils.ui import DownloadProgressBar, DownloadProgressSpinner -from pip.locations import write_delete_marker_file -from pip.vcs import vcs -from pip._vendor import requests, six -from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter -from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth -from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response -from pip._vendor.requests.utils import get_netrc_auth -from pip._vendor.requests.structures import CaseInsensitiveDict -from pip._vendor.requests.packages import urllib3 -from pip._vendor.cachecontrol import CacheControlAdapter -from pip._vendor.cachecontrol.caches import FileCache -from pip._vendor.lockfile import LockError -from pip._vendor.six.moves import xmlrpc_client - - -__all__ = ['get_file_content', - 'is_url', 'url_to_path', 'path_to_url', - 'is_archive_file', 'unpack_vcs_link', - 'unpack_file_url', 'is_vcs_url', 'is_file_url', - 'unpack_http_url', 'unpack_url'] - - -logger = logging.getLogger(__name__) - - -def user_agent(): - """ - Return a string representing the user agent. - """ - data = { - "installer": {"name": "pip", "version": pip.__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() - - # Python 2.6 doesn't have ssl.OPENSSL_VERSION. - if HAS_TLS and sys.version_info[:2] > (2, 6): - data["openssl_version"] = ssl.OPENSSL_VERSION - - return "{data[installer][name]}/{data[installer][version]} {json}".format( - data=data, - json=json.dumps(data, separators=(",", ":"), sort_keys=True), - ) - - -class MultiDomainBasicAuth(AuthBase): - - def __init__(self, prompting=True): - self.prompting = prompting - self.passwords = {} - - def __call__(self, req): - parsed = urllib_parse.urlparse(req.url) - - # Get the netloc without any embedded credentials - netloc = parsed.netloc.rsplit("@", 1)[-1] - - # Set the url of the request to the url without any credentials - req.url = urllib_parse.urlunparse(parsed[:1] + (netloc,) + parsed[2:]) - - # Use any stored credentials that we have for this netloc - username, password = self.passwords.get(netloc, (None, None)) - - # Extract credentials embedded in the url if we have none stored - if username is None: - username, password = self.parse_credentials(parsed.netloc) - - # Get creds from netrc if we still don't have them - if username is None and password is None: - netrc_auth = get_netrc_auth(req.url) - username, password = netrc_auth if netrc_auth else (None, None) - - if username or password: - # Store the username and password - self.passwords[netloc] = (username, password) - - # Send the basic auth with this request - req = HTTPBasicAuth(username or "", password or "")(req) - - # Attach a hook to handle 401 responses - req.register_hook("response", self.handle_401) - - return req - - 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 = six.moves.input("User for %s: " % parsed.netloc) - password = getpass.getpass("Password: ") - - # Store the new username and password to use for future requests - if username or password: - self.passwords[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) - - # Send our new request - new_resp = resp.connection.send(req, **kwargs) - new_resp.history.append(resp) - - return new_resp - - def parse_credentials(self, netloc): - if "@" in netloc: - userinfo = netloc.rsplit("@", 1)[0] - if ":" in userinfo: - return userinfo.split(":", 1) - return userinfo, None - return None, None - - -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 SafeFileCache(FileCache): - """ - A file based cache which is safe to use even when the target directory may - not be accessible or writable. - """ - - def __init__(self, *args, **kwargs): - super(SafeFileCache, self).__init__(*args, **kwargs) - - # 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 it is not owned by the user executing pip then we will disable - # the cache and log a warning. - if not check_path_owner(self.directory): - 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.", - self.directory, - ) - - # Set our directory to None to disable the Cache - self.directory = None - - def get(self, *args, **kwargs): - # If we don't have a directory, then the cache should be a no-op. - if self.directory is None: - return - - try: - return super(SafeFileCache, self).get(*args, **kwargs) - except (LockError, OSError, IOError): - # We intentionally silence this error, if we can't access the cache - # then we can just skip caching and process the request as if - # caching wasn't enabled. - pass - - def set(self, *args, **kwargs): - # If we don't have a directory, then the cache should be a no-op. - if self.directory is None: - return - - try: - return super(SafeFileCache, self).set(*args, **kwargs) - except (LockError, OSError, IOError): - # We intentionally silence this error, if we can't access the cache - # then we can just skip caching and process the request as if - # caching wasn't enabled. - pass - - def delete(self, *args, **kwargs): - # If we don't have a directory, then the cache should be a no-op. - if self.directory is None: - return - - try: - return super(SafeFileCache, self).delete(*args, **kwargs) - except (LockError, OSError, IOError): - # We intentionally silence this error, if we can't access the cache - # then we can just skip caching and process the request as if - # caching wasn't enabled. - 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 - - def __init__(self, *args, **kwargs): - retries = kwargs.pop("retries", 0) - cache = kwargs.pop("cache", None) - insecure_hosts = kwargs.pop("insecure_hosts", []) - - super(PipSession, self).__init__(*args, **kwargs) - - # Attach our User Agent to the request - self.headers["User-Agent"] = user_agent() - - # Attach our Authentication handler to the session - self.auth = MultiDomainBasicAuth() - - # 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. - status_forcelist=[503], - - # Add a small amount of back off between failed requests in - # order to prevent hammering the service. - backoff_factor=0.25, - ) - - # 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, use_dir_lock=True), - 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) - - self.mount("https://", secure_adapter) - self.mount("http://", insecure_adapter) - - # Enable file:// urls - self.mount("file://", LocalFSAdapter()) - - # We want to use a non-validating adapter for any requests which are - # deemed insecure. - for host in insecure_hosts: - self.mount("https://{0}/".format(host), insecure_adapter) - - 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) - - -def get_file_content(url, comes_from=None, session=None): - """Gets the content of a file; it may be a filename, file: URL, or - http: URL. Returns (location, content). Content is unicode.""" - if session is None: - raise TypeError( - "get_file_content() missing 1 required keyword argument: 'session'" - ) - - match = _scheme_re.search(url) - if match: - scheme = match.group(1).lower() - if (scheme == 'file' and comes_from and - comes_from.startswith('http')): - raise InstallationError( - 'Requirements file %s references URL %s, which is local' - % (comes_from, url)) - if scheme == 'file': - 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 - else: - # FIXME: catch some errors - resp = session.get(url) - resp.raise_for_status() - return resp.url, resp.text - 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 - - -_scheme_re = re.compile(r'^(http|https|file):', re.I) -_url_slash_drive_re = re.compile(r'/*([a-z])\|', re.I) - - -def is_url(name): - """Returns true if the name looks like a URL""" - if ':' not in name: - return False - scheme = name.split(':', 1)[0].lower() - return scheme in ['http', 'https', 'file', 'ftp'] + vcs.all_schemes - - -def url_to_path(url): - """ - 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 we have a UNC path, prepend UNC share notation - if netloc: - netloc = '\\\\' + netloc - - path = urllib_request.url2pathname(netloc + path) - return path - - -def path_to_url(path): - """ - 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 is_archive_file(name): - """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 unpack_vcs_link(link, location): - vcs_backend = _get_used_vcs_backend(link) - vcs_backend.unpack(location) - - -def _get_used_vcs_backend(link): - for backend in vcs.backends: - if link.scheme in backend.schemes: - vcs_backend = backend(link.url) - return vcs_backend - - -def is_vcs_url(link): - return bool(_get_used_vcs_backend(link)) - - -def is_file_url(link): - return link.url.lower().startswith('file:') - - -def is_dir_url(link): - """Return whether a file:// Link points to a directory. - - ``link`` must not have any other scheme but file://. Call is_file_url() - first. - - """ - link_path = url_to_path(link.url_without_fragment) - return os.path.isdir(link_path) - - -def _progress_indicator(iterable, *args, **kwargs): - return iterable - - -def _download_url(resp, link, content_file, hashes): - 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 - if total_length: - logger.info("Downloading %s (%s)", url, format_size(total_length)) - progress_indicator = DownloadProgressBar(max=total_length).iter - else: - logger.info("Downloading %s", url) - progress_indicator = DownloadProgressSpinner().iter - elif cached_resp: - logger.info("Using cached %s", url) - else: - logger.info("Downloading %s", url) - - logger.debug('Downloading from URL %s', link) - - 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, location, download_dir=None, - session=None, hashes=None): - if session is None: - raise TypeError( - "unpack_http_url() missing 1 required keyword argument: 'session'" - ) - - temp_dir = tempfile.mkdtemp('-unpack', 'pip-') - - # 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, - hashes) - - # 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, link) - - # 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) - rmtree(temp_dir) - - -def unpack_file_url(link, location, download_dir=None, hashes=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 = url_to_path(link.url_without_fragment) - - # If it's a url to a local directory - if is_dir_url(link): - if os.path.isdir(location): - rmtree(location) - shutil.copytree(link_path, location, symlinks=True) - 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, link) - - # 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 _copy_dist_from_dir(link_path, location): - """Copy distribution files in `link_path` to `location`. - - Invoked when user requests to install a local directory. E.g.: - - pip install . - pip install ~/dev/git-repos/python-prompt-toolkit - - """ - - # Note: This is currently VERY SLOW if you have a lot of data in the - # directory, because it copies everything with `shutil.copytree`. - # What it should really do is build an sdist and install that. - # See https://github.com/pypa/pip/issues/2195 - - if os.path.isdir(location): - rmtree(location) - - # build an sdist - setup_py = 'setup.py' - sdist_args = [sys.executable] - sdist_args.append('-c') - sdist_args.append(SETUPTOOLS_SHIM % setup_py) - sdist_args.append('sdist') - sdist_args += ['--dist-dir', location] - logger.info('Running setup.py sdist for %s', link_path) - - with indent_log(): - call_subprocess(sdist_args, cwd=link_path, show_stdout=False) - - # unpack sdist into `location` - sdist = os.path.join(location, os.listdir(location)[0]) - logger.info('Unpacking sdist %s into %s', sdist, location) - unpack_file(sdist, location, content_type=None, link=None) - - -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 - - -def unpack_url(link, location, download_dir=None, - only_download=False, session=None, hashes=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 is_vcs_url(link): - unpack_vcs_link(link, location) - - # file urls - elif is_file_url(link): - 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 - ) - if only_download: - write_delete_marker_file(location) - - -def _download_http_url(link, session, temp_dir, hashes): - """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: - type, params = cgi.parse_header(content_disposition) - # We use ``or`` here because we don't want to use an "empty" value - # from the filename param. - filename = params.get('filename') or filename - ext = splitext(filename)[1] - 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) - return file_path, content_type - - -def _check_download_dir(link, download_dir, hashes): - """ 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 os.path.exists(download_path): - # 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 - return None diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/exceptions.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/exceptions.py deleted file mode 100644 index 50b527f9..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/exceptions.py +++ /dev/null @@ -1,244 +0,0 @@ -"""Exceptions used throughout package""" -from __future__ import absolute_import - -from itertools import chain, groupby, repeat - -from pip._vendor.six import iteritems - - -class PipError(Exception): - """Base pip exception""" - - -class InstallationError(PipError): - """General exception during installation""" - - -class UninstallationError(PipError): - """General exception during uninstallation""" - - -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 - 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): - from pip.utils.hashes import FAVORITE_HASH # Dodge circular import. - - 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()) - prefix = ' or' - return '\n'.join(lines) - - -class UnsupportedPythonVersion(InstallationError): - """Unsupported python version according to Requires-Python package - metadata.""" diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/index.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/index.py deleted file mode 100644 index f653f6e6..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/index.py +++ /dev/null @@ -1,1102 +0,0 @@ -"""Routines related to PyPI, indexes""" -from __future__ import absolute_import - -import logging -import cgi -from collections import namedtuple -import itertools -import sys -import os -import re -import mimetypes -import posixpath -import warnings - -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves.urllib import request as urllib_request - -from pip.compat import ipaddress -from pip.utils import ( - cached_property, splitext, normalize_path, - ARCHIVE_EXTENSIONS, SUPPORTED_EXTENSIONS, -) -from pip.utils.deprecation import RemovedInPip10Warning -from pip.utils.logging import indent_log -from pip.utils.packaging import check_requires_python -from pip.exceptions import ( - DistributionNotFound, BestVersionAlreadyInstalled, InvalidWheelFilename, - UnsupportedWheel, -) -from pip.download import HAS_TLS, is_url, path_to_url, url_to_path -from pip.wheel import Wheel, wheel_ext -from pip.pep425tags import get_supported -from pip._vendor import html5lib, requests, six -from pip._vendor.packaging.version import parse as parse_version -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.packaging import specifiers -from pip._vendor.requests.exceptions import SSLError -from pip._vendor.distlib.compat import unescape - - -__all__ = ['FormatControl', 'fmt_ctl_handle_mutual_exclude', 'PackageFinder'] - - -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", "*", "*"), -] - - -logger = logging.getLogger(__name__) - - -class InstallationCandidate(object): - - def __init__(self, project, version, location): - self.project = project - self.version = parse_version(version) - self.location = location - self._key = (self.project, self.version, self.location) - - def __repr__(self): - return "".format( - self.project, self.version, self.location, - ) - - 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, InstallationCandidate): - return NotImplemented - - return method(self._key, other._key) - - -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, find_links, index_urls, allow_all_prereleases=False, - trusted_hosts=None, process_dependency_links=False, - session=None, format_control=None, platform=None, - versions=None, abi=None, implementation=None): - """Create a PackageFinder. - - :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 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 versions: A list of strings or None. This is passed directly - to pep425tags.py in the get_supported() method. - :param abi: A string or None. This is passed directly - to pep425tags.py in the get_supported() method. - :param implementation: A string or None. This is passed directly - to pep425tags.py in the get_supported() method. - """ - if session is None: - raise TypeError( - "PackageFinder() missing 1 required keyword argument: " - "'session'" - ) - - # 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 ~... - self.find_links = [] - for link in find_links: - if link.startswith('~'): - new_link = normalize_path(link) - if os.path.exists(new_link): - link = new_link - self.find_links.append(link) - - self.index_urls = index_urls - self.dependency_links = [] - - # These are boring links that have already been logged somehow: - self.logged_links = set() - - self.format_control = format_control or FormatControl(set(), set()) - - # Domains that we won't emit warnings for when not using HTTPS - self.secure_origins = [ - ("*", host, "*") - for host in (trusted_hosts if trusted_hosts else []) - ] - - # Do we want to allow _all_ pre-releases? - self.allow_all_prereleases = allow_all_prereleases - - # Do we process dependency links? - self.process_dependency_links = process_dependency_links - - # The Session we'll use to make requests - self.session = session - - # The valid tags to check potential found wheel candidates against - self.valid_tags = get_supported( - versions=versions, - platform=platform, - abi=abi, - impl=implementation, - ) - - # 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(self.index_urls, self.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 - - def add_dependency_links(self, links): - # # FIXME: this shouldn't be global list this, it should only - # # apply to requirements of the package that specifies the - # # dependency_links value - # # FIXME: also, we should track comes_from (i.e., use Link) - if self.process_dependency_links: - warnings.warn( - "Dependency Links processing has been deprecated and will be " - "removed in a future release.", - RemovedInPip10Warning, - ) - self.dependency_links.extend(links) - - @staticmethod - def _sort_locations(locations, expand_dir=False): - """ - Sort locations into "files" (archives) and "urls", and 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) - 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 - - def _candidate_sort_key(self, candidate): - """ - Function used to generate link sort key for link tuples. - The greater the return value, the more preferred it is. - If not finding wheels, then 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.valid_tags) - 3. source archives - 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 - """ - support_num = len(self.valid_tags) - if candidate.location.is_wheel: - # can raise InvalidWheelFilename - wheel = Wheel(candidate.location.filename) - if not wheel.supported(self.valid_tags): - raise UnsupportedWheel( - "%s is not a supported wheel for this platform. It " - "can't be sorted." % wheel.filename - ) - pri = -(wheel.support_index_min(self.valid_tags)) - else: # sdist - pri = -(support_num) - return (candidate.version, pri) - - def _validate_secure_origin(self, logger, location): - # Determine if this url used a secure transport mechanism - parsed = urllib_parse.urlparse(str(location)) - origin = (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.) - protocol = origin[0].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 (SECURE_ORIGINS + self.secure_origins): - if protocol != secure_origin[0] and secure_origin[0] != "*": - 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[1] - if ( - isinstance(origin[1], six.text_type) or - origin[1] is None - ) - else origin[1].decode("utf8") - ) - network = ipaddress.ip_network( - secure_origin[1] - if isinstance(secure_origin[1], six.text_type) - else secure_origin[1].decode("utf8") - ) - except ValueError: - # We don't have both a valid address or a valid network, so - # we'll check this origin against hostnames. - if (origin[1] and - origin[1].lower() != secure_origin[1].lower() and - secure_origin[1] != "*"): - 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 patches - if (origin[2] != secure_origin[2] and - secure_origin[2] != "*" and - secure_origin[2] 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 it " - "is recommended to use HTTPS instead, otherwise you may silence " - "this warning and allow it anyways with '--trusted-host %s'.", - parsed.hostname, - parsed.hostname, - ) - - return False - - def _get_index_urls_locations(self, project_name): - """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] - - def find_all_candidates(self, project_name): - """Find all available InstallationCandidate for project_name - - This checks index_urls, find_links and dependency_links. - All versions found are returned as an InstallationCandidate list. - - See _link_package_versions for details on which files are accepted - """ - index_locations = self._get_index_urls_locations(project_name) - index_file_loc, index_url_loc = self._sort_locations(index_locations) - fl_file_loc, fl_url_loc = self._sort_locations( - self.find_links, expand_dir=True) - dep_file_loc, dep_url_loc = self._sort_locations(self.dependency_links) - - file_locations = ( - Link(url) for url in itertools.chain( - index_file_loc, fl_file_loc, dep_file_loc) - ) - - # We trust every url that the user has given us whether it was given - # via --index-url or --find-links - # We explicitly do not trust links that came from dependency_links - # We want to filter out any thing which 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), - (Link(url) for url in dep_url_loc), - ) - if self._validate_secure_origin(logger, link) - ] - - logger.debug('%d location(s) to search for versions of %s:', - len(url_locations), project_name) - - for location in url_locations: - logger.debug('* %s', location) - - canonical_name = canonicalize_name(project_name) - formats = fmt_ctl_formats(self.format_control, canonical_name) - search = Search(project_name, canonical_name, formats) - find_links_versions = self._package_versions( - # We trust every directly linked archive in find_links - (Link(url, '-f') for url in self.find_links), - search - ) - - page_versions = [] - for page in self._get_pages(url_locations, project_name): - logger.debug('Analyzing links from page %s', page.url) - with indent_log(): - page_versions.extend( - self._package_versions(page.links, search) - ) - - dependency_versions = self._package_versions( - (Link(url) for url in self.dependency_links), search - ) - if dependency_versions: - logger.debug( - 'dependency_links found: %s', - ', '.join([ - version.location.url for version in dependency_versions - ]) - ) - - file_versions = self._package_versions(file_locations, search) - if file_versions: - file_versions.sort(reverse=True) - logger.debug( - 'Local files found: %s', - ', '.join([ - url_to_path(candidate.location.url) - for candidate in file_versions - ]) - ) - - # This is an intentional priority ordering - return ( - file_versions + find_links_versions + page_versions + - dependency_versions - ) - - def find_requirement(self, req, upgrade): - """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 - """ - all_candidates = self.find_all_candidates(req.name) - - # Filter out anything which doesn't match our specifier - compatible_versions = set( - req.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 all_candidates], - prereleases=( - self.allow_all_prereleases - if self.allow_all_prereleases else None - ), - ) - ) - applicable_candidates = [ - # Again, converting to str to deal with debundling. - c for c in all_candidates if str(c.version) in compatible_versions - ] - - if applicable_candidates: - best_candidate = max(applicable_candidates, - key=self._candidate_sort_key) - else: - best_candidate = None - - if req.satisfied_by is not None: - installed_version = parse_version(req.satisfied_by.version) - else: - installed_version = 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, - ', '.join( - sorted( - set(str(c.version) for c in all_candidates), - key=parse_version, - ) - ) - ) - - 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, - ', '.join(sorted(compatible_versions, key=parse_version)) or - "none", - ) - raise BestVersionAlreadyInstalled - - logger.debug( - 'Using version %s (newest of versions: %s)', - best_candidate.version, - ', '.join(sorted(compatible_versions, key=parse_version)) - ) - return best_candidate.location - - def _get_pages(self, locations, project_name): - """ - Yields (page, page_url) from the given locations, skipping - locations that have errors. - """ - seen = set() - for location in locations: - if location in seen: - continue - seen.add(location) - - page = self._get_page(location) - if page is None: - continue - - yield page - - _py_version_re = re.compile(r'-py([123]\.?[0-9]?)$') - - def _sort_links(self, links): - """ - Returns elements of links in order, non-egg links first, egg links - second, while eliminating duplicates - """ - eggs, no_eggs = [], [] - seen = set() - 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 _package_versions(self, links, search): - result = [] - for link in self._sort_links(links): - v = self._link_package_versions(link, search) - if v is not None: - result.append(v) - return result - - def _log_skipped_link(self, link, reason): - if link not in self.logged_links: - logger.debug('Skipping link %s; %s', link, reason) - self.logged_links.add(link) - - def _link_package_versions(self, link, search): - """Return an InstallationCandidate or None""" - version = None - if link.egg_fragment: - egg_info = link.egg_fragment - ext = link.ext - else: - egg_info, ext = link.splitext() - if not ext: - self._log_skipped_link(link, 'not a file') - return - if ext not in SUPPORTED_EXTENSIONS: - self._log_skipped_link( - link, 'unsupported archive format: %s' % ext) - return - if "binary" not in search.formats and ext == wheel_ext: - self._log_skipped_link( - link, 'No binaries permitted for %s' % search.supplied) - return - if "macosx10" in link.path and ext == '.zip': - self._log_skipped_link(link, 'macosx10 one') - return - if ext == wheel_ext: - try: - wheel = Wheel(link.filename) - except InvalidWheelFilename: - self._log_skipped_link(link, 'invalid wheel filename') - return - if canonicalize_name(wheel.name) != search.canonical: - self._log_skipped_link( - link, 'wrong project name (not %s)' % search.supplied) - return - - if not wheel.supported(self.valid_tags): - self._log_skipped_link( - link, 'it is not compatible with this Python') - return - - version = wheel.version - - # This should be up by the search.ok_binary check, but see issue 2700. - if "source" not in search.formats and ext != wheel_ext: - self._log_skipped_link( - link, 'No sources permitted for %s' % search.supplied) - return - - if not version: - version = egg_info_matches(egg_info, search.supplied, link) - if version is None: - self._log_skipped_link( - link, 'wrong project name (not %s)' % search.supplied) - return - - match = self._py_version_re.search(version) - if match: - version = version[:match.start()] - py_version = match.group(1) - if py_version != sys.version[:3]: - self._log_skipped_link( - link, 'Python version is incorrect') - return - try: - support_this_python = check_requires_python(link.requires_python) - except specifiers.InvalidSpecifier: - logger.debug("Package %s has an invalid Requires-Python entry: %s", - link.filename, link.requires_python) - support_this_python = True - - if not support_this_python: - logger.debug("The package %s is incompatible with the python" - "version in use. Acceptable python versions are:%s", - link, link.requires_python) - return - logger.debug('Found link %s, version: %s', link, version) - - return InstallationCandidate(search.supplied, version, link) - - def _get_page(self, link): - return HTMLPage.get_page(link, session=self.session) - - -def egg_info_matches( - egg_info, search_name, link, - _egg_info_re=re.compile(r'([a-z0-9_.]+)-([a-z0-9_.!+-]+)', re.I)): - """Pull the version part out of a string. - - :param egg_info: The string to parse. E.g. foo-2.1 - :param search_name: The name of the package this belongs to. None to - infer the name. Note that this cannot unambiguously parse strings - like foo-2-2 which might be foo, 2-2 or foo-2, 2. - :param link: The link the string came from, for logging on failure. - """ - match = _egg_info_re.search(egg_info) - if not match: - logger.debug('Could not parse version from link: %s', link) - return None - if search_name is None: - full_match = match.group(0) - return full_match[full_match.index('-'):] - name = match.group(0).lower() - # To match the "safe" name that pkg_resources creates: - name = name.replace('_', '-') - # project name and version must be separated by a dash - look_for = search_name.lower() + "-" - if name.startswith(look_for): - return match.group(0)[len(look_for):] - else: - return None - - -class HTMLPage(object): - """Represents one page, along with its URL""" - - def __init__(self, content, url, headers=None): - # Determine if we have any encoding information in our headers - encoding = None - if headers and "Content-Type" in headers: - content_type, params = cgi.parse_header(headers["Content-Type"]) - - if "charset" in params: - encoding = params['charset'] - - self.content = content - self.parsed = html5lib.parse( - self.content, - transport_encoding=encoding, - namespaceHTMLElements=False, - ) - self.url = url - self.headers = headers - - def __str__(self): - return self.url - - @classmethod - def get_page(cls, link, skip_archives=True, session=None): - if session is None: - raise TypeError( - "get_page() missing 1 required keyword argument: 'session'" - ) - - url = link.url - url = url.split('#', 1)[0] - - # Check for VCS schemes that do not support lookup as web pages. - from pip.vcs import VcsSupport - for scheme in VcsSupport.schemes: - if url.lower().startswith(scheme) and url[len(scheme)] in '+:': - logger.debug('Cannot look at %s URL %s', scheme, link) - return None - - try: - if skip_archives: - filename = link.filename - for bad_ext in ARCHIVE_EXTENSIONS: - if filename.endswith(bad_ext): - content_type = cls._get_content_type( - url, session=session, - ) - if content_type.lower().startswith('text/html'): - break - else: - logger.debug( - 'Skipping page %s because of Content-Type: %s', - link, - content_type, - ) - return - - logger.debug('Getting page %s', url) - - # Tack index.html onto file:// URLs that point to directories - (scheme, netloc, path, params, query, fragment) = \ - 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) - - resp = session.get( - url, - headers={ - "Accept": "text/html", - "Cache-Control": "max-age=600", - }, - ) - 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. - content_type = resp.headers.get('Content-Type', 'unknown') - if not content_type.lower().startswith("text/html"): - logger.debug( - 'Skipping page %s because of Content-Type: %s', - link, - content_type, - ) - return - - inst = cls(resp.content, resp.url, resp.headers) - except requests.HTTPError as exc: - cls._handle_fail(link, exc, url) - except SSLError as exc: - reason = ("There was a problem confirming the ssl certificate: " - "%s" % exc) - cls._handle_fail(link, reason, url, meth=logger.info) - except requests.ConnectionError as exc: - cls._handle_fail(link, "connection error: %s" % exc, url) - except requests.Timeout: - cls._handle_fail(link, "timed out", url) - else: - return inst - - @staticmethod - def _handle_fail(link, reason, url, meth=None): - if meth is None: - meth = logger.debug - - meth("Could not fetch URL %s: %s - skipping", link, reason) - - @staticmethod - def _get_content_type(url, session): - """Get the Content-Type of the given url, using a HEAD request""" - scheme, netloc, path, query, fragment = urllib_parse.urlsplit(url) - if scheme not in ('http', 'https'): - # FIXME: some warning or something? - # assertion error? - return '' - - resp = session.head(url, allow_redirects=True) - resp.raise_for_status() - - return resp.headers.get("Content-Type", "") - - @cached_property - def base_url(self): - bases = [ - x for x in self.parsed.findall(".//base") - if x.get("href") is not None - ] - if bases and bases[0].get("href"): - return bases[0].get("href") - else: - return self.url - - @property - def links(self): - """Yields all links in the page""" - for anchor in self.parsed.findall(".//a"): - if anchor.get("href"): - href = anchor.get("href") - url = self.clean_link( - urllib_parse.urljoin(self.base_url, href) - ) - pyrequire = anchor.get('data-requires-python') - pyrequire = unescape(pyrequire) if pyrequire else None - yield Link(url, self, requires_python=pyrequire) - - _clean_re = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I) - - def clean_link(self, url): - """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).""" - return self._clean_re.sub( - lambda match: '%%%2x' % ord(match.group(0)), url) - - -class Link(object): - - def __init__(self, url, comes_from=None, requires_python=None): - """ - Object representing a parsed link from https://pypi.python.org/simple/* - - url: - url of the resource pointed to (href of the link) - comes_from: - instance of HTMLPage where the link was found, or string. - 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. - """ - - # url can be a UNC windows share - if url.startswith('\\\\'): - url = path_to_url(url) - - self.url = url - self.comes_from = comes_from - self.requires_python = requires_python if requires_python else None - - 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' % (self.url, self.comes_from, rp) - else: - return str(self.url) - - def __repr__(self): - return '' % self - - def __eq__(self, other): - if not isinstance(other, Link): - return NotImplemented - return self.url == other.url - - def __ne__(self, other): - if not isinstance(other, Link): - return NotImplemented - return self.url != other.url - - def __lt__(self, other): - if not isinstance(other, Link): - return NotImplemented - return self.url < other.url - - def __le__(self, other): - if not isinstance(other, Link): - return NotImplemented - return self.url <= other.url - - def __gt__(self, other): - if not isinstance(other, Link): - return NotImplemented - return self.url > other.url - - def __ge__(self, other): - if not isinstance(other, Link): - return NotImplemented - return self.url >= other.url - - def __hash__(self): - return hash(self.url) - - @property - def filename(self): - _, netloc, path, _, _ = urllib_parse.urlsplit(self.url) - name = posixpath.basename(path.rstrip('/')) or netloc - name = urllib_parse.unquote(name) - assert name, ('URL %r produced no filename' % self.url) - return name - - @property - def scheme(self): - return urllib_parse.urlsplit(self.url)[0] - - @property - def netloc(self): - return urllib_parse.urlsplit(self.url)[1] - - @property - def path(self): - return urllib_parse.unquote(urllib_parse.urlsplit(self.url)[2]) - - def splitext(self): - return splitext(posixpath.basename(self.path.rstrip('/'))) - - @property - def ext(self): - return self.splitext()[1] - - @property - def url_without_fragment(self): - scheme, netloc, path, query, fragment = urllib_parse.urlsplit(self.url) - return urllib_parse.urlunsplit((scheme, netloc, path, query, None)) - - _egg_fragment_re = re.compile(r'[#&]egg=([^&]*)') - - @property - def egg_fragment(self): - 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): - 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): - match = self._hash_re.search(self.url) - if match: - return match.group(2) - return None - - @property - def hash_name(self): - match = self._hash_re.search(self.url) - if match: - return match.group(1) - return None - - @property - def show_url(self): - return posixpath.basename(self.url.split('#', 1)[0].split('?', 1)[0]) - - @property - def is_wheel(self): - return self.ext == wheel_ext - - @property - def is_artifact(self): - """ - Determines if this points to an actual artifact (e.g. a tarball) or if - it points to an "abstract" thing like a path or a VCS location. - """ - from pip.vcs import vcs - - if self.scheme in vcs.all_schemes: - return False - - return True - - -FormatControl = namedtuple('FormatControl', 'no_binary only_binary') -"""This object has two fields, no_binary and only_binary. - -If a field is falsy, it isn't set. If it is {':all:'}, it should match all -packages except those listed in the other field. Only one field can be set -to {':all:'} at a time. The rest of the time exact package name matches -are listed, with any given package only showing up in one field at a time. -""" - - -def fmt_ctl_handle_mutual_exclude(value, target, other): - new = value.split(',') - while ':all:' in new: - other.clear() - target.clear() - target.add(':all:') - del new[:new.index(':all:') + 1] - if ':none:' not in new: - # Without a none, we want to discard everything as :all: covers it - return - for name in new: - if name == ':none:': - target.clear() - continue - name = canonicalize_name(name) - other.discard(name) - target.add(name) - - -def fmt_ctl_formats(fmt_ctl, canonical_name): - result = set(["binary", "source"]) - if canonical_name in fmt_ctl.only_binary: - result.discard('source') - elif canonical_name in fmt_ctl.no_binary: - result.discard('binary') - elif ':all:' in fmt_ctl.only_binary: - result.discard('source') - elif ':all:' in fmt_ctl.no_binary: - result.discard('binary') - return frozenset(result) - - -def fmt_ctl_no_binary(fmt_ctl): - fmt_ctl_handle_mutual_exclude( - ':all:', fmt_ctl.no_binary, fmt_ctl.only_binary) - - -def fmt_ctl_no_use_wheel(fmt_ctl): - fmt_ctl_no_binary(fmt_ctl) - warnings.warn( - '--no-use-wheel is deprecated and will be removed in the future. ' - ' Please use --no-binary :all: instead.', RemovedInPip10Warning, - stacklevel=2) - - -Search = namedtuple('Search', 'supplied canonical formats') -"""Capture key aspects of a search. - -:attribute supplied: The user supplied package. -:attribute canonical: The canonical package name. -:attribute formats: The formats allowed for this package. Should be a set - with 'binary' or 'source' or both in it. -""" diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/locations.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/locations.py deleted file mode 100644 index e598ef10..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/locations.py +++ /dev/null @@ -1,182 +0,0 @@ -"""Locations where we look for configs, install stuff, etc""" -from __future__ import absolute_import - -import os -import os.path -import site -import sys - -from distutils import sysconfig -from distutils.command.install import install, SCHEME_KEYS # noqa - -from pip.compat import WINDOWS, expanduser -from pip.utils import appdirs - - -# Application Directories -USER_CACHE_DIR = appdirs.user_cache_dir("pip") - - -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 write_delete_marker_file(directory): - """ - 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) - - -def running_under_virtualenv(): - """ - Return True if we're running inside a virtualenv, False otherwise. - - """ - if hasattr(sys, 'real_prefix'): - return True - elif sys.prefix != getattr(sys, "base_prefix", sys.prefix): - return True - - return False - - -def virtualenv_no_global(): - """ - 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 - - -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/.. -# Note: using realpath due to tmp dirs on OSX being symlinks -src_prefix = os.path.abspath(src_prefix) - -# FIXME doesn't account for venv linked to global site-packages - -site_packages = sysconfig.get_python_lib() -user_site = site.USER_SITE -user_dir = expanduser('~') -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') - - config_basename = 'pip.ini' - - legacy_storage_dir = os.path.join(user_dir, 'pip') - legacy_config_file = os.path.join( - legacy_storage_dir, - config_basename, - ) -else: - bin_py = os.path.join(sys.prefix, 'bin') - bin_user = os.path.join(user_site, 'bin') - - config_basename = 'pip.conf' - - legacy_storage_dir = os.path.join(user_dir, '.pip') - legacy_config_file = os.path.join( - legacy_storage_dir, - config_basename, - ) - - # 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' - -site_config_files = [ - os.path.join(path, config_basename) - for path in appdirs.site_config_dirs('pip') -] - - -def distutils_scheme(dist_name, user=False, home=None, root=None, - isolated=False, prefix=None): - """ - 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} - dist_args.update(extra_dist_args) - - d = Distribution(dist_args) - d.parse_config_files() - i = d.get_command_obj('install', create=True) - # 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={0} prefix={1}".format(user, prefix) - i.user = user or i.user - if user: - 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 - if 'install_lib' in d.get_option_dict('install'): - 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' + sys.version[:3], - 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__init__.py deleted file mode 100644 index 1d727d7e..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from pip.models.index import Index, PyPI - - -__all__ = ["Index", "PyPI"] diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index eddcf38ab65148520821f3195976ce46ef68ca38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmYLD!Ab)$5KXdM6`{}%@CWwLO-m8GAmUAWkwQJKhhfX4Yc!jNq^<7B@9{VMj9fkW z3!a=P=!5qdX5M4oY&bl8nu5GM6!!Ij-)>yQVihDZs5qHz%v0Xh^}i~#MV4uowoHdR_uN!g7J109@~ z>1*^cxOOP|3Y~gK!GH^t!X3Y(sN?s2lCB1W{-+<`ieHqFpX6u+fNvqpOGun>s>qTS z9wqMy_qhK=xG(&@Uj!oH!JZZ&4?mDJ`VG5DN^RIov=K9`4#NX*3t`S62~to_3XfCn zJ(0raJ`Z3Hx-K@ntGIZa;UhS3#&`!|ZXoUGjxf^F(%aEJEq$mU%78-!ICR)^IC9u` zxW@^Q48}Gxa@isL*Uj|>jCqxRM7rnGl~nv(aK$dKnuSwdH0*e}tP9ThXv2=Udoqc5FI1Q0*HCYPAY@adEvQmf>#=fj3 zs=K345ABYQKtr`V2YKTMY%s+%?rB`vzF4$vW8UOBz92BBUDQ=p>v=v-qv8yl%h*~} yyw;hKkJ++b3zGpi_y{x-?$k#0v=p<}b+p0#=Kk(~6l{FcF@Fm`R>vdpPm;evYugn7 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/index.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/index.py deleted file mode 100644 index be991198..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/models/index.py +++ /dev/null @@ -1,16 +0,0 @@ -from pip._vendor.six.moves.urllib import parse as urllib_parse - - -class Index(object): - def __init__(self, url): - self.url = url - self.netloc = urllib_parse.urlsplit(url).netloc - self.simple_url = self.url_to_path('simple') - self.pypi_url = self.url_to_path('pypi') - self.pip_json_url = self.url_to_path('pypi/pip/json') - - def url_to_path(self, path): - return urllib_parse.urljoin(self.url, path) - - -PyPI = Index('https://pypi.python.org/') diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index caa26a87e34f2229c7ef09d97a59a71e60d17a2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 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 JF@v~?_y2G6Kp6l4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/check.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/check.py deleted file mode 100644 index 2cf67aae..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/check.py +++ /dev/null @@ -1,49 +0,0 @@ - - -def check_requirements(installed_dists): - missing_reqs_dict = {} - incompatible_reqs_dict = {} - - for dist in installed_dists: - key = '%s==%s' % (dist.project_name, dist.version) - - missing_reqs = list(get_missing_reqs(dist, installed_dists)) - if missing_reqs: - missing_reqs_dict[key] = missing_reqs - - incompatible_reqs = list(get_incompatible_reqs( - dist, installed_dists)) - if incompatible_reqs: - incompatible_reqs_dict[key] = incompatible_reqs - - return (missing_reqs_dict, incompatible_reqs_dict) - - -def get_missing_reqs(dist, installed_dists): - """Return all of the requirements of `dist` that aren't present in - `installed_dists`. - - """ - installed_names = set(d.project_name.lower() for d in installed_dists) - missing_requirements = set() - - for requirement in dist.requires(): - if requirement.project_name.lower() not in installed_names: - missing_requirements.add(requirement) - yield requirement - - -def get_incompatible_reqs(dist, installed_dists): - """Return all of the requirements of `dist` that are present in - `installed_dists`, but have incompatible versions. - - """ - installed_dists_by_name = {} - for installed_dist in installed_dists: - installed_dists_by_name[installed_dist.project_name] = installed_dist - - for requirement in dist.requires(): - present_dist = installed_dists_by_name.get(requirement.project_name) - - if present_dist and present_dist not in requirement: - yield (requirement, present_dist) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/freeze.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/freeze.py deleted file mode 100644 index 920c2c12..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/operations/freeze.py +++ /dev/null @@ -1,132 +0,0 @@ -from __future__ import absolute_import - -import logging -import re - -import pip -from pip.req import InstallRequirement -from pip.req.req_file import COMMENT_RE -from pip.utils import get_installed_distributions -from pip._vendor import pkg_resources -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.pkg_resources import RequirementParseError - - -logger = logging.getLogger(__name__) - - -def freeze( - requirement=None, - find_links=None, local_only=None, user_only=None, skip_regex=None, - default_vcs=None, - isolated=False, - wheel_cache=None, - skip=()): - find_links = find_links or [] - skip_match = None - - if skip_regex: - skip_match = re.compile(skip_regex).search - - dependency_links = [] - - for dist in pkg_resources.working_set: - if dist.has_metadata('dependency_links.txt'): - dependency_links.extend( - dist.get_metadata_lines('dependency_links.txt') - ) - for link in find_links: - if '#egg=' in link: - dependency_links.append(link) - for link in find_links: - yield '-f %s' % link - installations = {} - for dist in get_installed_distributions(local_only=local_only, - skip=(), - user_only=user_only): - try: - req = pip.FrozenRequirement.from_dist( - dist, - dependency_links - ) - except RequirementParseError: - logger.warning( - "Could not parse requirement: %s", - dist.project_name - ) - 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() - 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 = InstallRequirement.from_editable( - line, - default_vcs=default_vcs, - isolated=isolated, - wheel_cache=wheel_cache, - ) - else: - line_req = InstallRequirement.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: - logger.warning( - "Requirement file [%s] contains %s, but that " - "package is not installed", - req_file_path, COMMENT_RE.sub('', line).strip(), - ) - else: - yield str(installations[line_req.name]).rstrip() - del installations[line_req.name] - - 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() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/pep425tags.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/pep425tags.py deleted file mode 100644 index ad202ef3..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/pep425tags.py +++ /dev/null @@ -1,324 +0,0 @@ -"""Generate and work with PEP 425 Compatibility Tags.""" -from __future__ import absolute_import - -import re -import sys -import warnings -import platform -import logging - -try: - import sysconfig -except ImportError: # pragma nocover - # Python < 2.7 - import distutils.sysconfig as sysconfig -import distutils.util - -from pip.compat import OrderedDict -import pip.utils.glibc - -logger = logging.getLogger(__name__) - -_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)') - - -def get_config_var(var): - try: - return sysconfig.get_config_var(var) - except IOError as e: # Issue #1074 - warnings.warn("{0}".format(e), RuntimeWarning) - return None - - -def get_abbr_impl(): - """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 get_impl_ver(): - """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(): - """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 - return (sys.version_info[0], sys.pypy_version_info.major, - sys.pypy_version_info.minor) - else: - return sys.version_info[0], sys.version_info[1] - - -def get_impl_tag(): - """ - Returns the Tag for this specific implementation. - """ - return "{0}{1}".format(get_abbr_impl(), get_impl_ver()) - - -def get_flag(var, fallback, expected=True, warn=True): - """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(): - """Return the ABI tag based on SOABI (if available) or emulate SOABI - (CPython 2, PyPy).""" - soabi = get_config_var('SOABI') - impl = get_abbr_impl() - if not soabi and impl in ('cp', 'pp') and hasattr(sys, 'maxunicode'): - d = '' - m = '' - u = '' - if get_flag('Py_DEBUG', - lambda: hasattr(sys, 'gettotalrefcount'), - warn=(impl == 'cp')): - d = 'd' - if get_flag('WITH_PYMALLOC', - lambda: impl == 'cp', - warn=(impl == 'cp')): - m = 'm' - if get_flag('Py_UNICODE_SIZE', - lambda: sys.maxunicode == 0x10ffff, - expected=4, - warn=(impl == 'cp' and - sys.version_info < (3, 3))) \ - and sys.version_info < (3, 3): - 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('-', '_') - else: - abi = None - return abi - - -def _is_running_32bit(): - return sys.maxsize == 2147483647 - - -def get_platform(): - """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_{0}_{1}_{2}'.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_manylinux1_compatible(): - # 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.utils.glibc.have_compatible_glibc(2, 5) - - -def get_darwin_arches(major, minor, machine): - """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): - # 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")), - ]) - - 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_supported(versions=None, noarch=False, platform=None, - impl=None, abi=None): - """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: - versions = [] - version_info = get_impl_version_info() - 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,)))) - - impl = impl or get_abbr_impl() - - abis = [] - - abi = abi or get_abi_tag() - if abi: - abis[0:0] = [abi] - - abi3s = set() - import imp - for suffix in imp.get_suffixes(): - if suffix[0].startswith('.abi'): - abi3s.add(suffix[0].split('.', 2)[1]) - - abis.extend(sorted(list(abi3s))) - - abis.append('none') - - if not noarch: - arch = platform or get_platform() - 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 = '{0}_{1}_%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 platform is None and is_manylinux1_compatible(): - arches = [arch.replace('linux', 'manylinux1'), 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 - -supported_tags = get_supported() -supported_tags_noarch = get_supported(noarch=True) - -implementation_tag = get_impl_tag() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__init__.py deleted file mode 100644 index 00185a43..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__init__.py +++ /dev/null @@ -1,10 +0,0 @@ -from __future__ import absolute_import - -from .req_install import InstallRequirement -from .req_set import RequirementSet, Requirements -from .req_file import parse_requirements - -__all__ = [ - "RequirementSet", "Requirements", "InstallRequirement", - "parse_requirements", -] diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 807d3cf90159a41a258e63e8d7acb709f5167dec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 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 I&KE}h6V{+x$N&HU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/req_install.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/__pycache__/req_install.cpython-36.pyc deleted file mode 100644 index 1dc10e829d78395a1fb41422e40cf3e8e067b0cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30172 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_file.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_file.py deleted file mode 100644 index 821df227..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_file.py +++ /dev/null @@ -1,342 +0,0 @@ -""" -Requirements file parsing -""" - -from __future__ import absolute_import - -import os -import re -import shlex -import sys -import optparse -import warnings - -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves import filterfalse - -import pip -from pip.download import get_file_content -from pip.req.req_install import InstallRequirement -from pip.exceptions import (RequirementsFileParseError) -from pip.utils.deprecation import RemovedInPip10Warning -from pip import cmdoptions - -__all__ = ['parse_requirements'] - -SCHEME_RE = re.compile(r'^(http|https|file):', re.I) -COMMENT_RE = re.compile(r'(^|\s)+#.*$') - -SUPPORTED_OPTIONS = [ - cmdoptions.constraints, - cmdoptions.editable, - cmdoptions.requirements, - cmdoptions.no_index, - cmdoptions.index_url, - cmdoptions.find_links, - cmdoptions.extra_index_url, - cmdoptions.allow_external, - cmdoptions.allow_all_external, - cmdoptions.no_allow_external, - cmdoptions.allow_unsafe, - cmdoptions.no_allow_unsafe, - cmdoptions.use_wheel, - cmdoptions.no_use_wheel, - cmdoptions.always_unzip, - cmdoptions.no_binary, - cmdoptions.only_binary, - cmdoptions.pre, - cmdoptions.process_dependency_links, - cmdoptions.trusted_host, - cmdoptions.require_hashes, -] - -# options to be passed to requirements -SUPPORTED_OPTIONS_REQ = [ - cmdoptions.install_options, - cmdoptions.global_options, - cmdoptions.hash, -] - -# the 'dest' string values -SUPPORTED_OPTIONS_REQ_DEST = [o().dest for o in SUPPORTED_OPTIONS_REQ] - - -def parse_requirements(filename, finder=None, comes_from=None, options=None, - session=None, constraint=False, wheel_cache=None): - """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 - """ - 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, - constraint=constraint) - for req in req_iter: - yield req - - -def preprocess(content, options): - """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) - lines_enum = join_lines(lines_enum) - lines_enum = ignore_comments(lines_enum) - lines_enum = skip_regex(lines_enum, options) - return lines_enum - - -def process_line(line, filename, line_number, finder=None, comes_from=None, - options=None, session=None, wheel_cache=None, - constraint=False): - """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() - defaults = parser.get_default_values() - defaults.index_url = None - if finder: - # `finder.format_control` will be updated during parsing - defaults.format_control = finder.format_control - args_str, options_str = break_args_options(line) - if sys.version_info < (2, 7, 3): - # Prior to 2.7.3, shlex cannot deal with unicode entries - options_str = options_str.encode('utf8') - opts, _ = parser.parse_args(shlex.split(options_str), defaults) - - # 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] - yield InstallRequirement.from_line( - args_str, line_comes_from, constraint=constraint, - isolated=isolated, options=req_options, wheel_cache=wheel_cache - ) - - # yield an editable requirement - elif opts.editables: - isolated = options.isolated_mode if options else False - default_vcs = options.default_vcs if options else None - yield InstallRequirement.from_editable( - opts.editables[0], comes_from=line_comes_from, - constraint=constraint, default_vcs=default_vcs, 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? - parser = parse_requirements( - req_path, finder, comes_from, options, session, - constraint=nested_constraint, wheel_cache=wheel_cache - ) - for req in parser: - yield req - - # percolate hash-checking option upward - elif opts.require_hashes: - options.require_hashes = opts.require_hashes - - # set finder options - elif finder: - if opts.allow_external: - warnings.warn( - "--allow-external has been deprecated and will be removed in " - "the future. Due to changes in the repository protocol, it no " - "longer has any effect.", - RemovedInPip10Warning, - ) - - if opts.allow_all_external: - warnings.warn( - "--allow-all-external has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - if opts.allow_unverified: - warnings.warn( - "--allow-unverified has been deprecated and will be removed " - "in the future. Due to changes in the repository protocol, it " - "no longer has any effect.", - RemovedInPip10Warning, - ) - - if opts.index_url: - finder.index_urls = [opts.index_url] - if opts.use_wheel is False: - finder.use_wheel = False - pip.index.fmt_ctl_no_use_wheel(finder.format_control) - if opts.no_index is True: - finder.index_urls = [] - if opts.extra_index_urls: - finder.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 - finder.find_links.append(value) - if opts.pre: - finder.allow_all_prereleases = True - if opts.process_dependency_links: - finder.process_dependency_links = True - if opts.trusted_hosts: - finder.secure_origins.extend( - ("*", host, "*") for host in opts.trusted_hosts) - - -def break_args_options(line): - """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) - - -def build_parser(): - """ - 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): - raise RequirementsFileParseError(msg) - parser.exit = parser_exit - - return parser - - -def join_lines(lines_enum): - """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 = [] - 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): - """ - 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): - """ - 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_install.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_install.py deleted file mode 100644 index 1a98f377..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_install.py +++ /dev/null @@ -1,1204 +0,0 @@ -from __future__ import absolute_import - -import logging -import os -import re -import shutil -import sys -import tempfile -import traceback -import warnings -import zipfile - -from distutils import sysconfig -from distutils.util import change_root -from email.parser import FeedParser - -from pip._vendor import pkg_resources, six -from pip._vendor.packaging import specifiers -from pip._vendor.packaging.markers import Marker -from pip._vendor.packaging.requirements import InvalidRequirement, Requirement -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.packaging.version import Version, parse as parse_version -from pip._vendor.six.moves import configparser - -import pip.wheel - -from pip.compat import native_str, get_stdlib, WINDOWS -from pip.download import is_url, url_to_path, path_to_url, is_archive_file -from pip.exceptions import ( - InstallationError, UninstallationError, -) -from pip.locations import ( - bin_py, running_under_virtualenv, PIP_DELETE_MARKER_FILENAME, bin_user, -) -from pip.utils import ( - display_path, rmtree, ask_path_exists, backup_dir, is_installable_dir, - dist_in_usersite, dist_in_site_packages, egg_link_path, - call_subprocess, read_text_file, FakeFile, _make_build_dir, ensure_dir, - get_installed_version, normalize_path, dist_is_local, -) - -from pip.utils.hashes import Hashes -from pip.utils.deprecation import RemovedInPip10Warning -from pip.utils.logging import indent_log -from pip.utils.setuptools_build import SETUPTOOLS_SHIM -from pip.utils.ui import open_spinner -from pip.req.req_uninstall import UninstallPathSet -from pip.vcs import vcs -from pip.wheel import move_wheel_files, Wheel - - -logger = logging.getLogger(__name__) - -operators = specifiers.Specifier._operators.keys() - - -def _strip_extras(path): - 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 _safe_extras(extras): - return set(pkg_resources.safe_extra(extra) for extra in extras) - - -class InstallRequirement(object): - - def __init__(self, req, comes_from, source_dir=None, editable=False, - link=None, as_egg=False, update=True, - pycompile=True, markers=None, isolated=False, options=None, - wheel_cache=None, constraint=False): - self.extras = () - if isinstance(req, six.string_types): - try: - req = Requirement(req) - except InvalidRequirement: - if os.path.sep in req: - add_msg = "It looks like a path. Does it exist ?" - elif '=' in req and not any(op in req for op in operators): - add_msg = "= is not a valid operator. Did you mean == ?" - else: - add_msg = traceback.format_exc() - raise InstallationError( - "Invalid requirement: '%s'\n%s" % (req, add_msg)) - self.extras = _safe_extras(req.extras) - - self.req = req - self.comes_from = comes_from - self.constraint = constraint - self.source_dir = source_dir - self.editable = editable - - self._wheel_cache = wheel_cache - self.link = self.original_link = link - self.as_egg = as_egg - if markers is not None: - self.markers = markers - else: - self.markers = req and req.marker - self._egg_info_path = None - # 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 - # Used to store the global directory where the _temp_build_dir should - # have been created. Cf _correct_build_location method. - self._ideal_build_dir = None - # True if the editable should be updated: - self.update = update - # Set to True after successful installation - self.install_succeeded = None - # UninstallPathSet of uninstalled distribution (for possible rollback) - self.uninstalled = None - # Set True if a legitimate do-nothing-on-uninstall has happened - e.g. - # system site packages, stdlib packages. - self.nothing_to_uninstall = False - self.use_user_site = False - self.target_dir = None - self.options = options if options else {} - self.pycompile = pycompile - # Set to True after successful preparation of this requirement - self.prepared = False - - self.isolated = isolated - - @classmethod - def from_editable(cls, editable_req, comes_from=None, default_vcs=None, - isolated=False, options=None, wheel_cache=None, - constraint=False): - from pip.index import Link - - name, url, extras_override = parse_editable( - editable_req, default_vcs) - if url.startswith('file:'): - source_dir = url_to_path(url) - else: - source_dir = None - - res = cls(name, comes_from, source_dir=source_dir, - editable=True, - link=Link(url), - constraint=constraint, - isolated=isolated, - options=options if options else {}, - wheel_cache=wheel_cache) - - if extras_override is not None: - res.extras = _safe_extras(extras_override) - - return res - - @classmethod - def from_line( - cls, name, comes_from=None, isolated=False, options=None, - wheel_cache=None, constraint=False): - """Creates an InstallRequirement from a name, which might be a - requirement, directory containing 'setup.py', filename, or URL. - """ - from pip.index import Link - - if is_url(name): - marker_sep = '; ' - else: - marker_sep = ';' - if marker_sep in name: - name, markers = name.split(marker_sep, 1) - markers = markers.strip() - if not markers: - markers = None - else: - markers = Marker(markers) - else: - markers = None - name = name.strip() - req = None - path = os.path.normpath(os.path.abspath(name)) - link = None - extras = None - - if is_url(name): - link = Link(name) - else: - p, extras = _strip_extras(path) - if (os.path.isdir(p) and - (os.path.sep in name or name.startswith('.'))): - - if not is_installable_dir(p): - raise InstallationError( - "Directory %r is not installable. File 'setup.py' " - "not found." % name - ) - link = Link(path_to_url(p)) - elif is_archive_file(p): - if not os.path.isfile(p): - logger.warning( - 'Requirement %r looks like a filename, but the ' - 'file does not exist', - name - ) - link = Link(path_to_url(p)) - - # 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 = "%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 = link.egg_fragment - - # a requirement specifier - else: - req = name - - options = options if options else {} - res = cls(req, comes_from, link=link, markers=markers, - isolated=isolated, options=options, - wheel_cache=wheel_cache, constraint=constraint) - - if extras: - res.extras = _safe_extras( - Requirement('placeholder' + extras).extras) - - return res - - def __str__(self): - if self.req: - s = str(self.req) - if self.link: - s += ' from %s' % self.link.url - else: - s = self.link.url if self.link else None - 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 - else: - comes_from = self.comes_from.from_path() - if comes_from: - s += ' (from %s)' % comes_from - return s - - def __repr__(self): - return '<%s object: %s editable=%r>' % ( - self.__class__.__name__, str(self), self.editable) - - def populate_link(self, finder, upgrade, require_hashes): - """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 - self.link = self._wheel_cache.cached_wheel(self.link, self.name) - if old_link != self.link: - logger.debug('Using cached wheel link: %s', self.link) - - @property - def specifier(self): - return self.req.specifier - - @property - def is_pinned(self): - """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 ('==', '===')) - - def from_path(self): - 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 build_location(self, build_dir): - if self._temp_build_dir is not None: - return self._temp_build_dir - 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 _correct_build_location - # 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 = os.path.realpath( - tempfile.mkdtemp('-build', 'pip-') - ) - self._ideal_build_dir = build_dir - return self._temp_build_dir - 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 _correct_build_location(self): - """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 by self.egg_info_path to fix the temporary build - directory. - """ - if self.source_dir is not None: - return - assert self.req is not None - assert self._temp_build_dir - assert self._ideal_build_dir - old_location = self._temp_build_dir - self._temp_build_dir = None - new_location = self.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)) - logger.debug( - 'Moving package %s from %s to new location %s', - self, display_path(old_location), display_path(new_location), - ) - shutil.move(old_location, new_location) - self._temp_build_dir = new_location - self._ideal_build_dir = None - self.source_dir = new_location - self._egg_info_path = None - - @property - def name(self): - if self.req is None: - return None - return native_str(pkg_resources.safe_name(self.req.name)) - - @property - def setup_py_dir(self): - return os.path.join( - self.source_dir, - self.link and self.link.subdirectory_fragment or '') - - @property - def setup_py(self): - assert self.source_dir, "No source dir for %s" % self - try: - import setuptools # noqa - except ImportError: - if get_installed_version('setuptools') is None: - add_msg = "Please install setuptools." - else: - add_msg = traceback.format_exc() - # Setuptools is not available - raise InstallationError( - "Could not import setuptools which is required to " - "install from a source distribution.\n%s" % add_msg - ) - - setup_py = os.path.join(self.setup_py_dir, '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 - - def run_egg_info(self): - assert self.source_dir - if self.name: - logger.debug( - 'Running setup.py (path:%s) egg_info for package %s', - self.setup_py, self.name, - ) - else: - logger.debug( - 'Running setup.py (path:%s) egg_info for package from %s', - self.setup_py, self.link, - ) - - with indent_log(): - script = SETUPTOOLS_SHIM % self.setup_py - base_cmd = [sys.executable, '-c', script] - if self.isolated: - base_cmd += ["--no-user-cfg"] - egg_info_cmd = base_cmd + ['egg_info'] - # We can't put the .egg-info files at the root, because then the - # source code will be mistaken for an installed egg, causing - # problems - if self.editable: - egg_base_option = [] - else: - egg_info_dir = os.path.join(self.setup_py_dir, 'pip-egg-info') - ensure_dir(egg_info_dir) - egg_base_option = ['--egg-base', 'pip-egg-info'] - call_subprocess( - egg_info_cmd + egg_base_option, - cwd=self.setup_py_dir, - show_stdout=False, - command_desc='python setup.py egg_info') - - if not self.req: - if isinstance(parse_version(self.pkg_info()["Version"]), Version): - op = "==" - else: - op = "===" - self.req = Requirement( - "".join([ - self.pkg_info()["Name"], - op, - self.pkg_info()["Version"], - ]) - ) - self._correct_build_location() - else: - metadata_name = canonicalize_name(self.pkg_info()["Name"]) - if canonicalize_name(self.req.name) != metadata_name: - logger.warning( - 'Running setup.py (path:%s) egg_info for package %s ' - 'produced metadata for project name %s. Fix your ' - '#egg=%s fragments.', - self.setup_py, self.name, metadata_name, self.name - ) - self.req = Requirement(metadata_name) - - def egg_info_data(self, filename): - if self.satisfied_by is not None: - if not self.satisfied_by.has_metadata(filename): - return None - return self.satisfied_by.get_metadata(filename) - assert self.source_dir - filename = self.egg_info_path(filename) - if not os.path.exists(filename): - return None - data = read_text_file(filename) - return data - - def egg_info_path(self, filename): - if self._egg_info_path is None: - if self.editable: - base = self.source_dir - else: - base = os.path.join(self.setup_py_dir, 'pip-egg-info') - filenames = os.listdir(base) - if self.editable: - filenames = [] - 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): - # Don't search in anything that looks like a virtualenv - # environment - if ( - os.path.lexists( - os.path.join(root, dir, 'bin', 'python') - ) or - os.path.exists( - os.path.join( - root, dir, 'Scripts', 'Python.exe' - ) - )): - dirs.remove(dir) - # Also don't search through tests - elif dir == 'test' or dir == 'tests': - dirs.remove(dir) - filenames.extend([os.path.join(root, dir) - for dir in dirs]) - filenames = [f for f in filenames if f.endswith('.egg-info')] - - if not filenames: - raise InstallationError( - 'No files/directories in %s (from %s)' % (base, filename) - ) - assert filenames, \ - "No files/directories in %s (from %s)" % (base, filename) - - # 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=lambda x: x.count(os.path.sep) + - (os.path.altsep and x.count(os.path.altsep) or 0) - ) - self._egg_info_path = os.path.join(base, filenames[0]) - return os.path.join(self._egg_info_path, filename) - - def pkg_info(self): - p = FeedParser() - data = self.egg_info_data('PKG-INFO') - if not data: - logger.warning( - 'No PKG-INFO file found in %s', - display_path(self.egg_info_path('PKG-INFO')), - ) - p.feed(data or '') - return p.close() - - _requirements_section_re = re.compile(r'\[(.*?)\]') - - @property - def installed_version(self): - return get_installed_version(self.name) - - def assert_source_matches_version(self): - assert self.source_dir - version = self.pkg_info()['version'] - if self.req.specifier and version not in self.req.specifier: - logger.warning( - 'Requested %s, but installing version %s', - self, - self.installed_version, - ) - else: - logger.debug( - 'Source in %s has version %s, which satisfies requirement %s', - display_path(self.source_dir), - version, - self, - ) - - def update_editable(self, obtain=True): - 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 - if not self.update: - return - vc_type, url = self.link.url.split('+', 1) - backend = vcs.get_backend(vc_type) - if backend: - vcs_backend = backend(self.link.url) - if obtain: - vcs_backend.obtain(self.source_dir) - else: - vcs_backend.export(self.source_dir) - else: - assert 0, ( - 'Unexpected version control type (in %s): %s' - % (self.link, vc_type)) - - def uninstall(self, auto_confirm=False): - """ - 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(): - raise UninstallationError( - "Cannot uninstall requirement %s, not installed" % (self.name,) - ) - dist = self.satisfied_by or self.conflicts_with - - 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, - ) - self.nothing_to_uninstall = True - return - - if dist_path in get_stdlib(): - logger.info( - "Not uninstalling %s at %s, as it is in the standard library.", - dist.key, - dist_path, - ) - self.nothing_to_uninstall = True - return - - paths_to_remove = UninstallPathSet(dist) - develop_egg_link = egg_link_path(dist) - develop_egg_link_egg_info = '{0}.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: - warnings.warn( - "Uninstalling a distutils installed project ({0}) has been " - "deprecated and will be removed in a future version. This is " - "due to the fact that uninstalling a distutils project will " - "only partially uninstall the project.".format(self.name), - RemovedInPip10Warning, - ) - paths_to_remove.add(distutils_egg_info) - - 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 pip.wheel.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, self.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 - if dist.has_metadata('entry_points.txt'): - if six.PY2: - options = {} - else: - options = {"delimiters": ('=', )} - config = configparser.SafeConfigParser(**options) - config.readfp( - FakeFile(dist.get_metadata_lines('entry_points.txt')) - ) - if config.has_section('console_scripts'): - for name, value in config.items('console_scripts'): - if dist_in_usersite(dist): - bin_dir = bin_user - else: - bin_dir = bin_py - paths_to_remove.add(os.path.join(bin_dir, name)) - if WINDOWS: - paths_to_remove.add( - os.path.join(bin_dir, name) + '.exe' - ) - paths_to_remove.add( - os.path.join(bin_dir, name) + '.exe.manifest' - ) - paths_to_remove.add( - os.path.join(bin_dir, name) + '-script.py' - ) - - paths_to_remove.remove(auto_confirm) - self.uninstalled = paths_to_remove - - def rollback_uninstall(self): - if self.uninstalled: - self.uninstalled.rollback() - else: - logger.error( - "Can't rollback %s, nothing uninstalled.", self.name, - ) - - def commit_uninstall(self): - if self.uninstalled: - self.uninstalled.commit() - elif not self.nothing_to_uninstall: - logger.error( - "Can't commit %s, nothing uninstalled.", self.name, - ) - - def archive(self, build_dir): - assert self.source_dir - create_archive = True - archive_name = '%s-%s.zip' % (self.name, self.pkg_info()["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 create_archive: - zip = zipfile.ZipFile( - archive_path, 'w', zipfile.ZIP_DEFLATED, - allowZip64=True - ) - dir = os.path.normcase(os.path.abspath(self.setup_py_dir)) - for dirpath, dirnames, filenames in os.walk(dir): - if 'pip-egg-info' in dirnames: - dirnames.remove('pip-egg-info') - for dirname in dirnames: - dirname = os.path.join(dirpath, dirname) - name = self._clean_zip_name(dirname, dir) - zipdir = zipfile.ZipInfo(self.name + '/' + name + '/') - zipdir.external_attr = 0x1ED << 16 # 0o755 - zip.writestr(zipdir, '') - for filename in filenames: - if filename == PIP_DELETE_MARKER_FILENAME: - continue - filename = os.path.join(dirpath, filename) - name = self._clean_zip_name(filename, dir) - zip.write(filename, self.name + '/' + name) - zip.close() - logger.info('Saved %s', display_path(archive_path)) - - def _clean_zip_name(self, name, prefix): - 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 match_markers(self, extras_requested=None): - 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 - - def install(self, install_options, global_options=[], root=None, - prefix=None): - if self.editable: - self.install_editable( - install_options, global_options, prefix=prefix) - return - if self.is_wheel: - version = pip.wheel.wheel_version(self.source_dir) - pip.wheel.check_compatibility(version, self.name) - - self.move_wheel_files(self.source_dir, root=root, prefix=prefix) - 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 += self.options.get('global_options', []) - install_options += self.options.get('install_options', []) - - if self.isolated: - global_options = list(global_options) + ["--no-user-cfg"] - - temp_location = tempfile.mkdtemp('-record', 'pip-') - record_filename = os.path.join(temp_location, 'install-record.txt') - try: - install_args = self.get_install_args( - global_options, record_filename, root, prefix) - msg = 'Running setup.py install for %s' % (self.name,) - with open_spinner(msg) as spinner: - with indent_log(): - call_subprocess( - install_args + install_options, - cwd=self.setup_py_dir, - show_stdout=False, - spinner=spinner, - ) - - if not os.path.exists(record_filename): - logger.debug('Record file %s not found', record_filename) - return - self.install_succeeded = True - if self.as_egg: - # there's no --always-unzip option we can pass to install - # command so we unable to save the installed-files.txt - return - - def prepend_root(path): - 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 - # FIXME: should this be an error? - 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) - ) - 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') - finally: - if os.path.exists(record_filename): - os.remove(record_filename) - rmtree(temp_location) - - def ensure_has_source_dir(self, parent_dir): - """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.build_location(parent_dir) - return self.source_dir - - def get_install_args(self, global_options, record_filename, root, prefix): - install_args = [sys.executable, "-u"] - install_args.append('-c') - install_args.append(SETUPTOOLS_SHIM % self.setup_py) - install_args += list(global_options) + \ - ['install', '--record', record_filename] - - if not self.as_egg: - 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 self.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 - - def remove_temporary_source(self): - """Remove the source files from this requirement, if they are marked - for deletion""" - if self.source_dir and os.path.exists( - os.path.join(self.source_dir, PIP_DELETE_MARKER_FILENAME)): - logger.debug('Removing source in %s', self.source_dir) - rmtree(self.source_dir) - self.source_dir = None - if self._temp_build_dir and os.path.exists(self._temp_build_dir): - rmtree(self._temp_build_dir) - self._temp_build_dir = None - - def install_editable(self, install_options, - global_options=(), prefix=None): - logger.info('Running setup.py develop for %s', self.name) - - if self.isolated: - global_options = list(global_options) + ["--no-user-cfg"] - - if prefix: - prefix_param = ['--prefix={0}'.format(prefix)] - install_options = list(install_options) + prefix_param - - with indent_log(): - # FIXME: should we do --install-headers here too? - call_subprocess( - [ - sys.executable, - '-c', - SETUPTOOLS_SHIM % self.setup_py - ] + - list(global_options) + - ['develop', '--no-deps'] + - list(install_options), - - cwd=self.setup_py_dir, - show_stdout=False) - - self.install_succeeded = True - - def check_if_exists(self): - """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 self.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 - - @property - def is_wheel(self): - return self.link and self.link.is_wheel - - def move_wheel_files(self, wheeldir, root=None, prefix=None): - move_wheel_files( - self.name, self.req, wheeldir, - user=self.use_user_site, - home=self.target_dir, - root=root, - prefix=prefix, - pycompile=self.pycompile, - isolated=self.isolated, - ) - - def get_dist(self): - """Return a pkg_resources.Distribution built from self.egg_info_path""" - egg_info = self.egg_info_path('').rstrip('/') - base_dir = os.path.dirname(egg_info) - metadata = pkg_resources.PathMetadata(base_dir, egg_info) - dist_name = os.path.splitext(os.path.basename(egg_info))[0] - return pkg_resources.Distribution( - os.path.dirname(egg_info), - project_name=dist_name, - metadata=metadata) - - @property - def has_hash_options(self): - """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): - """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 _strip_postfix(req): - """ - Strip req postfix ( -dev, 0.2, etc ) - """ - # FIXME: use package_to_requirement? - match = re.search(r'^(.*?)(?:-dev|-\d.*)$', req) - if match: - # Strip off -dev, -0.2, etc. - req = match.group(1) - return req - - -def parse_editable(editable_req, default_vcs=None): - """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] - """ - - from pip.index import Link - - url = editable_req - extras = None - - # If a file path is specified with extras, strip off the extras. - m = re.match(r'^(.+)(\[[^\]]+\])$', url) - if m: - url_no_extras = m.group(1) - extras = m.group(2) - else: - url_no_extras = url - - if os.path.isdir(url_no_extras): - if not os.path.exists(os.path.join(url_no_extras, 'setup.py')): - raise InstallationError( - "Directory %r is not installable. File 'setup.py' not found." % - url_no_extras - ) - # 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: - if default_vcs: - warnings.warn( - "--default-vcs has been deprecated and will be removed in " - "the future.", - RemovedInPip10Warning, - ) - url = default_vcs + '+' + url - else: - raise InstallationError( - '%s should either be a path to a local project or a VCS url ' - 'beginning with svn+, git+, hg+, or bzr+' % - 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, please specify one with #egg=" - ) - if not package_name: - raise InstallationError( - '--editable=%s is not the right format; it must have ' - '#egg=Package' % editable_req - ) - return _strip_postfix(package_name), url, None diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_set.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_set.py deleted file mode 100644 index 76aec061..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_set.py +++ /dev/null @@ -1,798 +0,0 @@ -from __future__ import absolute_import - -from collections import defaultdict -from itertools import chain -import logging -import os - -from pip._vendor import pkg_resources -from pip._vendor import requests - -from pip.compat import expanduser -from pip.download import (is_file_url, is_dir_url, is_vcs_url, url_to_path, - unpack_url) -from pip.exceptions import (InstallationError, BestVersionAlreadyInstalled, - DistributionNotFound, PreviousBuildDirError, - HashError, HashErrors, HashUnpinned, - DirectoryUrlHashUnsupported, VcsHashUnsupported, - UnsupportedPythonVersion) -from pip.req.req_install import InstallRequirement -from pip.utils import ( - display_path, dist_in_usersite, ensure_dir, normalize_path) -from pip.utils.hashes import MissingHashes -from pip.utils.logging import indent_log -from pip.utils.packaging import check_dist_requires_python -from pip.vcs import vcs -from pip.wheel import Wheel - -logger = logging.getLogger(__name__) - - -class Requirements(object): - - def __init__(self): - self._keys = [] - self._dict = {} - - def keys(self): - return self._keys - - def values(self): - return [self._dict[key] for key in self._keys] - - def __contains__(self, item): - return item in self._keys - - def __setitem__(self, key, value): - if key not in self._keys: - self._keys.append(key) - self._dict[key] = value - - def __getitem__(self, key): - return self._dict[key] - - def __repr__(self): - values = ['%s: %s' % (repr(k), repr(self[k])) for k in self.keys()] - return 'Requirements({%s})' % ', '.join(values) - - -class DistAbstraction(object): - """Abstracts out the wheel vs non-wheel prepare_files logic. - - 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). - - we must be able to generate a list of run-time dependencies - without installing any additional packages (or we would - have to either burn time by doing temporary isolated installs - or alternatively violate pips 'don't start installing unless - all requirements are available' rule - neither of which are - desirable). - - 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_to_install): - self.req_to_install = req_to_install - - def dist(self, finder): - """Return a setuptools Dist object.""" - raise NotImplementedError(self.dist) - - def prep_for_dist(self): - """Ensure that we can get a Dist for this requirement.""" - raise NotImplementedError(self.dist) - - -def make_abstract_dist(req_to_install): - """Factory to make an abstract dist object. - - Preconditions: Either an editable req with a source_dir, or satisfied_by or - a wheel link, or a non-editable req with a source_dir. - - :return: A concrete DistAbstraction. - """ - if req_to_install.editable: - return IsSDist(req_to_install) - elif req_to_install.link and req_to_install.link.is_wheel: - return IsWheel(req_to_install) - else: - return IsSDist(req_to_install) - - -class IsWheel(DistAbstraction): - - def dist(self, finder): - return list(pkg_resources.find_distributions( - self.req_to_install.source_dir))[0] - - def prep_for_dist(self): - # FIXME:https://github.com/pypa/pip/issues/1112 - pass - - -class IsSDist(DistAbstraction): - - def dist(self, finder): - dist = self.req_to_install.get_dist() - # FIXME: shouldn't be globally added: - if dist.has_metadata('dependency_links.txt'): - finder.add_dependency_links( - dist.get_metadata_lines('dependency_links.txt') - ) - return dist - - def prep_for_dist(self): - self.req_to_install.run_egg_info() - self.req_to_install.assert_source_matches_version() - - -class Installed(DistAbstraction): - - def dist(self, finder): - return self.req_to_install.satisfied_by - - def prep_for_dist(self): - pass - - -class RequirementSet(object): - - def __init__(self, build_dir, src_dir, download_dir, upgrade=False, - upgrade_strategy=None, ignore_installed=False, as_egg=False, - target_dir=None, ignore_dependencies=False, - force_reinstall=False, use_user_site=False, session=None, - pycompile=True, isolated=False, wheel_download_dir=None, - wheel_cache=None, require_hashes=False, - ignore_requires_python=False): - """Create a RequirementSet. - - :param wheel_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. - :param download_dir: Where still packed archives should be written to. - If None they are not saved, and are deleted immediately after - unpacking. - :param wheel_cache: The pip wheel cache, for passing to - InstallRequirement. - """ - if session is None: - raise TypeError( - "RequirementSet() missing 1 required keyword argument: " - "'session'" - ) - - self.build_dir = build_dir - self.src_dir = src_dir - # XXX: 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.download_dir = download_dir - self.upgrade = upgrade - self.upgrade_strategy = upgrade_strategy - self.ignore_installed = ignore_installed - self.force_reinstall = force_reinstall - self.requirements = Requirements() - # Mapping of alias: real_name - self.requirement_aliases = {} - self.unnamed_requirements = [] - self.ignore_dependencies = ignore_dependencies - self.ignore_requires_python = ignore_requires_python - self.successfully_downloaded = [] - self.successfully_installed = [] - self.reqs_to_cleanup = [] - self.as_egg = as_egg - self.use_user_site = use_user_site - self.target_dir = target_dir # set from --target option - self.session = session - self.pycompile = pycompile - self.isolated = isolated - if wheel_download_dir: - wheel_download_dir = normalize_path(wheel_download_dir) - self.wheel_download_dir = wheel_download_dir - self._wheel_cache = wheel_cache - self.require_hashes = require_hashes - # Maps from install_req -> dependencies_of_install_req - self._dependencies = defaultdict(list) - - def __str__(self): - reqs = [req for req in self.requirements.values() - if not req.comes_from] - reqs.sort(key=lambda req: req.name.lower()) - return ' '.join([str(req.req) for req in reqs]) - - def __repr__(self): - reqs = [req for req in self.requirements.values()] - reqs.sort(key=lambda req: req.name.lower()) - reqs_str = ', '.join([str(req.req) for req in reqs]) - return ('<%s object; %d requirement(s): %s>' - % (self.__class__.__name__, len(reqs), reqs_str)) - - def add_requirement(self, install_req, parent_req_name=None, - extras_requested=None): - """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 - environement 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. - """ - name = install_req.name - if not install_req.match_markers(extras_requested): - logger.warning("Ignoring %s: markers '%s' don't match your " - "environment", install_req.name, - install_req.markers) - return [] - - # This check has to come after we filter requirements with the - # environment markers. - if install_req.link and install_req.link.is_wheel: - wheel = Wheel(install_req.link.filename) - if not wheel.supported(): - raise InstallationError( - "%s is not a supported wheel on this platform." % - wheel.filename - ) - - install_req.as_egg = self.as_egg - install_req.use_user_site = self.use_user_site - install_req.target_dir = self.target_dir - install_req.pycompile = self.pycompile - install_req.is_direct = (parent_req_name is None) - - if not name: - # url or path requirement w/o an egg fragment - self.unnamed_requirements.append(install_req) - return [install_req] - else: - try: - existing_req = self.get_requirement(name) - except KeyError: - existing_req = None - if (parent_req_name is None and existing_req and not - existing_req.constraint and - existing_req.extras == install_req.extras and not - existing_req.req.specifier == install_req.req.specifier): - raise InstallationError( - 'Double requirement given: %s (already in %s, name=%r)' - % (install_req, existing_req, name)) - if not existing_req: - # Add requirement - self.requirements[name] = install_req - # FIXME: what about other normalizations? E.g., _ vs. -? - if name.lower() != name: - self.requirement_aliases[name.lower()] = name - result = [install_req] - else: - # Assume there's no need to scan, and that we've already - # encountered this for scanning. - result = [] - if not install_req.constraint and existing_req.constraint: - if (install_req.link and not (existing_req.link and - install_req.link.path == existing_req.link.path)): - 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" % 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).union( - set(install_req.extras)))) - logger.debug("Setting %s extras to: %s", - existing_req, existing_req.extras) - # And now we need to scan this. - result = [existing_req] - # Canonicalise to the already-added object for the backref - # check below. - install_req = existing_req - if parent_req_name: - parent_req = self.get_requirement(parent_req_name) - self._dependencies[parent_req].append(install_req) - return result - - def has_requirement(self, project_name): - name = project_name.lower() - if (name in self.requirements and - not self.requirements[name].constraint or - name in self.requirement_aliases and - not self.requirements[self.requirement_aliases[name]].constraint): - return True - return False - - @property - def has_requirements(self): - return list(req for req in self.requirements.values() if not - req.constraint) or self.unnamed_requirements - - @property - def is_download(self): - if self.download_dir: - self.download_dir = expanduser(self.download_dir) - if os.path.exists(self.download_dir): - return True - else: - logger.critical('Could not find download directory') - raise InstallationError( - "Could not find or access download directory '%s'" - % display_path(self.download_dir)) - return False - - def get_requirement(self, project_name): - for name in project_name, project_name.lower(): - if name in self.requirements: - return self.requirements[name] - if name in self.requirement_aliases: - return self.requirements[self.requirement_aliases[name]] - raise KeyError("No project with the name %r" % project_name) - - def uninstall(self, auto_confirm=False): - for req in self.requirements.values(): - if req.constraint: - continue - req.uninstall(auto_confirm=auto_confirm) - req.commit_uninstall() - - def prepare_files(self, finder): - """ - Prepare process. Create temp directories, download and/or unpack files. - """ - # make the wheelhouse - if self.wheel_download_dir: - ensure_dir(self.wheel_download_dir) - - # If any top-level requirement has a hash specified, enter - # hash-checking mode, which requires hashes from all. - root_reqs = self.unnamed_requirements + self.requirements.values() - require_hashes = (self.require_hashes or - any(req.has_hash_options for req in root_reqs)) - if require_hashes and self.as_egg: - raise InstallationError( - '--egg is not allowed with --require-hashes mode, since it ' - 'delegates dependency resolution to setuptools and could thus ' - 'result in installation of unhashed packages.') - - # 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 = [] - hash_errors = HashErrors() - for req in chain(root_reqs, discovered_reqs): - try: - discovered_reqs.extend(self._prepare_file( - finder, - req, - require_hashes=require_hashes, - ignore_dependencies=self.ignore_dependencies)) - except HashError as exc: - exc.req = req - hash_errors.append(exc) - - if hash_errors: - raise hash_errors - - def _is_upgrade_allowed(self, req): - return self.upgrade and ( - self.upgrade_strategy == "eager" or ( - self.upgrade_strategy == "only-if-needed" and req.is_direct - ) - ) - - def _check_skip_installed(self, req_to_install, finder): - """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. - """ - # Check whether to upgrade/reinstall this req or not. - req_to_install.check_if_exists() - if req_to_install.satisfied_by: - upgrade_allowed = self._is_upgrade_allowed(req_to_install) - - # Is the best version is installed. - best_installed = False - - if upgrade_allowed: - # For link based requirements we have to pull the - # tree down and inspect to assess the version #, so - # its handled way down. - if not (self.force_reinstall or req_to_install.link): - try: - finder.find_requirement( - req_to_install, upgrade_allowed) - except BestVersionAlreadyInstalled: - best_installed = True - 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 - - if not best_installed: - # don't uninstall conflict if user install and - # conflict is not user install - if not (self.use_user_site and not - dist_in_usersite(req_to_install.satisfied_by)): - req_to_install.conflicts_with = \ - req_to_install.satisfied_by - req_to_install.satisfied_by = None - - # Figure out a nice message to say why we're skipping this. - if best_installed: - skip_reason = 'already up-to-date' - elif self.upgrade_strategy == "only-if-needed": - skip_reason = 'not upgraded as not directly required' - else: - skip_reason = 'already satisfied' - - return skip_reason - else: - return None - - def _prepare_file(self, - finder, - req_to_install, - require_hashes=False, - ignore_dependencies=False): - """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 - - # ###################### # - # # print log messages # # - # ###################### # - if req_to_install.editable: - logger.info('Obtaining %s', req_to_install) - else: - # satisfied_by is only evaluated by calling _check_skip_installed, - # so it must be None here. - assert req_to_install.satisfied_by is None - if not self.ignore_installed: - skip_reason = self._check_skip_installed( - req_to_install, finder) - - if req_to_install.satisfied_by: - assert skip_reason is not None, ( - '_check_skip_installed returned None but ' - 'req_to_install.satisfied_by is set to %r' - % (req_to_install.satisfied_by,)) - logger.info( - 'Requirement %s: %s', skip_reason, - req_to_install) - else: - if (req_to_install.link and - req_to_install.link.scheme == 'file'): - path = url_to_path(req_to_install.link.url) - logger.info('Processing %s', display_path(path)) - else: - logger.info('Collecting %s', req_to_install) - - with indent_log(): - # ################################ # - # # vcs update or unpack archive # # - # ################################ # - if req_to_install.editable: - if require_hashes: - raise InstallationError( - 'The editable requirement %s cannot be installed when ' - 'requiring hashes, because there is no single file to ' - 'hash.' % req_to_install) - req_to_install.ensure_has_source_dir(self.src_dir) - req_to_install.update_editable(not self.is_download) - abstract_dist = make_abstract_dist(req_to_install) - abstract_dist.prep_for_dist() - if self.is_download: - req_to_install.archive(self.download_dir) - req_to_install.check_if_exists() - elif req_to_install.satisfied_by: - 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 = Installed(req_to_install) - else: - # @@ 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_to_install.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_to_install.source_dir` - if os.path.exists( - os.path.join(req_to_install.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_to_install, req_to_install.source_dir) - ) - req_to_install.populate_link( - finder, - self._is_upgrade_allowed(req_to_install), - require_hashes - ) - # We can't hit this spot and have populate_link return None. - # req_to_install.satisfied_by is None here (because we're - # guarded) and upgrade has no impact except when satisfied_by - # is not None. - # Then inside find_requirement existing_applicable -> False - # If no new versions are found, DistributionNotFound is raised, - # otherwise a result is guaranteed. - assert req_to_install.link - link = req_to_install.link - - # 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 is_vcs_url(link): - raise VcsHashUnsupported() - elif is_file_url(link) and is_dir_url(link): - raise DirectoryUrlHashUnsupported() - if (not req_to_install.original_link and - not req_to_install.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_to_install.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() - - try: - download_dir = self.download_dir - # We always delete unpacked sdists after pip ran. - autodelete_unpacked = True - if req_to_install.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 - if req_to_install.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 - unpack_url( - req_to_install.link, req_to_install.source_dir, - download_dir, autodelete_unpacked, - session=self.session, hashes=hashes) - except requests.HTTPError as exc: - logger.critical( - 'Could not install requirement %s because ' - 'of error %s', - req_to_install, - exc, - ) - raise InstallationError( - 'Could not install requirement %s because ' - 'of HTTP error %s for URL %s' % - (req_to_install, exc, req_to_install.link) - ) - abstract_dist = make_abstract_dist(req_to_install) - abstract_dist.prep_for_dist() - if self.is_download: - # Make a .zip of the source_dir we already created. - if req_to_install.link.scheme in vcs.all_schemes: - req_to_install.archive(self.download_dir) - # req_to_install.req is only avail after unpack for URL - # pkgs repeat check_if_exists to uninstall-on-upgrade - # (#14) - if not self.ignore_installed: - req_to_install.check_if_exists() - if req_to_install.satisfied_by: - if self.upgrade or self.ignore_installed: - # don't uninstall conflict if user install and - # conflict is not user install - if not (self.use_user_site and not - dist_in_usersite( - req_to_install.satisfied_by)): - req_to_install.conflicts_with = \ - req_to_install.satisfied_by - req_to_install.satisfied_by = None - else: - logger.info( - 'Requirement already satisfied (use ' - '--upgrade to upgrade): %s', - req_to_install, - ) - - # ###################### # - # # parse dependencies # # - # ###################### # - dist = abstract_dist.dist(finder) - try: - check_dist_requires_python(dist) - except UnsupportedPythonVersion as e: - if self.ignore_requires_python: - logger.warning(e.args[0]) - else: - req_to_install.remove_temporary_source() - raise - more_reqs = [] - - def add_req(subreq, extras_requested): - sub_install_req = InstallRequirement( - str(subreq), - req_to_install, - isolated=self.isolated, - wheel_cache=self._wheel_cache, - ) - more_reqs.extend(self.add_requirement( - sub_install_req, req_to_install.name, - extras_requested=extras_requested)) - - # We add req_to_install before its dependencies, so that we - # can refer to it when adding dependencies. - if not self.has_requirement(req_to_install.name): - # 'unnamed' requirements will get added here - self.add_requirement(req_to_install, None) - - if not 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) - - # cleanup tmp src - self.reqs_to_cleanup.append(req_to_install) - - 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. - self.successfully_downloaded.append(req_to_install) - - return more_reqs - - def cleanup_files(self): - """Clean up files, remove builds.""" - logger.debug('Cleaning up...') - with indent_log(): - for req in self.reqs_to_cleanup: - req.remove_temporary_source() - - def _to_install(self): - """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() - - 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._dependencies[req]: - schedule(dep) - order.append(req) - for install_req in self.requirements.values(): - schedule(install_req) - return order - - def install(self, install_options, global_options=(), *args, **kwargs): - """ - Install everything in this set (after having downloaded and unpacked - the packages) - """ - to_install = self._to_install() - - 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(): - requirement.uninstall(auto_confirm=True) - try: - requirement.install( - install_options, - global_options, - *args, - **kwargs - ) - except: - # if install did not succeed, rollback previous uninstall - if (requirement.conflicts_with and not - requirement.install_succeeded): - requirement.rollback_uninstall() - raise - else: - if (requirement.conflicts_with and - requirement.install_succeeded): - requirement.commit_uninstall() - requirement.remove_temporary_source() - - self.successfully_installed = to_install diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_uninstall.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_uninstall.py deleted file mode 100644 index 5248430a..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/req/req_uninstall.py +++ /dev/null @@ -1,195 +0,0 @@ -from __future__ import absolute_import - -import logging -import os -import tempfile - -from pip.compat import uses_pycache, WINDOWS, cache_from_source -from pip.exceptions import UninstallationError -from pip.utils import rmtree, ask, is_local, renames, normalize_path -from pip.utils.logging import indent_log - - -logger = logging.getLogger(__name__) - - -class UninstallPathSet(object): - """A set of file paths to be removed in the uninstallation of a - requirement.""" - def __init__(self, dist): - self.paths = set() - self._refuse = set() - self.pth = {} - self.dist = dist - self.save_dir = None - self._moved_paths = [] - - def _permitted(self, path): - """ - Return True if the given path is one we are permitted to - remove/modify, False otherwise. - - """ - return is_local(path) - - def add(self, path): - 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): - 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 compact(self, paths): - """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.""" - short_paths = set() - for path in sorted(paths, key=len): - if not any([ - (path.startswith(shortpath) and - path[len(shortpath.rstrip(os.path.sep))] == os.path.sep) - for shortpath in short_paths]): - short_paths.add(path) - return short_paths - - def _stash(self, path): - return os.path.join( - self.save_dir, os.path.splitdrive(path)[1].lstrip(os.path.sep)) - - def remove(self, auto_confirm=False): - """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 - logger.info( - 'Uninstalling %s-%s:', - self.dist.project_name, self.dist.version - ) - - with indent_log(): - paths = sorted(self.compact(self.paths)) - - if auto_confirm: - response = 'y' - else: - for path in paths: - logger.info(path) - response = ask('Proceed (y/n)? ', ('y', 'n')) - if self._refuse: - logger.info('Not removing or modifying (outside of prefix):') - for path in self.compact(self._refuse): - logger.info(path) - if response == 'y': - self.save_dir = tempfile.mkdtemp(suffix='-uninstall', - prefix='pip-') - for path in paths: - new_path = self._stash(path) - logger.debug('Removing file or directory %s', path) - self._moved_paths.append(path) - renames(path, new_path) - for pth in self.pth.values(): - pth.remove() - logger.info( - 'Successfully uninstalled %s-%s', - self.dist.project_name, self.dist.version - ) - - def rollback(self): - """Rollback the changes previously made by remove().""" - if self.save_dir is None: - logger.error( - "Can't roll back %s; was not uninstalled", - self.dist.project_name, - ) - return False - logger.info('Rolling back uninstall of %s', self.dist.project_name) - for path in self._moved_paths: - tmp_path = self._stash(path) - logger.debug('Replacing %s', path) - renames(tmp_path, path) - for pth in self.pth.values(): - pth.rollback() - - def commit(self): - """Remove temporary save dir: rollback will no longer be possible.""" - if self.save_dir is not None: - rmtree(self.save_dir) - self.save_dir = None - self._moved_paths = [] - - -class UninstallPthEntries(object): - def __init__(self, pth_file): - 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() - self._saved_lines = None - - def add(self, entry): - 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. - if WINDOWS and not os.path.splitdrive(entry)[0]: - entry = entry.replace('\\', '/') - self.entries.add(entry) - - def remove(self): - 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' - 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): - 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/status_codes.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/status_codes.py deleted file mode 100644 index 275360a3..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__init__.py deleted file mode 100644 index 815bd338..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__init__.py +++ /dev/null @@ -1,852 +0,0 @@ -from __future__ import absolute_import - -from collections import deque -import contextlib -import errno -import io -import locale -# we have a submodule named 'logging' which would shadow this if we used the -# regular name: -import logging as std_logging -import re -import os -import posixpath -import shutil -import stat -import subprocess -import sys -import tarfile -import zipfile - -from pip.exceptions import InstallationError -from pip.compat import console_to_str, expanduser, stdlib_pkgs -from pip.locations import ( - site_packages, user_site, running_under_virtualenv, virtualenv_no_global, - write_delete_marker_file, -) -from pip._vendor import pkg_resources -from pip._vendor.six.moves import input -from pip._vendor.six import PY2 -from pip._vendor.retrying import retry - -if PY2: - from io import BytesIO as StringIO -else: - from io import StringIO - -__all__ = ['rmtree', 'display_path', 'backup_dir', - 'ask', 'splitext', - 'format_size', 'is_installable_dir', - 'is_svn_page', 'file_contents', - 'split_leading_dir', 'has_leading_dir', - 'normalize_path', - 'renames', 'get_terminal_size', 'get_prog', - 'unzip_file', 'untar_file', 'unpack_file', 'call_subprocess', - 'captured_stdout', 'ensure_dir', - 'ARCHIVE_EXTENSIONS', 'SUPPORTED_EXTENSIONS', - 'get_installed_version'] - - -logger = std_logging.getLogger(__name__) - -BZ2_EXTENSIONS = ('.tar.bz2', '.tbz') -XZ_EXTENSIONS = ('.tar.xz', '.txz', '.tlz', '.tar.lz', '.tar.lzma') -ZIP_EXTENSIONS = ('.zip', '.whl') -TAR_EXTENSIONS = ('.tar.gz', '.tgz', '.tar') -ARCHIVE_EXTENSIONS = ( - ZIP_EXTENSIONS + BZ2_EXTENSIONS + TAR_EXTENSIONS + XZ_EXTENSIONS) -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 import_or_raise(pkg_or_module_string, ExceptionType, *args, **kwargs): - try: - return __import__(pkg_or_module_string) - except ImportError: - raise ExceptionType(*args, **kwargs) - - -def ensure_dir(path): - """os.path.makedirs without EEXIST.""" - try: - os.makedirs(path) - except OSError as e: - if e.errno != errno.EEXIST: - raise - - -def get_prog(): - try: - if os.path.basename(sys.argv[0]) in ('__main__.py', '-c'): - return "%s -m pip" % sys.executable - 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): - 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.""" - # if file type currently read only - if os.stat(path).st_mode & stat.S_IREAD: - # convert to read/write - os.chmod(path, stat.S_IWRITE) - # use the original function to repeat the operation - func(path) - return - else: - raise - - -def display_path(path): - """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'): - """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): - for action in os.environ.get('PIP_EXISTS_ACTION', '').split(): - if action in options: - return action - return ask(message, options) - - -def ask(message, options): - """Ask the message interactively, with the given possible responses""" - while 1: - if os.environ.get('PIP_NO_INPUT'): - raise Exception( - 'No input was expected ($PIP_NO_INPUT set); question: %s' % - 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 format_size(bytes): - 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): - """Return True if `path` is a directory containing a setup.py file.""" - if not os.path.isdir(path): - return False - setup_py = os.path.join(path, 'setup.py') - if os.path.isfile(setup_py): - return True - return False - - -def is_svn_page(html): - """ - Returns true if the page appears to be the index page of an svn repository - """ - return (re.search(r'[^<]*Revision \d+:', html) and - re.search(r'Powered by (?:<a[^>]*?>)?Subversion', html, re.I)) - - -def file_contents(filename): - with open(filename, 'rb') as fp: - return fp.read().decode('utf-8') - - -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 split_leading_dir(path): - 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): - """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 normalize_path(path, resolve_symlinks=True): - """ - 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): - """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): - """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): - """ - 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." - - """ - if not running_under_virtualenv(): - return True - return normalize_path(path).startswith(normalize_path(sys.prefix)) - - -def dist_is_local(dist): - """ - 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): - """ - Return True if given Distribution is installed in user site. - """ - norm_path = normalize_path(dist_location(dist)) - return norm_path.startswith(normalize_path(user_site)) - - -def dist_in_site_packages(dist): - """ - Return True if given Distribution is installed in - distutils.sysconfig.get_python_lib(). - """ - return normalize_path( - dist_location(dist) - ).startswith(normalize_path(site_packages)) - - -def dist_is_editable(dist): - """Is distribution 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, - skip=stdlib_pkgs, - include_editables=True, - editables_only=False, - user_only=False): - """ - 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 ``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 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 - - return [d for d in pkg_resources.working_set - 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): - """ - 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(): - if virtualenv_no_global(): - sites.append(site_packages) - else: - sites.append(site_packages) - if 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 - - -def dist_location(dist): - """ - 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. - - """ - egg_link = egg_link_path(dist) - if egg_link: - return egg_link - return dist.location - - -def get_terminal_size(): - """Returns a tuple (x, y) representing the width(x) and the height(x) - in characters of the terminal window.""" - def ioctl_GWINSZ(fd): - try: - import fcntl - import termios - import struct - cr = struct.unpack( - 'hh', - fcntl.ioctl(fd, termios.TIOCGWINSZ, '1234') - ) - except: - 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: - pass - if not cr: - cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) - return int(cr[1]), int(cr[0]) - - -def current_umask(): - """Get the current umask which involves having to set it temporarily.""" - mask = os.umask(0) - os.umask(mask) - return mask - - -def unzip_file(filename, location, flatten=True): - """ - 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 - data = zip.read(name) - fn = name - if leading: - fn = split_leading_dir(name)[1] - fn = os.path.join(location, fn) - dir = os.path.dirname(fn) - if fn.endswith('/') or fn.endswith('\\'): - # A directory - ensure_dir(fn) - else: - ensure_dir(dir) - fp = open(fn, 'wb') - try: - fp.write(data) - 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): - """ - 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: - # note: python<=2.5 doesn't seem to know about pax headers, filter them - leading = has_leading_dir([ - member.name for member in tar.getmembers() - if member.name != 'pax_global_header' - ]) - for member in tar.getmembers(): - fn = member.name - if fn == 'pax_global_header': - continue - if leading: - fn = split_leading_dir(fn)[1] - path = os.path.join(location, fn) - if member.isdir(): - ensure_dir(path) - elif member.issym(): - try: - tar._extract_member(member, path) - 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) - tar.utime(member, path) - # 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, location, content_type, link): - 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) - elif (content_type and content_type.startswith('text/html') and - is_svn_page(file_contents(filename))): - # We don't really care about this - from pip.vcs.subversion import Subversion - Subversion('svn+' + link.url).unpack(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 %s' % location - ) - - -def call_subprocess(cmd, show_stdout=True, cwd=None, - on_returncode='raise', - command_desc=None, - extra_environ=None, spinner=None): - # This function's handling of subprocess output is confusing and I - # previously broke it terribly, so as penance I will write a long comment - # explaining things. - # - # The obvious thing that affects output is the show_stdout= - # kwarg. show_stdout=True means, let the subprocess write directly to our - # stdout. Even though it is nominally the default, it is almost never used - # inside pip (and should not be used in new code without a very good - # reason); as of 2016-02-22 it is only used in a few places inside the VCS - # wrapper code. Ideally we should get rid of it entirely, because it - # creates a lot of complexity here for a rarely used feature. - # - # Most places in pip set show_stdout=False. What this means is: - # - We connect the child stdout to a pipe, which we read. - # - By default, we hide the output but show a spinner -- unless the - # subprocess exits with an error, in which case we show the output. - # - If the --verbose option was passed (= loglevel is DEBUG), then we show - # the output unconditionally. (But in this case we don't want to show - # the output a second time if it turns out that there was an error.) - # - # stderr is always merged with stdout (even if show_stdout=True). - if show_stdout: - stdout = None - else: - stdout = subprocess.PIPE - if command_desc is None: - cmd_parts = [] - for part in cmd: - if ' ' in part or '\n' in part or '"' in part or "'" in part: - part = '"%s"' % part.replace('"', '\\"') - cmd_parts.append(part) - command_desc = ' '.join(cmd_parts) - logger.debug("Running command %s", command_desc) - env = os.environ.copy() - if extra_environ: - env.update(extra_environ) - try: - proc = subprocess.Popen( - cmd, stderr=subprocess.STDOUT, stdin=None, stdout=stdout, - cwd=cwd, env=env) - except Exception as exc: - logger.critical( - "Error %s while executing command %s", exc, command_desc, - ) - raise - if stdout is not None: - all_output = [] - while True: - line = console_to_str(proc.stdout.readline()) - if not line: - break - line = line.rstrip() - all_output.append(line + '\n') - if logger.getEffectiveLevel() <= std_logging.DEBUG: - # Show the line immediately - logger.debug(line) - else: - # Update the spinner - if spinner is not None: - spinner.spin() - proc.wait() - if spinner is not None: - if proc.returncode: - spinner.finish("error") - else: - spinner.finish("done") - if proc.returncode: - if on_returncode == 'raise': - if (logger.getEffectiveLevel() > std_logging.DEBUG and - not show_stdout): - logger.info( - 'Complete output from command %s:', command_desc, - ) - logger.info( - ''.join(all_output) + - '\n----------------------------------------' - ) - raise InstallationError( - 'Command "%s" failed with error code %s in %s' - % (command_desc, proc.returncode, cwd)) - elif on_returncode == 'warn': - 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)) - if not show_stdout: - return ''.join(all_output) - - -def read_text_file(filename): - """Return the contents of *filename*. - - Try to decode the file contents with utf-8, the preferred system encoding - (e.g., cp1252 on some Windows machines), and latin1, in that order. - Decoding a byte string with latin1 will never raise an error. In the worst - case, the returned string will contain some garbage characters. - - """ - with open(filename, 'rb') as fp: - data = fp.read() - - encodings = ['utf-8', locale.getpreferredencoding(False), 'latin1'] - for enc in encodings: - try: - data = data.decode(enc) - except UnicodeDecodeError: - continue - break - - assert type(data) != bytes # Latin1 should have worked. - return data - - -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') - - -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, lookup_dirs=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) - - # We want to avoid having this cached, so we need to construct a new - # working set each time. - if lookup_dirs is None: - working_set = pkg_resources.WorkingSet() - else: - working_set = pkg_resources.WorkingSet(lookup_dirs) - - # 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) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 28b038bea6f4d1daadc787f6f930f06bc48273e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22250 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/appdirs.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/appdirs.cpython-36.pyc deleted file mode 100644 index bb46949ee42a9ab823ec4b6edd4f0df4965d12c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7753 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/build.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/build.cpython-36.pyc deleted file mode 100644 index 5706f5495748ac14de07c15dbb673e0944405040..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmaJ>%We}f6tz8*$s|pof>ID09ug9>prNXGREnw!kl3JXU^OhPN$iwKJ(<Dwl(wW| zk#6}AeuK~OmKDFiihG>|C{#G|xgO6QpK~A1_UdZ;?blD~?FJ#=$R8tw^&U*q0}w<| zMGBfyifg7=8h9I~A=p4QiYSdJc}YYl8fQc_WOEjzv0$%B5`BjgNJ8D^Y+y=NTgmgH zDz)vyUZe}Fr5vKmas;s0gJ~WENRm=PQYJcriQtR^v8MpyNHot#+7Pj5fsI64tblC_ z3Z$#<(z7~O;zh3I(3bkRKg45kpvCB(!!)k|ra*8I>-8y{TR~6RVy|b(n2wnZ#v#&w zrZaj<7k<6D-<0silmSM90CCuVbJDKz>cIf%A7F@;mZSVAX*yOK7gm{l=VC20HD6g- zRHIx;*DMYMKDcm_71BjQDrsdBxX?&7(kq};cL2T+eF@BuLATQRVP<9bFw@;psf5&~ zyCb?!cg8ypAMH%G#6;{L2=igUkN2NcPaneApLE}Jf6J3X@vZIZ9d7wq+gzEh*S=XD zyO{HQl3UJ^-K+tSV2y?>Zmb6}*odB7KcDB#<rhPW-Z0Q&&V9bGz(UY5nfkl}1~cpt z)<0?WKAztGct@Y^CZUT)r7kk-TAUA6W(?;j1@pqW&qPA?DjelAF^9|Wh)!Bon)6%m zWEcRsNa5V)oI+IT6-KZCU06#B9r`~uP$wr=0^MEsXi0bDpM)%&hS+sD(Ej4Xk|N&> zwtNR6t7{IG%qDe}gg#Ce$fKca9A>JPj@iKlamypD(>*wCDdgYE%ze(qjXCmhuP=1y zHA_JcoB6vw&qClEPh%DTlMlTC@9)DjK2QqHvGG?fmQk^OKZ*5K@O5p@i&E4ID(gC& zzppd3s57>kMp^nA!c7FE_#=3{2pTJ|k+KETv;kt)UXKI(`TeAYETh`i8v6%BcFodk u;sw-LZ;fBN7F>c&e*t`?E-D9O`19~bT*T?(-dy=E7SqH49TwA=b%LKt7&4&% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/deprecation.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/deprecation.cpython-36.pyc deleted file mode 100644 index f3e3dbca55e77f73a2f97bc8eb6652f61031f197..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1780 zcmbVMPmkL~6rb@pw&Nt55VRF45(-k0$f28EDxixHYSpb!B^08vqLO>CoV?krQ^$5^ z#=B(YibM7YAB1nfnU677PJ9JUys;Z<L=OvN&GY-s*zf;)_j*15`ENf4zj}oHP8zF) z`~%$bCnP`u0u-!-uC2hLhGz*2SoO98`)dL=w5|!Xcx%f72eAV#Vwby!J;WZg5x2R6 zxQ*C{4&n}XxVN<fA5Xf_!;@b1MF&{ag(2)g|C$Cp7{EK%B-jJ?9T~rSHT55k))^ED zAF1<5jpB8l@HJ1B9H}fz;&h4c5l^Eze!(NT8C^yq#bY^&=2@Xez;nSDk&3fa9{7Kt zhh$83Kbp%dDHIP;U?$XbVJ>!yBJ%*Z>>}YLpcoVjC>mtx{aKu!ypj2=);1k8?S)|) zt$7$~KMZS|k?)4#%OXnZn_q}<QDjB_JfGwuzK9f`Tts4WmL<T2oE*dC{_*Pg@YCb; z2vS(S0C_nNH_OlS`-ixe>Ev{h$NAlP5hrk$LlPd{%TZLESG!PgA}0-}5Auy*sM9z8 zSV%lt;Tt>b&UgwKP;^n)#&}aM!ZGA;Uuq8PiikFnJ={B82H#lM{!_lrE;u|%G0I1W zZ-RRh&BnuFL$ksEQ}fY()7(K#w;GxazOm-pvyD2>(oa5nYgOIEaZ{zY8|n>Sm;{++ zl4A1o2)FzJNofOl(H3_UwmQC*A|)wlX_c(B%huMRB%LW*Qe|x|F;{G51KrYB4p=2R z`O2;CT6p(;>8za6-BL<kD&*aoPlx}O2n2hFO|J%6rU#AUlvn+e$Frx8A3Z#M^6m7C z(MNLZ>HTom!l69RE?)!f$5IyaMG{F_6|i=bY`Mh3)a@l#-yqLLRejps{nEmdOrS`2 z&83W%TzfbP_%ah4?VZI5j*T_f4o(rCX4*C<+BOK!DtWqt@9_1{jdC|Z#m;V+cgKYH zJtTyB_*itveCD@2*QZ^pYgtshk9Yql3e!hbRz5~Xkrf4uIat7cW|Sy~+3`%4R(8Zx zOOX)shEcSq+68_V6^S~<LFPnxj{P}yw6}|z?#gOPqB{x$z)-sAA<><Ny_Go)kE&L# z+`1K~QbkF!%R*R(;shl~^8v92wnrT*K16<OO{e3&cEb>|MLqe>3RMW4g2D_N(KqA+ zB-(vekIFiEPBvfhg{l%JOs5LdG{Tf_Wo&JqQSnwIy)Wwl`<3xdn%=W9&KP+%u+1~H J2d>Th(O*I~k6{1+ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/encoding.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/encoding.cpython-36.pyc deleted file mode 100644 index 9fb6dcd0943da194dd66eafabd88e36a9cd6fe4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmZuwPfrs;6rb7MZkOecMvVbZn|PrbD5Vj>s3AaWOc0EqBn8rJ_f6X^!|pmW1xiXh zR4;x6zky%FtKVR*o;Z8+<l8MJ9GuC#-|zj|_ujn8mM16OgP)&kzf3}YlUvI{zJ^D3 zPyhkSNo|O<Ml;>08H{vHFq$b^U}l&DD?=M{8Ro&x(1Co0W8gH6R=(ykqcaX;16rE^ z7skJk+9c3jQkb~HdSqK$UDaICIh3X43nzp51{*QXGFN#iGnAJ`E@Yg^hnOLVA&goF z&tD!L%ExmD^M_{(M^6d?O|#>&uFnRd{Ep&$QISn@G<RrR(o3UHI<!v*RM>r@jFbWW zYRuqu`^Es<{ABNw^N$#10qQ`(OuhL1+NIey!Gc_>gMDm>s>*fjzKOYRSSLRqV5Qk0 zKNwaU<*n`$%xWs9gM%7iT^z~S#kY+%3ywYCYxES8o>T(w<~3u1ruCh-o{GI77J>ze z_dH+<iKp7kW6^L7uIu5d`kXg>%!A=P4t&lQT1+K^H5q;jqu@D=ldRzJ@R)gV!lJo? z7f0T^o@&QYdHYW~Lifr*DN=fsip=;(=X@E2VYT3D3)|Y&u2jBI@+?$sZE_ZA8yI$k zk0%ozDm`A=-q_iEv;DgMzM^f(d=a#@-4by(k=h>is2}{V$%3UV@RhI4Mtq{3QSaK~ zVZ?qAF^x_AWyM5<r@msvQ(qLDF$X4OaTSUytDV)wr>jv3B4{0hJZsc@t!K%~BCb|c z+$$zwGT-Qi9OfDDda0bWQ&V=jD&(>_D!7pJ^tj(uaea8R`&d`rMM117>e5+bn$FT` zIz`1S+6q(JPVXN`aSv5(2&NsJRQ<zVbw!U|v(mDjxS{p+%580{auZfwx^a}3Zik_^ xRS|AlARojhNywSFgId-?Hkn&uCJl35oW#)O>{a@f+3({}+*T%2hI_(v&3{K3Bme*a diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/filesystem.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/filesystem.cpython-36.pyc deleted file mode 100644 index 17a416b6354be0510830db6a3cecb0049bd0c3e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmYjO&2G~`5Z+lku`zDQp(mbz92&Q(5RHTo5`qg-dq||9AQ8FVt>d5A?(8~kq(n%B z1Fyns@ECjL#4B)O*5%N#=4WST=bQO_esmOk{`GZna2Wf|9to%TEvb4zMlb;-TReE^ zJTLj$SvbIiBi!$7;R=|tQST2`v&#{fFqL}Q#Co-CGm(HzlMo7fO8Sme{UD>61_1}I z27*ti{~qp}9os?S;5Q99&z&7R09F*c2f`{ie%Xe)XR~`gXVtOGbiW922F!lKow84C z$8F`5dgtEGTK_<&+v6_g`4jt^6V{$`b3(O~UmA}_mNe}Q?YJLCf$>(cinT_=Yh_%! zjqyr(pDC@-u7Z{&<6TYPBi3m8ags<ymGkA*N8^bMt9UI(4)$%C-=N%Nb*m`)&&yAS z1G@T~Mh#}0Sj%V=V{}uOLZXT$BD$F5lhc=z>P%E3ErhzeUT)J@&BZB6T1B&{$(obv zHY>%66y@^lyjj^)r>)LP72RZ|R9mIxdfaTyFj>i@c=#{%T_w>Yc=enNa{_R=3ju^Y zbU1`CfIj$q$Z<%wqaOCi8Lw93j)#C?#!0=VL&ri_)ot_0JhM;y*XvrerF>&qRh9~$ H`i9OwaK@ae diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/glibc.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/glibc.cpython-36.pyc deleted file mode 100644 index f82a6a97c125645fded24c36fbc2d865156f8567..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1418 zcmZ8h-EJH;6t+D-JDD`wA3}rx!2m_-h$fp7A-bp(P-%ojw5l4UqAh4NJNE9*?)+hU z5)vljVtE-}gU9eKSG)pOoZ}5@8joxreYTH3f9ISz*xCwT{`LF#w@pI+CRZ8*`)lax z84R3oT9A^CDMgzVY|QNJj2%0>W7p2!*y9d&{~%+Zd)$Y)$9p`0Ip7;Sgn5IrV-j!v z171l?&CPV8>Y~*m$;+medX(V;HU~P8B2S=O5}GV1rz?6v&cco?*adw-s%@8OXBo<S zl;FqdG5L|ePPe0p*U=TZVA}7P?yZ<Q>ewRS3_P$7NjT@j=R&u#Qqio)Cs}kNq{{0m zQd;KK?0!_sXjE4s%BN9P>!?+LuD9-ujF+k`&*Kf_XZoxW%D7LyJvuVmv#L#ILMP}k zx%6oI-)QhTfp<QYvX&;ul5C#Jq%l1y6rML>4(^pst4tUN7#N?6tmYzi%<V?jnNTXJ z(o(1<&4lzp6|;HiK7s9j5_uD_e<y=R<|nBZgOgMargg#LQG+2LJRB~D`=1S~2fX65 zC0D1D<ZSkN^Kc*9tQ!0<X!2%v(&h!<6}(6u95i!;Y;Sd5sDTw}uQ`J^UVR+i4#I3; zoVH;gy^t~*(!S$60rgo(Lndzno?%F_xzN$Jq5Tewb!a=XVi!*5sJogi9L_qjL$teM z5LV}yXs>e?K6h7;0v%nl`tTC*EW(x^gw!9M-@W(MvqxpRsO96A`@6%RKZ$?Zvrt~W zg3iBu`fDRHE%>$2pXPcVeHvvoWMd^Nts?7cuf)^$qgk!Lh(1<_#<MU?h{rv{q(Dq( za}%7VvI0RMBhWJa=WV6)QoLBh#>p#fyqT=qCU#{Xo^Se6{L<!9@MP_F3*6>qTPD`M zp{0%OdbouL-pJ-6TPCl?;Uid3=#KPmP?!1;0+-&Q@;yK@EN5&eJIZgR#}!SmMmi|x zWgzch{b<^O^iVq>ddx<L@j80ePwdEd;E;S52fXV#u{Y=GiAYesROgdItSKJAP8GmF zfK~vs<ojS}2w<bok)S2@AsChv>EK@jq;@o2uoXFm;_k>43YUWo#6Uw#L!gAoWrC(i z^|Y3y3I5Mc_`htuCebyv67TvR`YUcMU>1!-6DG;Dh2Min5{c|2CbvZK<OewH;DA?K oW$cUW(JPl=MM@j6;89ugwh)i;tqP$VEC4CsbAq>nTftlZ0m}|z{Qv*} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/hashes.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/hashes.cpython-36.pyc deleted file mode 100644 index 457c1d106f1ecd7abd99673039fae6b1b61bbdee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3294 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 BCm{d; diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/logging.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/logging.cpython-36.pyc deleted file mode 100644 index 2e92635aee349472cc7e755ef08cfbd68ac9e647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3950 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 bJqW(w)Op20esf%2t0BeDm%PQhOU3^J@Yi_Q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/outdated.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/outdated.cpython-36.pyc deleted file mode 100644 index afa0ef2a5545ee084f86c51d9f8b8fa4b5296166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4275 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/packaging.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/packaging.cpython-36.pyc deleted file mode 100644 index 6feaad7f1667f9a2ffcede23f00e1a3c24cd86a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2038 zcma)7UvC>l5Wl@Y_T_SplaN%j@Nfd6$`6iPwWx`NDx#KD5fGv}KxG~-7w_7>^ZjFY zos!5Y5{56q6R&&?KE}TC)UUu3GkdX>nin?O*}2)x?9A-%H-6M;ct8C0b1!fW<8R~E zFhTzurg#H_8kD3)MtX#xZl-2t^(?Jhsok@|W~ENgfz?iHS-n@+dk*Ms&((S@UCF$j zr}cWen)yAS7|c!@Y;8t*P3qE>Uya^6_2??B8`P%_SU0KFHCk(LAqJyGR5LmkMLLlz zjI*-f5=`D9WAr5Ag7IVg6ea7&gP3svU-b)E<01#OQI3ZpXQG(!KEpka{nTfrgk8}m z=pTj!vkvnaOz{-N6cQi1+^1&OkVZnL#*ADOX(kr65?ea5ChLhy3AKMS?;106MquBZ zno}~aLEujG0$h6mjAtX(9|!RukRuk9mvU6(!A*2QoCg!Zf-I8#k={S!?8iwA(T3H@ zvtW_duBY9-WOBlD5uBa!2|JtnojWWB^DAz<W<oo^@tv_;?!N2mFiOS$a7GL8lozrJ zxbmtUz2muZ9mN6;M0s$OUqoq4yYuJ4kpG+JD7s*HI<8I!gMvd<sxXgF71@1@Pt;oB zHZ00tc<VCB9W*&5LP6O{5$DRvqEcBxauAn7`8VYW<9txGEY)19vbwuu2p3gXYt=)9 zH!l7(_!eCE&!AKC_#%?5a}n{*phzhIuCq@&d;7`$gHQMKhcu_dF%_@R!^`25a_<3* zVct3IlyTWUpTsF`Gn$4EAC)6C={b>cDmrD<A4kJDAMTcyYP*l{0sOuLiwy`tcpwbV zHErTq0pWMxYk_CPH5N?cc@Go`h?XQVXC@D(2A~-5sx=$6F6@F0P|P2LW~0^x!UK}6 zW95GR#p%KGgVTd6_vFhL?W5zvZ(5G>ViD&;MtPs{8r-0^p2tESL4|SU@i}Bu<jNmK zBFvbKXe1-$51Cwi0T*qGXR)G{*hcLG5IZod42e%X{ip4V4Dm`VgU;{|P%uNyQ8F`- zi3xCV25k#83oO<Yc#FAS+n0ONnc6cV&SWjAQxh_Fr#A3<MS5~o`bh)Z*__t{>kjz+ zg?w-1d$u9hlIGaszZ2uyA;#4`xt?rLr}8j$s<YVYuzJ_d8|Rggo3E-$){d{5FK^zl zeWDw|)#Duz%-=SsY{C5<aX*0SRh*sVIY42)7mHv=aA?^EUjcFT<V1sofi-|a-)7L# zRROS`U*fqoh}NdACP$1YdjOqOIsLQ%0$K1v8cQ7ep?d$@Tue%AxzKEN%->a=Rrw_^ z64sYt9%YRC7*Yep8j2>0brhPf>&s0*)zV@(WL(u>M;sGu)%b^ST)7LVtYTE5W;L&x zII=gSabI$LctzL}aMZnuEQqOP#<bx-#77_u;*uKR$%Scxv_azh#N5>DI^iui)p}2P zVK|sTvt?n(@kdelEQ{iFw+g8$T^-Ya@O8qyZ6NY4bc&o79FE=4SeKw`QmeNPRHU)M zQdN2d3jbAA6gSjGg?m4Sd#l$#Qs~HTC9Qdblu_<ySwSZ$dy2#t*b02pH(lbIKJW*1 J&vLh1_g{|RG4KEY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/setuptools_build.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/setuptools_build.cpython-36.pyc deleted file mode 100644 index ad933a9fdfa7345d8a71670fd527c2353536f1b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmYjN!AiqG5Z%^G5sEj@xk$2*W?PEb5G!5;1+_xzr52VnJBe#I*=4h-wiiD~{0%>& zSO3D3n?lin_Z~Czm|<qv?H)dTz0ZzY2z{e}VRLk8QFSaaG()TvBi!D6@Ipy#oC-{> zjFh7C9V3@e@(o0kW?TTJ;}aca;~Y$4jP~|z-*Kga()FE2u(x;PD3uJxS)d_d9=4)H zl7i>X^}KPrmT{B?sgM<TID$7wy;K&;?y}0jclM*Kx#_wX-{aQyD88CLK1?T*+nC1J zH+P>%x9v4M`YDLge3cj=t3;Db3I@6&AtR&kCG4Mu<$#qeU$W|TLD%`28ue}DC7BY% qRc}#q!Fs?19SqfTQ`(_6TvX)mH+1I<)Oy=FFC?o4TpTn{wLrhoDRiFz diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/ui.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/__pycache__/ui.cpython-36.pyc deleted file mode 100644 index 7f1baaefcbe098fdc48f12c5de0ee4d45a64a8c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9635 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/appdirs.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/appdirs.py deleted file mode 100644 index 9b828014..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/appdirs.py +++ /dev/null @@ -1,248 +0,0 @@ -""" -This code was taken from https://github.com/ActiveState/appdirs and modified -to suit our purposes. -""" -from __future__ import absolute_import - -import os -import sys - -from pip.compat import WINDOWS, expanduser -from pip._vendor.six import PY2, text_type - - -def user_cache_dir(appname): - 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/<AppName> - Unix: ~/.cache/<AppName> (XDG default) - Windows: C:\Users\<username>\AppData\Local\<AppName>\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\<ProfileName>\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): - """ - 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 - <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> - for a discussion of issues. - - Typical user data directories are: - macOS: ~/Library/Application Support/<AppName> - Unix: ~/.local/share/<AppName> # or in - $XDG_DATA_HOME, if defined - Win XP (not roaming): C:\Documents and Settings\<username>\ ... - ...Application Data\<AppName> - Win XP (roaming): C:\Documents and Settings\<username>\Local ... - ...Settings\Application Data\<AppName> - Win 7 (not roaming): C:\\Users\<username>\AppData\Local\<AppName> - Win 7 (roaming): C:\\Users\<username>\AppData\Roaming\<AppName> - - For Unix, we follow the XDG spec and support $XDG_DATA_HOME. - That means, by default "~/.local/share/<AppName>". - """ - 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, - ) - else: - path = os.path.join( - os.getenv('XDG_DATA_HOME', expanduser("~/.local/share")), - appname, - ) - - return path - - -def user_config_dir(appname, roaming=True): - """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 - <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> - for a discussion of issues. - - Typical user data directories are: - macOS: same as user_data_dir - Unix: ~/.config/<AppName> - Win *: same as user_data_dir - - For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. - That means, by default "~/.config/<AppName>". - """ - 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 <https://github.com/pypa/pip/issues/1733> -def site_config_dirs(appname): - """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/<AppName>/ - Unix: /etc or $XDG_CONFIG_DIRS[i]/<AppName>/ for each value in - $XDG_CONFIG_DIRS - Win XP: C:\Documents and Settings\All Users\Application ... - ...Data\<AppName>\ - Vista: (Fail! "C:\ProgramData" is a hidden *system* directory - on Vista.) - Win 7: Hidden, but writeable on Win 7: - C:\ProgramData\<AppName>\ - """ - 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): - """ - 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): - 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 - # <http://bugs.activestate.com/show_bug.cgi?id=85099>. - 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 - -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 - <https://github.com/pypa/pip/issues/3463>. - - 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/build.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/build.py deleted file mode 100644 index fc65cfab..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/build.py +++ /dev/null @@ -1,42 +0,0 @@ -from __future__ import absolute_import - -import os.path -import tempfile - -from pip.utils import rmtree - - -class BuildDirectory(object): - - def __init__(self, name=None, delete=None): - # If we were not given an explicit directory, and we were not given an - # explicit delete option, then we'll default to deleting. - if name is None and delete is None: - delete = True - - if name is None: - # 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. - name = os.path.realpath(tempfile.mkdtemp(prefix="pip-build-")) - # If we were not given an explicit directory, and we were not given - # an explicit delete option, then we'll default to deleting. - if delete is None: - delete = True - - self.name = name - self.delete = delete - - def __repr__(self): - return "<{} {!r}>".format(self.__class__.__name__, self.name) - - def __enter__(self): - return self.name - - def __exit__(self, exc, value, tb): - self.cleanup() - - def cleanup(self): - if self.delete: - rmtree(self.name) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/deprecation.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/deprecation.py deleted file mode 100644 index c3f799e6..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/deprecation.py +++ /dev/null @@ -1,76 +0,0 @@ -""" -A module that implements tooling to enable easy warnings about deprecations. -""" -from __future__ import absolute_import - -import logging -import warnings - - -class PipDeprecationWarning(Warning): - pass - - -class Pending(object): - pass - - -class RemovedInPip10Warning(PipDeprecationWarning): - pass - - -class RemovedInPip11Warning(PipDeprecationWarning, Pending): - pass - - -class Python26DeprecationWarning(PipDeprecationWarning): - pass - - -# Warnings <-> Logging Integration - - -_warnings_showwarning = None - - -def _showwarning(message, category, filename, lineno, file=None, line=None): - if file is not None: - if _warnings_showwarning is not None: - _warnings_showwarning( - message, category, filename, lineno, file, line, - ) - else: - if issubclass(category, PipDeprecationWarning): - # We use a specially named logger which will handle all of the - # deprecation messages for pip. - logger = logging.getLogger("pip.deprecations") - - # This is purposely using the % formatter here instead of letting - # the logging module handle the interpolation. This is because we - # want it to appear as if someone typed this entire message out. - log_message = "DEPRECATION: %s" % message - - # PipDeprecationWarnings that are Pending still have at least 2 - # versions to go until they are removed so they can just be - # warnings. Otherwise, they will be removed in the very next - # version of pip. We want these to be more obvious so we use the - # ERROR logging level. - if issubclass(category, Pending): - logger.warning(log_message) - else: - logger.error(log_message) - else: - _warnings_showwarning( - message, category, filename, lineno, file, line, - ) - - -def install_warning_logger(): - # Enable our Deprecation Warnings - warnings.simplefilter("default", PipDeprecationWarning, append=True) - - global _warnings_showwarning - - if _warnings_showwarning is None: - _warnings_showwarning = warnings.showwarning - warnings.showwarning = _showwarning diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/encoding.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/encoding.py deleted file mode 100644 index 24831686..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/encoding.py +++ /dev/null @@ -1,31 +0,0 @@ -import codecs -import locale -import re - - -BOMS = [ - (codecs.BOM_UTF8, 'utf8'), - (codecs.BOM_UTF16, 'utf16'), - (codecs.BOM_UTF16_BE, 'utf16-be'), - (codecs.BOM_UTF16_LE, 'utf16-le'), - (codecs.BOM_UTF32, 'utf32'), - (codecs.BOM_UTF32_BE, 'utf32-be'), - (codecs.BOM_UTF32_LE, 'utf32-le'), -] - -ENCODING_RE = re.compile(b'coding[:=]\s*([-\w.]+)') - - -def auto_decode(data): - """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)) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/filesystem.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/filesystem.py deleted file mode 100644 index 25ad5166..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/filesystem.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -import os.path - -from pip.compat import get_path_uid - - -def check_path_owner(path): - # 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) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/glibc.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/glibc.py deleted file mode 100644 index 7847885c..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/glibc.py +++ /dev/null @@ -1,81 +0,0 @@ -from __future__ import absolute_import - -import re -import ctypes -import platform -import warnings - - -def glibc_version_string(): - "Returns glibc version string, or None if not using glibc." - - # 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<major>[0-9]+)\.(?P<minor>[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) - - -# 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(): - glibc_version = glibc_version_string() - if glibc_version is None: - # For non-glibc platforms, fall back on platform.libc_ver - return platform.libc_ver() - else: - return ("glibc", glibc_version) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/hashes.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/hashes.py deleted file mode 100644 index 96029700..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/hashes.py +++ /dev/null @@ -1,92 +0,0 @@ -from __future__ import absolute_import - -import hashlib - -from pip.exceptions import HashMismatch, HashMissing, InstallationError -from pip.utils import read_chunks -from pip._vendor.six import iteritems, iterkeys, itervalues - - -# 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): - """ - :param hashes: A dict of algorithm names pointing to lists of allowed - hex digests - """ - self._allowed = {} if hashes is None else hashes - - def check_against_chunks(self, chunks): - """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): - raise HashMismatch(self._allowed, gots) - - def check_against_file(self, file): - """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): - with open(path, 'rb') as file: - return self.check_against_file(file) - - def __nonzero__(self): - """Return whether I know any known-good hashes.""" - return bool(self._allowed) - - def __bool__(self): - 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): - """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): - raise HashMissing(gots[FAVORITE_HASH].hexdigest()) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/logging.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/logging.py deleted file mode 100644 index 1c1053ab..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/logging.py +++ /dev/null @@ -1,130 +0,0 @@ -from __future__ import absolute_import - -import contextlib -import logging -import logging.handlers -import os - -try: - import threading -except ImportError: - import dummy_threading as threading - -from pip.compat import WINDOWS -from pip.utils import ensure_dir - -try: - from pip._vendor import colorama -# Lots of different errors can come from this, including SystemError and -# ImportError. -except Exception: - colorama = None - - -_log_state = threading.local() -_log_state.indentation = 0 - - -@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 format(self, record): - """ - Calls the standard formatter, but will indent all of the log messages - by our current indentation level. - """ - formatted = logging.Formatter.format(self, record) - formatted = "".join([ - (" " * get_indentation()) + 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(colorama.Fore.RED)), - (logging.WARNING, _color_wrap(colorama.Fore.YELLOW)), - ] - else: - COLORS = [] - - def __init__(self, stream=None): - logging.StreamHandler.__init__(self, stream) - - if WINDOWS and colorama: - self.stream = colorama.AnsiToWin32(self.stream) - - def should_color(self): - # Don't colorize things if we do not have colorama - if not colorama: - 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 ASNI 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 - - -class BetterRotatingFileHandler(logging.handlers.RotatingFileHandler): - - def _open(self): - ensure_dir(os.path.dirname(self.baseFilename)) - return logging.handlers.RotatingFileHandler._open(self) - - -class MaxLevelFilter(logging.Filter): - - def __init__(self, level): - self.level = level - - def filter(self, record): - return record.levelno < self.level diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/outdated.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/outdated.py deleted file mode 100644 index 2164cc3c..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/outdated.py +++ /dev/null @@ -1,162 +0,0 @@ -from __future__ import absolute_import - -import datetime -import json -import logging -import os.path -import sys - -from pip._vendor import lockfile -from pip._vendor.packaging import version as packaging_version - -from pip.compat import total_seconds, WINDOWS -from pip.models import PyPI -from pip.locations import USER_CACHE_DIR, running_under_virtualenv -from pip.utils import ensure_dir, get_installed_version -from pip.utils.filesystem import check_path_owner - - -SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ" - - -logger = logging.getLogger(__name__) - - -class VirtualenvSelfCheckState(object): - def __init__(self): - self.statefile_path = os.path.join(sys.prefix, "pip-selfcheck.json") - - # Load the existing state - try: - with open(self.statefile_path) as statefile: - self.state = json.load(statefile) - except (IOError, ValueError): - self.state = {} - - def save(self, pypi_version, current_time): - # Attempt to write out our version check file - with open(self.statefile_path, "w") as statefile: - json.dump( - { - "last_check": current_time.strftime(SELFCHECK_DATE_FMT), - "pypi_version": pypi_version, - }, - statefile, - sort_keys=True, - separators=(",", ":") - ) - - -class GlobalSelfCheckState(object): - def __init__(self): - self.statefile_path = os.path.join(USER_CACHE_DIR, "selfcheck.json") - - # Load the existing state - try: - with open(self.statefile_path) as statefile: - self.state = json.load(statefile)[sys.prefix] - except (IOError, ValueError, KeyError): - self.state = {} - - def save(self, pypi_version, current_time): - # 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)) - - # Attempt to write out our version check file - with lockfile.LockFile(self.statefile_path): - if os.path.exists(self.statefile_path): - with open(self.statefile_path) as statefile: - state = json.load(statefile) - else: - state = {} - - state[sys.prefix] = { - "last_check": current_time.strftime(SELFCHECK_DATE_FMT), - "pypi_version": pypi_version, - } - - with open(self.statefile_path, "w") as statefile: - json.dump(state, statefile, sort_keys=True, - separators=(",", ":")) - - -def load_selfcheck_statefile(): - if running_under_virtualenv(): - return VirtualenvSelfCheckState() - else: - return GlobalSelfCheckState() - - -def pip_version_check(session): - """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 installed_version is None: - return - - pip_version = packaging_version.parse(installed_version) - pypi_version = None - - try: - state = load_selfcheck_statefile() - - 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 total_seconds(current_time - last_check) < 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: - resp = session.get( - PyPI.pip_json_url, - headers={"Accept": "application/json"}, - ) - resp.raise_for_status() - pypi_version = [ - v for v in sorted( - list(resp.json()["releases"]), - key=packaging_version.parse, - ) - if not packaging_version.parse(v).is_prerelease - ][-1] - - # save that we've performed a check - state.save(pypi_version, current_time) - - remote_version = packaging_version.parse(pypi_version) - - # Determine if our pypi_version is older - if (pip_version < remote_version and - pip_version.base_version != remote_version.base_version): - # 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/packaging.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/packaging.py deleted file mode 100644 index e93b20d1..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/packaging.py +++ /dev/null @@ -1,63 +0,0 @@ -from __future__ import absolute_import - -from email.parser import FeedParser - -import logging -import sys - -from pip._vendor.packaging import specifiers -from pip._vendor.packaging import version -from pip._vendor import pkg_resources - -from pip import exceptions - -logger = logging.getLogger(__name__) - - -def check_requires_python(requires_python): - """ - Check if the python version in use match the `requires_python` specifier. - - Returns `True` if the version of python in use matches the requirement. - Returns `False` if the version of python in use does not matches the - requirement. - - Raises an InvalidSpecifier if `requires_python` have an invalid format. - """ - if requires_python is None: - # The package provides no information - return True - requires_python_specifier = specifiers.SpecifierSet(requires_python) - - # We only use major.minor.micro - python_version = version.parse('.'.join(map(str, sys.version_info[:3]))) - return python_version in requires_python_specifier - - -def get_metadata(dist): - if (isinstance(dist, pkg_resources.DistInfoDistribution) and - dist.has_metadata('METADATA')): - return dist.get_metadata('METADATA') - elif dist.has_metadata('PKG-INFO'): - return dist.get_metadata('PKG-INFO') - - -def check_dist_requires_python(dist): - metadata = get_metadata(dist) - feed_parser = FeedParser() - feed_parser.feed(metadata) - pkg_info_dict = feed_parser.close() - requires_python = pkg_info_dict.get('Requires-Python') - try: - if not check_requires_python(requires_python): - raise exceptions.UnsupportedPythonVersion( - "%s requires Python '%s' but the running Python is %s" % ( - dist.project_name, - requires_python, - '.'.join(map(str, sys.version_info[:3])),) - ) - except specifiers.InvalidSpecifier as e: - logger.warning( - "Package %s has an invalid Requires-Python entry %s - %s" % ( - dist.project_name, requires_python, e)) - return diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/setuptools_build.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/setuptools_build.py deleted file mode 100644 index 03973e97..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/setuptools_build.py +++ /dev/null @@ -1,8 +0,0 @@ -# Shim to wrap setup.py invocation with setuptools -SETUPTOOLS_SHIM = ( - "import setuptools, tokenize;__file__=%r;" - "f=getattr(tokenize, 'open', open)(__file__);" - "code=f.read().replace('\\r\\n', '\\n');" - "f.close();" - "exec(compile(code, __file__, 'exec'))" -) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/ui.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/ui.py deleted file mode 100644 index bba73e3b..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/utils/ui.py +++ /dev/null @@ -1,344 +0,0 @@ -from __future__ import absolute_import -from __future__ import division - -import itertools -import sys -from signal import signal, SIGINT, default_int_handler -import time -import contextlib -import logging - -from pip.compat import WINDOWS -from pip.utils import format_size -from pip.utils.logging import get_indentation -from pip._vendor import six -from pip._vendor.progress.bar import Bar, IncrementalBar -from pip._vendor.progress.helpers import (WritelnMixin, - HIDE_CURSOR, SHOW_CURSOR) -from pip._vendor.progress.spinner import Spinner - -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) - - -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 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 neds 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 DownloadProgressBar(WindowsMixin, InterruptibleMixin, - DownloadProgressMixin, _BaseBar): - - file = sys.stdout - message = "%(percent)d%%" - suffix = "%(downloaded)s %(download_speed)s %(pretty_eta)s" - - -class DownloadProgressSpinner(WindowsMixin, InterruptibleMixin, - DownloadProgressMixin, WritelnMixin, 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) - - -################################################################ -# 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): - # 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): - self._min_update_interval_seconds = min_update_interval_seconds - self._last_update = 0 - - def ready(self): - now = time.time() - delta = now - self._last_update - return delta >= self._min_update_interval_seconds - - def reset(self): - self._last_update = time.time() - - -class InteractiveSpinner(object): - 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): - if self._finished: - return - if not self._rate_limiter.ready(): - return - self._write(next(self._spin_cycle)) - - def finish(self, final_status): - 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(object): - def __init__(self, message, min_update_interval_seconds=60): - 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): - if self._finished: - return - if not self._rate_limiter.ready(): - return - self._update("still running...") - - def finish(self, final_status): - if self._finished: - return - self._update("finished with status '%s'" % (final_status,)) - self._finished = True - - -@contextlib.contextmanager -def open_spinner(message): - # 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) - 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__init__.py deleted file mode 100644 index 8d3dbb27..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__init__.py +++ /dev/null @@ -1,366 +0,0 @@ -"""Handles all VCS (version control) support""" -from __future__ import absolute_import - -import errno -import logging -import os -import shutil -import sys - -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip.exceptions import BadCommand -from pip.utils import (display_path, backup_dir, call_subprocess, - rmtree, ask_path_exists) - - -__all__ = ['vcs', 'get_src_requirement'] - - -logger = logging.getLogger(__name__) - - -class VcsSupport(object): - _registry = {} - schemes = ['ssh', 'git', 'hg', 'bzr', 'sftp', 'svn'] - - def __init__(self): - # 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): - return list(self._registry.values()) - - @property - def dirnames(self): - return [backend.dirname for backend in self.backends] - - @property - def all_schemes(self): - schemes = [] - for backend in self.backends: - schemes.extend(backend.schemes) - return schemes - - def register(self, cls): - 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, cls=None, name=None): - if name in self._registry: - del self._registry[name] - elif cls in self._registry.values(): - del self._registry[cls.name] - else: - logger.warning('Cannot unregister because no class or name given') - - def get_backend_name(self, location): - """ - Return the name of the version control backend if found at given - location, e.g. vcs.get_backend_name('/path/to/vcs/checkout') - """ - for vc_type in self._registry.values(): - if vc_type.controls_location(location): - logger.debug('Determine that %s uses VCS: %s', - location, vc_type.name) - return vc_type.name - return None - - def get_backend(self, name): - name = name.lower() - if name in self._registry: - return self._registry[name] - - def get_backend_from_location(self, location): - vc_type = self.get_backend_name(location) - if vc_type: - return self.get_backend(vc_type) - return None - - -vcs = VcsSupport() - - -class VersionControl(object): - name = '' - dirname = '' - # List of supported schemes for this Version Control - schemes = () - - def __init__(self, url=None, *args, **kwargs): - self.url = url - super(VersionControl, self).__init__(*args, **kwargs) - - def _is_local_repository(self, repo): - """ - 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 drive - - # See issue #1083 for why this method was introduced: - # https://github.com/pypa/pip/issues/1083 - def translate_egg_surname(self, surname): - # For example, Django has branches of the form "stable/1.7.x". - return surname.replace('/', '_') - - def export(self, location): - """ - Export the repository at the url to the destination location - i.e. only download the files, without vcs informations - """ - raise NotImplementedError - - def get_url_rev(self): - """ - Returns the correct repository URL and revision by parsing the given - repository URL - """ - error_message = ( - "Sorry, '%s' is a malformed VCS url. " - "The format is <vcs>+<protocol>://<url>, " - "e.g. svn+http://myrepo/svn/MyApp#egg=MyApp" - ) - assert '+' in self.url, error_message % self.url - url = self.url.split('+', 1)[1] - scheme, netloc, path, query, frag = urllib_parse.urlsplit(url) - rev = None - if '@' in path: - path, rev = path.rsplit('@', 1) - url = urllib_parse.urlunsplit((scheme, netloc, path, query, '')) - return url, rev - - def get_info(self, location): - """ - Returns (url, revision), where both are strings - """ - assert not location.rstrip('/').endswith(self.dirname), \ - 'Bad directory: %s' % location - return self.get_url(location), self.get_revision(location) - - def normalize_url(self, url): - """ - Normalize a URL for comparison by unquoting it and removing any - trailing slash. - """ - return urllib_parse.unquote(url).rstrip('/') - - def compare_urls(self, url1, url2): - """ - Compare two repo URLs for identity, ignoring incidental differences. - """ - return (self.normalize_url(url1) == self.normalize_url(url2)) - - def obtain(self, dest): - """ - Called when installing or updating an editable package, takes the - source path of the checkout. - """ - raise NotImplementedError - - def switch(self, dest, url, rev_options): - """ - Switch the repo at ``dest`` to point to ``URL``. - """ - raise NotImplementedError - - def update(self, dest, rev_options): - """ - Update an already-existing repo to the given ``rev_options``. - """ - raise NotImplementedError - - def check_version(self, dest, rev_options): - """ - Return True if the version is identical to what exists and - doesn't need to be updated. - """ - raise NotImplementedError - - def check_destination(self, dest, url, rev_options, rev_display): - """ - Prepare a location to receive a checkout/clone. - - Return True if the location is ready for (and requires) a - checkout/clone, False otherwise. - """ - checkout = True - prompt = False - if os.path.exists(dest): - checkout = False - if os.path.exists(os.path.join(dest, self.dirname)): - existing_url = self.get_url(dest) - if self.compare_urls(existing_url, url): - logger.debug( - '%s in %s exists, and has correct URL (%s)', - self.repo_name.title(), - display_path(dest), - url, - ) - if not self.check_version(dest, rev_options): - logger.info( - 'Updating %s %s%s', - display_path(dest), - self.repo_name, - rev_display, - ) - self.update(dest, rev_options) - else: - logger.info( - 'Skipping because already up-to-date.') - else: - 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, - ) - prompt = ('(i)gnore, (w)ipe, (b)ackup ', ('i', 'w', 'b')) - if prompt: - 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 == 's': - logger.info( - 'Switching %s %s to %s%s', - self.repo_name, - display_path(dest), - url, - rev_display, - ) - self.switch(dest, url, rev_options) - elif response == 'i': - # do nothing - pass - elif response == 'w': - logger.warning('Deleting %s', display_path(dest)) - rmtree(dest) - checkout = True - elif response == 'b': - dest_dir = backup_dir(dest) - logger.warning( - 'Backing up %s to %s', display_path(dest), dest_dir, - ) - shutil.move(dest, dest_dir) - checkout = True - elif response == 'a': - sys.exit(-1) - return checkout - - def unpack(self, location): - """ - Clean up current location and download the url repository - (and vcs infos) into location - """ - if os.path.exists(location): - rmtree(location) - self.obtain(location) - - def get_src_requirement(self, dist, location): - """ - Return a string representing the requirement needed to - redownload the files currently present in location, something - like: - {repository_url}@{revision}#egg={project_name}-{version_identifier} - """ - raise NotImplementedError - - def get_url(self, location): - """ - Return the url used at location - Used in get_info or check_destination - """ - raise NotImplementedError - - def get_revision(self, location): - """ - Return the current revision of the files at location - Used in get_info - """ - raise NotImplementedError - - def run_command(self, cmd, show_stdout=True, cwd=None, - on_returncode='raise', - command_desc=None, - extra_environ=None, spinner=None): - """ - 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 = [self.name] + cmd - try: - return call_subprocess(cmd, show_stdout, cwd, - on_returncode, - command_desc, extra_environ, - spinner) - 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' % self.name) - else: - raise # re-raise exception if a different error occurred - - @classmethod - def controls_location(cls, location): - """ - Check if a location is controlled by the vcs. - It is meant to be overridden to implement smarter detection - mechanisms for specific vcs. - """ - logger.debug('Checking in %s for %s (%s)...', - location, cls.dirname, cls.name) - path = os.path.join(location, cls.dirname) - return os.path.exists(path) - - -def get_src_requirement(dist, location): - version_control = vcs.get_backend_from_location(location) - if version_control: - try: - return version_control().get_src_requirement(dist, - location) - except BadCommand: - logger.warning( - 'cannot determine version of editable source in %s ' - '(%s command not found in path)', - location, - version_control.name, - ) - return dist.as_requirement() - logger.warning( - 'cannot determine version of editable source in %s (is not SVN ' - 'checkout, Git clone, Mercurial clone or Bazaar branch)', - location, - ) - return dist.as_requirement() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 8af1c5ac0bce2a5011a14a754e5112ee1603c734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11154 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 V4e<VwX_u;{rMIop(oeNd{ui=b_#yxR diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/bazaar.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/bazaar.cpython-36.pyc deleted file mode 100644 index 3598e9bbd9ccab138e05c9b6c921a1b3a23d4843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3707 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 XXrlxRKifiBYw?z~fwp1S?2X_D2nK)T diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/git.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/git.cpython-36.pyc deleted file mode 100644 index 0fb6aad3d73d57ad8ec3b1819dc5e2a7e85c878a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8847 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/mercurial.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/mercurial.cpython-36.pyc deleted file mode 100644 index 035c37476d1eff12f0231ff2c7104aa018a4f138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3620 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 Jx8-)9d;_;Zhfe?i diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/subversion.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/__pycache__/subversion.cpython-36.pyc deleted file mode 100644 index 4670d6b3eb5427b85a11778c327c5f20b421f0d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7159 zcmb_hO>i4WcAoC}!2kq7kfKP@mgTW*c?C-(<#pD!6k01={@H94CXo}{3(H18^biC% zm;rkR6gf3mZwzm?Dk;}`cdJr4<&dhlcB}TVhvbx7s&Y@Na_U1aIq8^74!k7a>jA(Y zGpQT`*7WrBboX?>{@#1vdwgYfw)F8oepdgp7YyUyjT1i$^?SJDe?=h-!2+Yl>WopH z2fWVp-K?AXZq+T^&A{$C^@8qW1#YicFY3A-lzKDunO?bG*3V8b+pE+ox?Tw8dewTh zH(#G;hHrHjggavO3%XWBZBf@ss9n^x8Pt|^t&G~TuFax$$>-e_|0&d-e$NmUG53Wb z=KT4QS-&i*V*U%G{)}JkUhyxFXb=2-qqgt_J2Prb%{8~;C>SJuqtok0GTB6%-EYd+ zN5y*333qE;IkJ~X-&bYPiTgqGu+eWOJ9uB}gu)M#Mi8~p%iM3ps`7y^<4zRbkHSPo zK{`8-!5devfBfmyPj1w%rWadLuh&TuU#v=hA1@vWYA*iq!v}Y~>uWb^Y2~56-=P`C z&leuWFQKb$n)aXDz_fR-uf0^;Sf^Txb~E|e<4XJ$D!x%?!oZ0!oEFDPnRQ!StvkXM zMaZQfN@50gSCqvp?!{bs_0m{wGh#tpKzms%ii^0<{>0d3Vo5B2;npkSl2}38oOnt+ zjeAvG7SG^5FRqAZabNH+2v0osg@JQf{E1;1^^1`F^Q!dzU~4~@k}~7{FtyfDDz~-c zw|1jJa#X<MjX2&pa;dVDB>kh}q!y3g?uRWt-Y4ysuKT#+zeAC+E-*V{U6vVLK4N7f z_7dzqV@p`e=hO;0WUS4FC2Zkzm?(T{4tZjCoecelW@g6QNulcsHz{VAX~da<=aMMm zJ?diieIqlwGXjY0mPf|WN@h=t{aTMLpFcLUL}?os%&f@_^i->)>ks{8Aj8<Zjw8M4 zO%A<w(|f$*OW)gyk{z#!N}R|}*p83bdOH7B6Ef~dzm-Jt@Q!yaR#qq6j@|`!-`spp zvHJk#OuQ34Zp4XzaMi4TkjQ4k5BEDV3e#`hZ-!x%c*0M7+3SS92Pk^cwg-WGlM}(T z>2tq7Ncw}sOLm%x*UATN`JPr4amOoNi#MMz2tU2~jTt99IcM4$-`uQKpkTD8zH<Fg z#E(14jw)bNVYBC}%A0ZQ%LEGXj+Bv9Gjb3%NQ;`GP%{lIvjK56q_3RVZ_3t=a-fcF zU#i06rVJq{>0nvP7XH?tt?agp27P7c->d5Jll5VenyswZ54M#XM6D)$RXLCvHm>Ym zGr{a8zV<6azJxiC{Pn)<>^BpCeZMK!x1&G+*6X*$`s=s5w{LytcKEUgMSB-p+G-rO zU+ceq3%_=_{zvQmPJeZ4&<Vt<FM`I)uk?4QNnfxc>+w`W*7}FaZTm@sPW4%QG`@+# z;7hE;EaouI%A9HzY9(IAy`tYto?Vt+IM%nd$xNq|X9g2$<w;P1au_4y5g+oQnXrs! z=7<k1QY5V!JTaj>)XqjGl)@evKYbN<rwer<RgvG%Vb5r$lHhHYS<43XZ}Vli31NK+ z1^Uns_8%G#jgN2#_?`6LI|pQb0WaVi(35^YiaP{q4|t<i$lXgKT@`+ubV7YR-sGIp z=kghF;Abbe2KA3fH5^}m<lP#R7qQjN+KieZiR1v<S9A0LG&G_<9eu18rQeJ8{YG<; z>@>Dz)T6GFjzKO^Q9z-11f?U7K=XIvB$i~2<Yg2!TVA93i&WH5C==5I!^hvyNXm;F z)N2*RZ{vy=Q5ZPU68<X8Wo6UF=~h`ff8spz4YkN&(~s_S>C>bI&}j;WGcb?OKs!ML zQs<k{8E9JzzARs^rI)KL60lyc{0=5LyTn(~_I+Hjw!o(sl+V{P@tS^gr%NyBDO9El z0vG@ZwhW6*TwuJML0>?fCd)B%>Ai+==Pu-Ry!bs_=Pe|kX^L~Q0d(nw{9kaMnQ{#{ zH<yf|9a@49Z7dy514y<qdt}LeVs&k}5uVwJqn(7MF<&63(nhayB<^gc^WJrUabj|S z%9=9L<@@CO2)ZyfXqzBbma*iNukO`cxrVA-r{We0HLs0x<Af@lz$NW8KT+p|2nm4l zx2T{~%~3dJG-r+&MsF)=cEUeEznG5AU^x&i7#RW~nHTyi@l$ZjM@>(kmNE6r+juzm zlZ?M@eDV=Y3;ZW}XqXl&ernHwsI6T`-V+Rl#_F2nzriZ)AM+I;q-(*);utau$6&+1 z+q+yk@Si3O3Our~R)C;A2WEwk<ZK?XRk@509<k>od8H@+g<s8)q#Ua3x7*O>X1fRS zrmSw%3E>d>K?g=Yh#tdrn7jTVdXw%#8KBduD*Qg2lOMJY8v$5hoU6w@^pI~;K@Q<q zja8XU$;37_@h;bAt<5AnmtTP(OKg#)%O~{t<ftijOBg;C<8SaF*pMH5ofsfE5EBIY zSC7o0IV9nbowjxh^4o0?48aBeG2bxusw7f+N6LnAKyId=g*h^Zj&5->XT;)9(bwn} z=y2cz3PTtD7=-=947gr4hQ-j!3LsQpWn}L`(#wYY>(k$Y{pXnrufg}KAHwqEK<xBk z$s7N2mZR->uX)hv4SL7gupLRS83f*TC-7r$0D0rtYj^hjaBAqM6X}E9R0SNO?D(;q zhh%Cc`7&<GdfW_lB_S8wLfdfpZ9K>~sd$B&s|}L%F@4xqr8sHIB&Q!HmWH{e##^}) zjaAlGGxiA;GFG-;s49(@(AWlDzzaBuoInI*?Oht69mjbXnamquQSnt2hHYu@UIt3a zYytkA^9px?71YsI`6gl}bF>KR^dplyxin!&4ES<m#DM_v?Z6L|NGq9qfrv3q7Ff!- zrlRI%>VSUVSzk{r2<S%5f_e=4zLbQ-+z>rLtv0sLQ@etYsMu(<f@T~y8pq0@NBlVk z#4ZYhFJLd=B}->;KlZ{?*q?G{A7Efcuz!nS-{ralG+`$I>iAu}gH6F3i&R2y#v~g- zoE{s@S^L;VXn>P_G0AGwtj*MoLB0FnTIqZDqd_1%qQu*X?!3thkDxgv+Az^D<3OFz za0Lkl0;aD4#+n8vtTv%BhaRCW#~;BmH`X52eiub8_q>`YsM$z%+Ee49W+BgGTXNRW z6bQx;-On&fZeuKqU4nrwGuMQr;SP6sy6{a|PvuPXkJyZMjeS5!Fhu!?_=gnr@Gb}+ zpka`+gRwAm3v4f_-uDu1D1KTYE8ca<Mw123i5;A#w$|OEuyI1&%tnn&OkOKs{I8Qz zGLw|Mvv^mb*q_dlEWBVVSj8L0xK>;-hE5)-X7=0g2SjNA*+TeBJu9*S@;{TgZWWH1 z!DPAdKPU47vyS6E7ny|$-Z)~8qTS>|caeIYn(5QS4eaqE#l7GqCdIv9@?kMq!mKcJ z(-{`^49l1Stu({1@SzcU77X2P=_@85GK2nv(Ka|%JuLjd2>C}wR=_)vT*|QTVF|K9 znK_w`1Zx*JbGR@y|2rY9P!MQts{<bSJsgd^jY6^46}zqY%ePXqR4zRs1)pj>Q8Drn z@8i-M51VX!^1_h8(Gt{+T}$E^g|T8t3${SlM(k&N&w>iDCq;~-97f=W%It&*>U`~% zV&V+mj!GK={2>Cc{@uT)Z_$SxBV9iMu(OtRZG#+P5Z^^*GB&k0zI)IM(n|<ngG16T zgjYz5c;J6c#IaJl@AJ1u`lGkEkZ-Sx%>X;o&FG;uE?ej)$)ut#a8s;zW;c>Z$v@y4 zZ$q>C)Lvc1(k4;D|L+=P8(%wb75{X+irR{*AR1ir4_ba6h{#7Y>e!ZOH>S;q_GMNC zZlWydH-#j_tSpkVf)nc_!;(n2Hexs6EpU@>QHMG0`LN4z>?5yGYw3e#Fz|EOk=(}d zHQWou*De{v4$=ggS*k@n1%;)J<9W`u=0hcs^xDj^JJtIE56eBbPNylh4X293&*LO) zW<QqKX%Qx-&uQyv|EUe<-=ar+7X=t991F43MQ$M^rauaj%etfxnciK7GqvD+Twdju zc$HPTLyVTEPya9YJ;i6qD``tfa)iZz-b162F@lP@a*6mSTq_%aY>^!WH-(qc0W?Ad z^t1)?KH#v{HbM)cMw{{t%%m}^tw35OpL;F7cP)M%MD-0s2$uX9U636CZ>6M&K0`?^ zaZFO>J2b_M)Cq#?N2*F)`!ebxF_aI{y#KTS)dfv~WDBReH$W1J`0&4Al9<8{1L8u& z$ro`?ubdFiIfJGWBAY}cL`#T7B^dU|(-+?i9ybqT56ocD^ELS!rvPJ5MB%p*PiI%& z)tWKk75`J*r)KlmXOcw3XYvS;r<YEw^His)7L$>rORtcCL#zSRNOOiRyq%6b=*);B zS(LZ{S!T%Yv2J18)+__082#b%G<!H=_wv*GE@rD0RT<tm=xhPi$RaBjPkC(Ngnj}; zm@A+YV|h49Vx`L78~74=o@q={!k|H@harWa69-lwZE8;Et@^%b<dZ4t+30utmX9Pv zjEA$fg@VO@!xa;EGYTbMwU(eB>9Z#!bzYVO-z8!oXQ`-AF-JueMQusB4UMWsLzNnh zUL*#Ak9xV$*c&thf+(IW4OPv-iv&tNLKX6j$MPmkN7)WZ`2<O^yxgGTJt_#?InyNQ zYgLy+s{Ig!D#J-8omS6Jb|R6-!?R=J+46&6LOu!Z$R&J4<8*R`WUzuu6KzVT=s)gW zcIR9ZfAem|eY#w57u}m~(X}++o$@3iuY_-noUc*In5-afMPh5nL#qwMOtA!(1d9Oe zm#<Qkipv5U03Qk;pq<d=zz#Twc+<=Qv$Ei#ZL}7IlNHb!BD_Lo8jOpBu4CNZ=Lo=v zQP3R7-RG^DC4ZiAQOK+|e~l1p%fG?1n;`+ApDFk%Z6bpp0Yv0c^^s6uEI*@yRP~76 zNlUA%lebjwLrot?Qt0fgBY#9){}hEP>@;JzX(@j}Pwu3jhBV0TG!V!W3@q;_|B}Xk zP9rQzq@6`5<uv{SSNsAB14lvz8Ri=%8ircuz7}{HES5|-T{;U=dzPTLJwVDFV3Qm} zRe>_Ul<_4`skrp(m&uPd5I%}XuEm{$HA?5jYtR#DsHD@>yHiE#NB_+^$WsLRd60C1 zaWc=L3FoPkZd{vuNGAXb)Q+^RB!oy}QmQ}%2|=u+uukq#@eCETMM>!=8KY1|*wP0& zTP^>B8g*uoK&rP$L1!C|93GdDe4-#QD|aJTyt{OYF&TddN&B`k(uP$Csyg<A+8dfB Mv-+9w1NZWO0~Xoi%K!iX diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/bazaar.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/bazaar.py deleted file mode 100644 index 0f095841..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/bazaar.py +++ /dev/null @@ -1,116 +0,0 @@ -from __future__ import absolute_import - -import logging -import os -import tempfile - -# TODO: Get this into six.moves.urllib.parse -try: - from urllib import parse as urllib_parse -except ImportError: - import urlparse as urllib_parse - -from pip.utils import rmtree, display_path -from pip.vcs import vcs, VersionControl -from pip.download import path_to_url - - -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, url=None, *args, **kwargs): - super(Bazaar, self).__init__(url, *args, **kwargs) - # Python >= 2.7.4, 3.3 doesn't have uses_fragment or non_hierarchical - # 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']) - urllib_parse.non_hierarchical.extend(['lp']) - - def export(self, location): - """ - Export the Bazaar repository at the url to the destination location - """ - temp_dir = tempfile.mkdtemp('-export', 'pip-') - self.unpack(temp_dir) - if os.path.exists(location): - # Remove the location to make sure Bazaar can export it correctly - rmtree(location) - try: - self.run_command(['export', location], cwd=temp_dir, - show_stdout=False) - finally: - rmtree(temp_dir) - - def switch(self, dest, url, rev_options): - self.run_command(['switch', url], cwd=dest) - - def update(self, dest, rev_options): - self.run_command(['pull', '-q'] + rev_options, cwd=dest) - - def obtain(self, dest): - url, rev = self.get_url_rev() - if rev: - rev_options = ['-r', rev] - rev_display = ' (to revision %s)' % rev - else: - rev_options = [] - rev_display = '' - if self.check_destination(dest, url, rev_options, rev_display): - logger.info( - 'Checking out %s%s to %s', - url, - rev_display, - display_path(dest), - ) - self.run_command(['branch', '-q'] + rev_options + [url, dest]) - - def get_url_rev(self): - # hotfix the URL scheme after removing bzr+ from bzr+ssh:// readd it - url, rev = super(Bazaar, self).get_url_rev() - if url.startswith('ssh://'): - url = 'bzr+' + url - return url, rev - - def get_url(self, location): - urls = self.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 self._is_local_repository(repo): - return path_to_url(repo) - return repo - return None - - def get_revision(self, location): - revision = self.run_command( - ['revno'], show_stdout=False, cwd=location) - return revision.splitlines()[-1] - - def get_src_requirement(self, dist, location): - repo = self.get_url(location) - if not repo: - return None - if not repo.lower().startswith('bzr:'): - repo = 'bzr+' + repo - egg_project_name = dist.egg_name().split('-', 1)[0] - current_rev = self.get_revision(location) - return '%s@%s#egg=%s' % (repo, current_rev, egg_project_name) - - def check_version(self, dest, rev_options): - """Always assume the versions don't match""" - return False - - -vcs.register(Bazaar) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/git.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/git.py deleted file mode 100644 index 2187dd84..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/git.py +++ /dev/null @@ -1,300 +0,0 @@ -from __future__ import absolute_import - -import logging -import tempfile -import os.path - -from pip.compat import samefile -from pip.exceptions import BadCommand -from pip._vendor.six.moves.urllib import parse as urllib_parse -from pip._vendor.six.moves.urllib import request as urllib_request -from pip._vendor.packaging.version import parse as parse_version - -from pip.utils import display_path, rmtree -from pip.vcs import vcs, VersionControl - - -urlsplit = urllib_parse.urlsplit -urlunsplit = urllib_parse.urlunsplit - - -logger = logging.getLogger(__name__) - - -class Git(VersionControl): - name = 'git' - dirname = '.git' - repo_name = 'clone' - schemes = ( - 'git', 'git+http', 'git+https', 'git+ssh', 'git+git', 'git+file', - ) - - def __init__(self, url=None, *args, **kwargs): - - # Works around an apparent Git bug - # (see http://article.gmane.org/gmane.comp.version-control.git/146500) - if url: - 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), - ) - - super(Git, self).__init__(url, *args, **kwargs) - - 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):] - else: - version = '' - # get first 3 positions of the git version becasue - # 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) - - def export(self, location): - """Export the Git repository at the url to the destination location""" - temp_dir = tempfile.mkdtemp('-export', 'pip-') - self.unpack(temp_dir) - try: - if not location.endswith('/'): - location = location + '/' - self.run_command( - ['checkout-index', '-a', '-f', '--prefix', location], - show_stdout=False, cwd=temp_dir) - finally: - rmtree(temp_dir) - - def check_rev_options(self, rev, dest, rev_options): - """Check the revision options before checkout to compensate that tags - and branches may need origin/ as a prefix. - Returns the SHA1 of the branch or tag if found. - """ - revisions = self.get_short_refs(dest) - - origin_rev = 'origin/%s' % rev - if origin_rev in revisions: - # remote branch - return [revisions[origin_rev]] - elif rev in revisions: - # a local tag or branch name - return [revisions[rev]] - else: - logger.warning( - "Could not find a tag or branch '%s', assuming commit.", rev, - ) - return rev_options - - def check_version(self, dest, rev_options): - """ - Compare the current sha to the ref. ref may be a branch or tag name, - but current rev will always point to a sha. This means that a branch - or tag will never compare as True. So this ultimately only matches - against exact shas. - """ - return self.get_revision(dest).startswith(rev_options[0]) - - def switch(self, dest, url, rev_options): - self.run_command(['config', 'remote.origin.url', url], cwd=dest) - self.run_command(['checkout', '-q'] + rev_options, cwd=dest) - - self.update_submodules(dest) - - def update(self, dest, rev_options): - # 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) - if rev_options: - rev_options = self.check_rev_options( - rev_options[0], dest, rev_options, - ) - self.run_command(['reset', '--hard', '-q'] + rev_options, cwd=dest) - #: update submodules - self.update_submodules(dest) - - def obtain(self, dest): - url, rev = self.get_url_rev() - if rev: - rev_options = [rev] - rev_display = ' (to %s)' % rev - else: - rev_options = ['origin/master'] - rev_display = '' - if self.check_destination(dest, url, rev_options, rev_display): - logger.info( - 'Cloning %s%s to %s', url, rev_display, display_path(dest), - ) - self.run_command(['clone', '-q', url, dest]) - - if rev: - rev_options = self.check_rev_options(rev, dest, rev_options) - # Only do a checkout if rev_options differs from HEAD - if not self.check_version(dest, rev_options): - self.run_command( - ['checkout', '-q'] + rev_options, - cwd=dest, - ) - #: repo may contain submodules - self.update_submodules(dest) - - def get_url(self, location): - """Return URL of the first remote encountered.""" - remotes = self.run_command( - ['config', '--get-regexp', 'remote\..*\.url'], - show_stdout=False, cwd=location) - remotes = remotes.splitlines() - found_remote = remotes[0] - for remote in remotes: - if remote.startswith('remote.origin.url '): - found_remote = remote - break - url = found_remote.split(' ')[1] - return url.strip() - - def get_revision(self, location): - current_rev = self.run_command( - ['rev-parse', 'HEAD'], show_stdout=False, cwd=location) - return current_rev.strip() - - def get_full_refs(self, location): - """Yields tuples of (commit, ref) for branches and tags""" - output = self.run_command(['show-ref'], - show_stdout=False, cwd=location) - for line in output.strip().splitlines(): - commit, ref = line.split(' ', 1) - yield commit.strip(), ref.strip() - - def is_ref_remote(self, ref): - return ref.startswith('refs/remotes/') - - def is_ref_branch(self, ref): - return ref.startswith('refs/heads/') - - def is_ref_tag(self, ref): - return ref.startswith('refs/tags/') - - def is_ref_commit(self, ref): - """A ref is a commit sha if it is not anything else""" - return not any(( - self.is_ref_remote(ref), - self.is_ref_branch(ref), - self.is_ref_tag(ref), - )) - - # Should deprecate `get_refs` since it's ambiguous - def get_refs(self, location): - return self.get_short_refs(location) - - def get_short_refs(self, location): - """Return map of named refs (branches or tags) to commit hashes.""" - rv = {} - for commit, ref in self.get_full_refs(location): - ref_name = None - if self.is_ref_remote(ref): - ref_name = ref[len('refs/remotes/'):] - elif self.is_ref_branch(ref): - ref_name = ref[len('refs/heads/'):] - elif self.is_ref_tag(ref): - ref_name = ref[len('refs/tags/'):] - if ref_name is not None: - rv[ref_name] = commit - return rv - - def _get_subdirectory(self, location): - """Return the relative path of setup.py to the git repo root.""" - # find the repo root - git_dir = self.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) - root_dir = os.path.join(git_dir, '..') - # 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 - # relative path of setup.py to repo root - if samefile(root_dir, location): - return None - return os.path.relpath(location, root_dir) - - def get_src_requirement(self, dist, location): - repo = self.get_url(location) - if not repo.lower().startswith('git:'): - repo = 'git+' + repo - egg_project_name = dist.egg_name().split('-', 1)[0] - if not repo: - return None - current_rev = self.get_revision(location) - req = '%s@%s#egg=%s' % (repo, current_rev, egg_project_name) - subdirectory = self._get_subdirectory(location) - if subdirectory: - req += '&subdirectory=' + subdirectory - return req - - def get_url_rev(self): - """ - Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'. - That's required because although they use SSH they sometimes doesn'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. - """ - if '://' not in self.url: - assert 'file:' not in self.url - self.url = self.url.replace('git+', 'git+ssh://') - url, rev = super(Git, self).get_url_rev() - url = url.replace('ssh://', '') - else: - url, rev = super(Git, self).get_url_rev() - - return url, rev - - def update_submodules(self, location): - if not os.path.exists(os.path.join(location, '.gitmodules')): - return - self.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') - 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/mercurial.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/mercurial.py deleted file mode 100644 index 1aa83b91..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/mercurial.py +++ /dev/null @@ -1,103 +0,0 @@ -from __future__ import absolute_import - -import logging -import os -import tempfile - -from pip.utils import display_path, rmtree -from pip.vcs import vcs, VersionControl -from pip.download import path_to_url -from pip._vendor.six.moves import configparser - - -logger = logging.getLogger(__name__) - - -class Mercurial(VersionControl): - name = 'hg' - dirname = '.hg' - repo_name = 'clone' - schemes = ('hg', 'hg+http', 'hg+https', 'hg+ssh', 'hg+static-http') - - def export(self, location): - """Export the Hg repository at the url to the destination location""" - temp_dir = tempfile.mkdtemp('-export', 'pip-') - self.unpack(temp_dir) - try: - self.run_command( - ['archive', location], show_stdout=False, cwd=temp_dir) - finally: - rmtree(temp_dir) - - def switch(self, dest, url, rev_options): - repo_config = os.path.join(dest, self.dirname, 'hgrc') - config = configparser.SafeConfigParser() - try: - config.read(repo_config) - config.set('paths', 'default', url) - 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: - self.run_command(['update', '-q'] + rev_options, cwd=dest) - - def update(self, dest, rev_options): - self.run_command(['pull', '-q'], cwd=dest) - self.run_command(['update', '-q'] + rev_options, cwd=dest) - - def obtain(self, dest): - url, rev = self.get_url_rev() - if rev: - rev_options = [rev] - rev_display = ' (to revision %s)' % rev - else: - rev_options = [] - rev_display = '' - if self.check_destination(dest, url, rev_options, rev_display): - logger.info( - 'Cloning hg %s%s to %s', - url, - rev_display, - display_path(dest), - ) - self.run_command(['clone', '--noupdate', '-q', url, dest]) - self.run_command(['update', '-q'] + rev_options, cwd=dest) - - def get_url(self, location): - url = self.run_command( - ['showconfig', 'paths.default'], - show_stdout=False, cwd=location).strip() - if self._is_local_repository(url): - url = path_to_url(url) - return url.strip() - - def get_revision(self, location): - current_revision = self.run_command( - ['parents', '--template={rev}'], - show_stdout=False, cwd=location).strip() - return current_revision - - def get_revision_hash(self, location): - current_rev_hash = self.run_command( - ['parents', '--template={node}'], - show_stdout=False, cwd=location).strip() - return current_rev_hash - - def get_src_requirement(self, dist, location): - repo = self.get_url(location) - if not repo.lower().startswith('hg:'): - repo = 'hg+' + repo - egg_project_name = dist.egg_name().split('-', 1)[0] - if not repo: - return None - current_rev_hash = self.get_revision_hash(location) - return '%s@%s#egg=%s' % (repo, current_rev_hash, egg_project_name) - - def check_version(self, dest, rev_options): - """Always assume the versions don't match""" - return False - -vcs.register(Mercurial) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/subversion.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/subversion.py deleted file mode 100644 index 4b231566..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/vcs/subversion.py +++ /dev/null @@ -1,269 +0,0 @@ -from __future__ import absolute_import - -import logging -import os -import re - -from pip._vendor.six.moves.urllib import parse as urllib_parse - -from pip.index import Link -from pip.utils import rmtree, display_path -from pip.utils.logging import indent_log -from pip.vcs import vcs, VersionControl - -_svn_xml_url_re = re.compile('url="([^"]+)"') -_svn_rev_re = re.compile('committed-rev="(\d+)"') -_svn_url_re = re.compile(r'URL: (.+)') -_svn_revision_re = re.compile(r'Revision: (.+)') -_svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"') -_svn_info_xml_url_re = re.compile(r'<url>(.*)</url>') - - -logger = logging.getLogger(__name__) - - -class Subversion(VersionControl): - name = 'svn' - dirname = '.svn' - repo_name = 'checkout' - schemes = ('svn', 'svn+ssh', 'svn+http', 'svn+https', 'svn+svn') - - def get_info(self, location): - """Returns (url, revision), where both are strings""" - assert not location.rstrip('/').endswith(self.dirname), \ - 'Bad directory: %s' % location - output = self.run_command( - ['info', location], - show_stdout=False, - extra_environ={'LANG': 'C'}, - ) - match = _svn_url_re.search(output) - if not match: - logger.warning( - 'Cannot determine URL of svn checkout %s', - display_path(location), - ) - logger.debug('Output that cannot be parsed: \n%s', output) - return None, None - url = match.group(1).strip() - match = _svn_revision_re.search(output) - if not match: - logger.warning( - 'Cannot determine revision of svn checkout %s', - display_path(location), - ) - logger.debug('Output that cannot be parsed: \n%s', output) - return url, None - return url, match.group(1) - - def export(self, location): - """Export the svn repository at the url to the destination location""" - url, rev = self.get_url_rev() - rev_options = get_rev_options(url, rev) - url = self.remove_auth_from_url(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) - self.run_command( - ['export'] + rev_options + [url, location], - show_stdout=False) - - def switch(self, dest, url, rev_options): - self.run_command(['switch'] + rev_options + [url, dest]) - - def update(self, dest, rev_options): - self.run_command(['update'] + rev_options + [dest]) - - def obtain(self, dest): - url, rev = self.get_url_rev() - rev_options = get_rev_options(url, rev) - url = self.remove_auth_from_url(url) - if rev: - rev_display = ' (to revision %s)' % rev - else: - rev_display = '' - if self.check_destination(dest, url, rev_options, rev_display): - logger.info( - 'Checking out %s%s to %s', - url, - rev_display, - display_path(dest), - ) - self.run_command(['checkout', '-q'] + rev_options + [url, dest]) - - def get_location(self, dist, dependency_links): - for url in dependency_links: - egg_fragment = Link(url).egg_fragment - if not egg_fragment: - continue - if '-' in egg_fragment: - # FIXME: will this work when a package has - in the name? - key = '-'.join(egg_fragment.split('-')[:-1]).lower() - else: - key = egg_fragment - if key == dist.key: - return url.split('#', 1)[0] - return None - - def get_revision(self, 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 self.dirname not in dirs: - dirs[:] = [] - continue # no sense walking uncontrolled subdirs - dirs.remove(self.dirname) - entries_fn = os.path.join(base, self.dirname, 'entries') - if not os.path.exists(entries_fn): - # FIXME: should we warn? - continue - - dirurl, localrev = self._get_svn_url_rev(base) - - if base == location: - base_url = dirurl + '/' # save the root url - elif not dirurl or not dirurl.startswith(base_url): - dirs[:] = [] - continue # not part of the same svn tree, skip it - revision = max(revision, localrev) - return revision - - def get_url_rev(self): - # hotfix the URL scheme after removing svn+ from svn+ssh:// readd it - url, rev = super(Subversion, self).get_url_rev() - if url.startswith('ssh://'): - url = 'svn+' + url - return url, rev - - def get_url(self, 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 self._get_svn_url_rev(location)[0] - - def _get_svn_url_rev(self, location): - from pip.exceptions import InstallationError - - entries_path = os.path.join(location, self.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('<?xml'): - match = _svn_xml_url_re.search(data) - if not match: - raise ValueError('Badly formatted data: %r' % data) - url = match.group(1) # get repository URL - revs = [int(m.group(1)) for m in _svn_rev_re.finditer(data)] + [0] - else: - try: - # subversion >= 1.7 - xml = self.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 - - def get_src_requirement(self, dist, location): - repo = self.get_url(location) - if repo is None: - return None - # FIXME: why not project name? - egg_project_name = dist.egg_name().split('-', 1)[0] - rev = self.get_revision(location) - return 'svn+%s@%s#egg=%s' % (repo, rev, egg_project_name) - - def check_version(self, dest, rev_options): - """Always assume the versions don't match""" - return False - - @staticmethod - def remove_auth_from_url(url): - # 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. - - # parsed url - purl = urllib_parse.urlsplit(url) - stripped_netloc = \ - purl.netloc.split('@')[-1] - - # stripped url - url_pieces = ( - purl.scheme, stripped_netloc, purl.path, purl.query, purl.fragment - ) - surl = urllib_parse.urlunsplit(url_pieces) - return surl - - -def get_rev_options(url, rev): - if rev: - rev_options = ['-r', rev] - else: - rev_options = [] - - r = urllib_parse.urlsplit(url) - if hasattr(r, 'username'): - # >= Python-2.5 - username, password = r.username, r.password - else: - netloc = r[1] - if '@' in netloc: - auth = netloc.split('@')[0] - if ':' in auth: - username, password = auth.split(':', 1) - else: - username, password = auth, None - else: - username, password = None, None - - if username: - rev_options += ['--username', username] - if password: - rev_options += ['--password', password] - return rev_options - - -vcs.register(Subversion) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/wheel.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/wheel.py deleted file mode 100644 index 9ac9dffe..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pip/wheel.py +++ /dev/null @@ -1,853 +0,0 @@ -""" -Support for installing and building the "wheel" binary package format. -""" -from __future__ import absolute_import - -import compileall -import csv -import errno -import functools -import hashlib -import logging -import os -import os.path -import re -import shutil -import stat -import sys -import tempfile -import warnings - -from base64 import urlsafe_b64encode -from email.parser import Parser - -from pip._vendor.six import StringIO - -import pip -from pip.compat import expanduser -from pip.download import path_to_url, unpack_url -from pip.exceptions import ( - InstallationError, InvalidWheelFilename, UnsupportedWheel) -from pip.locations import distutils_scheme, PIP_DELETE_MARKER_FILENAME -from pip import pep425tags -from pip.utils import ( - call_subprocess, ensure_dir, captured_stdout, rmtree, read_chunks, -) -from pip.utils.ui import open_spinner -from pip.utils.logging import indent_log -from pip.utils.setuptools_build import SETUPTOOLS_SHIM -from pip._vendor.distlib.scripts import ScriptMaker -from pip._vendor import pkg_resources -from pip._vendor.packaging.utils import canonicalize_name -from pip._vendor.six.moves import configparser - - -wheel_ext = '.whl' - -VERSION_COMPATIBLE = (1, 0) - - -logger = logging.getLogger(__name__) - - -class WheelCache(object): - """A cache of wheels for future installs.""" - - def __init__(self, cache_dir, format_control): - """Create a wheel cache. - - :param cache_dir: The root of the cache. - :param format_control: A pip.index.FormatControl object to limit - binaries being read from the cache. - """ - self._cache_dir = expanduser(cache_dir) if cache_dir else None - self._format_control = format_control - - def cached_wheel(self, link, package_name): - return cached_wheel( - self._cache_dir, link, self._format_control, package_name) - - -def _cache_for_link(cache_dir, link): - """ - Return a directory to store cached wheels in 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 cache_dir: The cache_dir being used by pip. - :param link: The link of the sdist for which this will cache wheels. - """ - - # 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:]] - - # Inside of the base location for cached wheels, expand our parts and join - # them all together. - return os.path.join(cache_dir, "wheels", *parts) - - -def cached_wheel(cache_dir, link, format_control, package_name): - if not cache_dir: - return link - if not link: - return link - if link.is_wheel: - return link - if not link.is_artifact: - return link - if not package_name: - return link - canonical_name = canonicalize_name(package_name) - formats = pip.index.fmt_ctl_formats(format_control, canonical_name) - if "binary" not in formats: - return link - root = _cache_for_link(cache_dir, link) - try: - wheel_names = os.listdir(root) - except OSError as e: - if e.errno in (errno.ENOENT, errno.ENOTDIR): - return link - raise - candidates = [] - for wheel_name in wheel_names: - try: - wheel = Wheel(wheel_name) - except InvalidWheelFilename: - continue - if not wheel.supported(): - # Built for a different python/arch/etc - continue - candidates.append((wheel.support_index_min(), wheel_name)) - if not candidates: - return link - candidates.sort() - path = os.path.join(root, candidates[0][1]) - return pip.index.Link(path_to_url(path)) - - -def rehash(path, algo='sha256', blocksize=1 << 20): - """Return (hash, length) for path using hashlib.new(algo)""" - h = hashlib.new(algo) - length = 0 - with open(path, 'rb') as f: - for block in read_chunks(f, size=blocksize): - length += len(block) - h.update(block) - digest = 'sha256=' + urlsafe_b64encode( - h.digest() - ).decode('latin1').rstrip('=') - return (digest, length) - - -def open_for_csv(name, mode): - if sys.version_info[0] < 3: - nl = {} - bin = 'b' - else: - nl = {'newline': ''} - bin = '' - return open(name, mode + bin, **nl) - - -def fix_script(path): - """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 - -dist_info_re = re.compile(r"""^(?P<namever>(?P<name>.+?)(-(?P<ver>\d.+?))?) - \.dist-info$""", re.VERBOSE) - - -def root_is_purelib(name, wheeldir): - """ - 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): - 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) - - cp = configparser.RawConfigParser() - cp.optionxform = lambda option: option - cp.readfp(data) - - console = {} - gui = {} - if cp.has_section('console_scripts'): - console = dict(cp.items('console_scripts')) - if cp.has_section('gui_scripts'): - gui = dict(cp.items('gui_scripts')) - return console, gui - - -def move_wheel_files(name, req, wheeldir, user=False, home=None, root=None, - pycompile=True, scheme=None, isolated=False, prefix=None): - """Install a wheel""" - - 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 = [] - 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 = {} - changed = set() - generated = [] - - # 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 normpath(src, p): - return os.path.relpath(src, p).replace(os.path.sep, '/') - - 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) - - # 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 = ScriptMaker(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 = set(('', )) - - # This is required because otherwise distlib creates scripts that are not - # executable. - # See https://bitbucket.org/pypa/distlib/issue/32/ - maker.set_mode = True - - # Simplify the script and fix the fact that the default script swallows - # every single stack trace. - # See https://bitbucket.org/pypa/distlib/issue/34/ - # See https://bitbucket.org/pypa/distlib/issue/33/ - def _get_script_text(entry): - if entry.suffix is None: - raise InstallationError( - "Invalid script entry point: %s for req: %s - A callable " - "suffix is required. Cf https://packaging.python.org/en/" - "latest/distributing.html#console-scripts for more " - "information." % (entry, req) - ) - return maker.script_template % { - "module": entry.prefix, - "import_name": entry.suffix.split(".")[0], - "func": entry.suffix, - } - - maker._get_script_text = _get_script_text - maker.script_template = """# -*- 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()) -""" - - # 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: - spec = 'pip = ' + pip_script - generated.extend(maker.make(spec)) - - if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall": - spec = 'pip%s = %s' % (sys.version[:1], pip_script) - generated.extend(maker.make(spec)) - - spec = 'pip%s = %s' % (sys.version[:3], pip_script) - generated.extend(maker.make(spec)) - # 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: - spec = 'easy_install = ' + easy_install_script - generated.extend(maker.make(spec)) - - spec = 'easy_install-%s = %s' % (sys.version[:3], easy_install_script) - generated.extend(maker.make(spec)) - # 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 - if len(console) > 0: - generated.extend( - maker.make_multiple(['%s = %s' % kv for kv in console.items()]) - ) - if len(gui) > 0: - generated.extend( - maker.make_multiple( - ['%s = %s' % kv for kv in gui.items()], - {'gui': True} - ) - ) - - # 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) - writer = csv.writer(record_out) - for row in reader: - row[0] = installed.pop(row[0], row[0]) - if row[0] in changed: - row[1], row[2] = rehash(row[0]) - writer.writerow(row) - for f in generated: - h, l = rehash(f) - writer.writerow((normpath(f, lib_dir), h, l)) - for f in installed: - writer.writerow((installed[f], '', '')) - shutil.move(temp_record, record) - - -def _unique(fn): - @functools.wraps(fn) - def unique(*args, **kw): - seen = set() - for item in fn(*args, **kw): - if item not in seen: - seen.add(item) - yield item - return unique - - -# TODO: this goes somewhere besides the wheel module -@_unique -def uninstallation_paths(dist): - """ - Yield all the uninstallation paths for dist based on RECORD-without-.pyc - - Yield paths to all the files in RECORD. For each .py file in RECORD, add - the .pyc in the same directory. - - UninstallPathSet.add() takes care of the __pycache__ .pyc. - """ - from pip.utils import FakeFile # circular import - 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 - - -def wheel_version(source_dir): - """ - Return the Wheel-Version of an extracted wheel, if possible. - - Otherwise, return False 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: - return False - - -def check_compatibility(version, name): - """ - 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)), - ) - - -class Wheel(object): - """A wheel file""" - - # TODO: maybe move the install code into this class - - wheel_file_re = re.compile( - r"""^(?P<namever>(?P<name>.+?)-(?P<ver>\d.*?)) - ((-(?P<build>\d.*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?) - \.whl|\.dist-info)$""", - re.VERBOSE - ) - - def __init__(self, filename): - """ - :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.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 = set( - (x, y, z) for x in self.pyversions - for y in self.abis for z in self.plats - ) - - def support_index_min(self, tags=None): - """ - Return the lowest index that one of the wheel's file_tag combinations - achieves in the supported_tags list e.g. if there are 8 supported tags, - and one of the file tags is first in the list, then return 0. Returns - None is the wheel is not supported. - """ - if tags is None: # for mock - tags = pep425tags.supported_tags - indexes = [tags.index(c) for c in self.file_tags if c in tags] - return min(indexes) if indexes else None - - def supported(self, tags=None): - """Is this wheel supported on this system?""" - if tags is None: # for mock - tags = pep425tags.supported_tags - return bool(set(tags).intersection(self.file_tags)) - - -class WheelBuilder(object): - """Build wheels from a RequirementSet.""" - - def __init__(self, requirement_set, finder, build_options=None, - global_options=None): - self.requirement_set = requirement_set - self.finder = finder - self._cache_root = requirement_set._wheel_cache._cache_dir - self._wheel_dir = requirement_set.wheel_download_dir - self.build_options = build_options or [] - self.global_options = global_options or [] - - 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. - """ - tempd = tempfile.mkdtemp('pip-wheel-') - try: - if self.__build_one(req, tempd, python_tag=python_tag): - try: - wheel_name = os.listdir(tempd)[0] - wheel_path = os.path.join(output_dir, wheel_name) - shutil.move(os.path.join(tempd, wheel_name), wheel_path) - logger.info('Stored in directory: %s', output_dir) - return wheel_path - except: - pass - # Ignore return, we can't do anything else useful. - self._clean_one(req) - return None - finally: - rmtree(tempd) - - def _base_setup_args(self, req): - return [ - sys.executable, "-u", '-c', - SETUPTOOLS_SHIM % req.setup_py - ] + list(self.global_options) - - def __build_one(self, req, tempd, python_tag=None): - base_args = self._base_setup_args(req) - - spin_message = 'Running setup.py bdist_wheel for %s' % (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: - call_subprocess(wheel_args, cwd=req.setup_py_dir, - show_stdout=False, spinner=spinner) - return True - except: - spinner.finish("error") - logger.error('Failed building wheel for %s', req.name) - return False - - 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, show_stdout=False) - return True - except: - logger.error('Failed cleaning build dir for %s', req.name) - return False - - def build(self, autobuilding=False): - """Build wheels. - - :param unpack: If True, replace the sdist we built from with the - newly built wheel, in preparation for installation. - :return: True if all the wheels built correctly. - """ - assert self._wheel_dir or (autobuilding and self._cache_root) - # unpack sdists and constructs req set - self.requirement_set.prepare_files(self.finder) - - reqset = self.requirement_set.requirements.values() - - buildset = [] - for req in reqset: - if req.constraint: - continue - if req.is_wheel: - if not autobuilding: - logger.info( - 'Skipping %s, due to already being wheel.', req.name) - elif autobuilding and req.editable: - pass - elif autobuilding and req.link and not req.link.is_artifact: - pass - elif autobuilding and not req.source_dir: - pass - else: - if autobuilding: - link = req.link - base, ext = link.splitext() - if pip.index.egg_info_matches(base, None, link) is None: - # Doesn't look like a package - don't autobuild a wheel - # because we'll have no way to lookup the result sanely - continue - if "binary" not in pip.index.fmt_ctl_formats( - self.finder.format_control, - canonicalize_name(req.name)): - logger.info( - "Skipping bdist_wheel for %s, due to binaries " - "being disabled for it.", req.name) - continue - buildset.append(req) - - if not buildset: - return True - - # Build the wheels. - logger.info( - 'Building wheels for collected packages: %s', - ', '.join([req.name for req in buildset]), - ) - with indent_log(): - build_success, build_failure = [], [] - for req in buildset: - python_tag = None - if autobuilding: - python_tag = pep425tags.implementation_tag - output_dir = _cache_for_link(self._cache_root, req.link) - 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 - else: - output_dir = self._wheel_dir - wheel_file = self._build_one( - req, output_dir, - python_tag=python_tag, - ) - if wheel_file: - build_success.append(req) - if autobuilding: - # 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 os.path.exists(os.path.join( - req.source_dir, PIP_DELETE_MARKER_FILENAME)): - 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.build_location( - self.requirement_set.build_dir) - # Update the link for this. - req.link = pip.index.Link( - path_to_url(wheel_file)) - assert req.link.is_wheel - # extract the wheel into the dir - unpack_url( - req.link, req.source_dir, None, False, - session=self.requirement_set.session) - 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 True if all builds were successful - return len(build_failure) == 0 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/__init__.py deleted file mode 100644 index a323857c..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/__init__.py +++ /dev/null @@ -1,3051 +0,0 @@ -# coding: utf-8 -""" -Package resource API --------------------- - -A resource is a logical file contained within a package, or a logical -subdirectory thereof. The package resource API expects resource names -to have their path parts separated with ``/``, *not* whatever the local -path separator is. Do not use os.path operations to manipulate resource -names being passed into the API. - -The package resource API is designed to work with normal filesystem packages, -.egg files, and unpacked .egg files. It can also work in a limited way with -.zip files and with custom PEP 302 loaders that support the ``get_data()`` -method. -""" - -from __future__ import absolute_import - -import sys -import os -import io -import time -import re -import types -import zipfile -import zipimport -import warnings -import stat -import functools -import pkgutil -import operator -import platform -import collections -import plistlib -import email.parser -import tempfile -import textwrap -import itertools -from pkgutil import get_importer - -try: - import _imp -except ImportError: - # Python 3.2 compatibility - import imp as _imp - -from pkg_resources.extern import six -from pkg_resources.extern.six.moves import urllib, map, filter - -# capture these to bypass sandboxing -from os import utime -try: - from os import mkdir, rename, unlink - WRITE_SUPPORT = True -except ImportError: - # no write support, probably under GAE - WRITE_SUPPORT = False - -from os import open as os_open -from os.path import isdir, split - -try: - import importlib.machinery as importlib_machinery - # access attribute to force import under delayed import mechanisms. - importlib_machinery.__name__ -except ImportError: - importlib_machinery = None - -from pkg_resources.extern import appdirs -from pkg_resources.extern import packaging -__import__('pkg_resources.extern.packaging.version') -__import__('pkg_resources.extern.packaging.specifiers') -__import__('pkg_resources.extern.packaging.requirements') -__import__('pkg_resources.extern.packaging.markers') - -if (3, 0) < sys.version_info < (3, 3): - msg = ( - "Support for Python 3.0-3.2 has been dropped. Future versions " - "will fail here." - ) - warnings.warn(msg) - -# declare some globals that will be defined later to -# satisfy the linters. -require = None -working_set = None - - -class PEP440Warning(RuntimeWarning): - """ - Used when there is an issue with a version or specifier not complying with - PEP 440. - """ - - -class _SetuptoolsVersionMixin(object): - def __hash__(self): - return super(_SetuptoolsVersionMixin, self).__hash__() - - def __lt__(self, other): - if isinstance(other, tuple): - return tuple(self) < other - else: - return super(_SetuptoolsVersionMixin, self).__lt__(other) - - def __le__(self, other): - if isinstance(other, tuple): - return tuple(self) <= other - else: - return super(_SetuptoolsVersionMixin, self).__le__(other) - - def __eq__(self, other): - if isinstance(other, tuple): - return tuple(self) == other - else: - return super(_SetuptoolsVersionMixin, self).__eq__(other) - - def __ge__(self, other): - if isinstance(other, tuple): - return tuple(self) >= other - else: - return super(_SetuptoolsVersionMixin, self).__ge__(other) - - def __gt__(self, other): - if isinstance(other, tuple): - return tuple(self) > other - else: - return super(_SetuptoolsVersionMixin, self).__gt__(other) - - def __ne__(self, other): - if isinstance(other, tuple): - return tuple(self) != other - else: - return super(_SetuptoolsVersionMixin, self).__ne__(other) - - def __getitem__(self, key): - return tuple(self)[key] - - def __iter__(self): - component_re = re.compile(r'(\d+ | [a-z]+ | \.| -)', re.VERBOSE) - replace = { - 'pre': 'c', - 'preview': 'c', - '-': 'final-', - 'rc': 'c', - 'dev': '@', - }.get - - def _parse_version_parts(s): - for part in component_re.split(s): - part = replace(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 old_parse_version(s): - parts = [] - for part in _parse_version_parts(s.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) - return tuple(parts) - - # Warn for use of this function - warnings.warn( - "You have iterated over the result of " - "pkg_resources.parse_version. This is a legacy behavior which is " - "inconsistent with the new version class introduced in setuptools " - "8.0. In most cases, conversion to a tuple is unnecessary. For " - "comparison of versions, sort the Version instances directly. If " - "you have another use case requiring the tuple, please file a " - "bug with the setuptools project describing that need.", - RuntimeWarning, - stacklevel=1, - ) - - for part in old_parse_version(str(self)): - yield part - - -class SetuptoolsVersion(_SetuptoolsVersionMixin, packaging.version.Version): - pass - - -class SetuptoolsLegacyVersion(_SetuptoolsVersionMixin, - packaging.version.LegacyVersion): - pass - - -def parse_version(v): - try: - return SetuptoolsVersion(v) - except packaging.version.InvalidVersion: - return SetuptoolsLegacyVersion(v) - - -_state_vars = {} - - -def _declare_state(vartype, **kw): - globals().update(kw) - _state_vars.update(dict.fromkeys(kw, vartype)) - - -def __getstate__(): - state = {} - g = globals() - for k, v in _state_vars.items(): - state[k] = g['_sget_' + v](g[k]) - return state - - -def __setstate__(state): - g = globals() - for k, v in state.items(): - g['_sset_' + _state_vars[k]](k, g[k], v) - return state - - -def _sget_dict(val): - return val.copy() - - -def _sset_dict(key, ob, state): - ob.clear() - ob.update(state) - - -def _sget_object(val): - return val.__getstate__() - - -def _sset_object(key, ob, state): - ob.__setstate__(state) - - -_sget_none = _sset_none = lambda *args: None - - -def get_supported_platform(): - """Return this platform's maximum compatible version. - - distutils.util.get_platform() normally reports the minimum version - of Mac OS X that would be required to *use* extensions produced by - distutils. But what we want when checking compatibility is to know the - version of Mac OS X that we are *running*. To allow usage of packages that - explicitly require a newer version of Mac OS X, we must also know the - current version of the OS. - - If this condition occurs for any other platform with a version in its - platform strings, this function should be extended accordingly. - """ - plat = get_build_platform() - m = macosVersionString.match(plat) - if m is not None and sys.platform == "darwin": - try: - plat = 'macosx-%s-%s' % ('.'.join(_macosx_vers()[:2]), m.group(3)) - except ValueError: - # not Mac OS X - pass - return plat - - -__all__ = [ - # Basic resource access and distribution/entry point discovery - 'require', 'run_script', 'get_provider', 'get_distribution', - 'load_entry_point', 'get_entry_map', 'get_entry_info', - 'iter_entry_points', - 'resource_string', 'resource_stream', 'resource_filename', - 'resource_listdir', 'resource_exists', 'resource_isdir', - - # Environmental control - 'declare_namespace', 'working_set', 'add_activation_listener', - 'find_distributions', 'set_extraction_path', 'cleanup_resources', - 'get_default_cache', - - # Primary implementation classes - 'Environment', 'WorkingSet', 'ResourceManager', - 'Distribution', 'Requirement', 'EntryPoint', - - # Exceptions - 'ResolutionError', 'VersionConflict', 'DistributionNotFound', - 'UnknownExtra', 'ExtractionError', - - # Warnings - 'PEP440Warning', - - # Parsing functions and string utilities - 'parse_requirements', 'parse_version', 'safe_name', 'safe_version', - 'get_platform', 'compatible_platforms', 'yield_lines', 'split_sections', - 'safe_extra', 'to_filename', 'invalid_marker', 'evaluate_marker', - - # filesystem utilities - 'ensure_directory', 'normalize_path', - - # Distribution "precedence" constants - 'EGG_DIST', 'BINARY_DIST', 'SOURCE_DIST', 'CHECKOUT_DIST', 'DEVELOP_DIST', - - # "Provider" interfaces, implementations, and registration/lookup APIs - 'IMetadataProvider', 'IResourceProvider', 'FileMetadata', - 'PathMetadata', 'EggMetadata', 'EmptyProvider', 'empty_provider', - 'NullProvider', 'EggProvider', 'DefaultProvider', 'ZipProvider', - 'register_finder', 'register_namespace_handler', 'register_loader_type', - 'fixup_namespace_packages', 'get_importer', - - # Deprecated/backward compatibility only - 'run_main', 'AvailableDistributions', -] - - -class ResolutionError(Exception): - """Abstract base for dependency resolution errors""" - - def __repr__(self): - return self.__class__.__name__ + repr(self.args) - - -class VersionConflict(ResolutionError): - """ - An already-installed version conflicts with the requested version. - - Should be initialized with the installed Distribution and the requested - Requirement. - """ - - _template = "{self.dist} is installed but {self.req} is required" - - @property - def dist(self): - return self.args[0] - - @property - def req(self): - return self.args[1] - - def report(self): - return self._template.format(**locals()) - - def with_context(self, required_by): - """ - If required_by is non-empty, return a version of self that is a - ContextualVersionConflict. - """ - if not required_by: - return self - args = self.args + (required_by,) - return ContextualVersionConflict(*args) - - -class ContextualVersionConflict(VersionConflict): - """ - A VersionConflict that accepts a third parameter, the set of the - requirements that required the installed Distribution. - """ - - _template = VersionConflict._template + ' by {self.required_by}' - - @property - def required_by(self): - return self.args[2] - - -class DistributionNotFound(ResolutionError): - """A requested distribution was not found""" - - _template = ("The '{self.req}' distribution was not found " - "and is required by {self.requirers_str}") - - @property - def req(self): - return self.args[0] - - @property - def requirers(self): - return self.args[1] - - @property - def requirers_str(self): - if not self.requirers: - return 'the application' - return ', '.join(self.requirers) - - def report(self): - return self._template.format(**locals()) - - def __str__(self): - return self.report() - - -class UnknownExtra(ResolutionError): - """Distribution doesn't have an "extra feature" of the given name""" - - -_provider_factories = {} - -PY_MAJOR = sys.version[:3] -EGG_DIST = 3 -BINARY_DIST = 2 -SOURCE_DIST = 1 -CHECKOUT_DIST = 0 -DEVELOP_DIST = -1 - - -def register_loader_type(loader_type, provider_factory): - """Register `provider_factory` to make providers for `loader_type` - - `loader_type` is the type or class of a PEP 302 ``module.__loader__``, - and `provider_factory` is a function that, passed a *module* object, - returns an ``IResourceProvider`` for that module. - """ - _provider_factories[loader_type] = provider_factory - - -def get_provider(moduleOrReq): - """Return an IResourceProvider for the named module or requirement""" - if isinstance(moduleOrReq, Requirement): - return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0] - try: - module = sys.modules[moduleOrReq] - except KeyError: - __import__(moduleOrReq) - module = sys.modules[moduleOrReq] - loader = getattr(module, '__loader__', None) - return _find_adapter(_provider_factories, loader)(module) - - -def _macosx_vers(_cache=[]): - if not _cache: - version = platform.mac_ver()[0] - # fallback for MacPorts - if version == '': - plist = '/System/Library/CoreServices/SystemVersion.plist' - if os.path.exists(plist): - if hasattr(plistlib, 'readPlist'): - plist_content = plistlib.readPlist(plist) - if 'ProductVersion' in plist_content: - version = plist_content['ProductVersion'] - - _cache.append(version.split('.')) - return _cache[0] - - -def _macosx_arch(machine): - return {'PowerPC': 'ppc', 'Power_Macintosh': 'ppc'}.get(machine, machine) - - -def get_build_platform(): - """Return this platform's string for platform-specific distributions - - XXX Currently this is the same as ``distutils.util.get_platform()``, but it - needs some hacks for Linux and Mac OS X. - """ - try: - # Python 2.7 or >=3.2 - from sysconfig import get_platform - except ImportError: - from distutils.util import get_platform - - plat = get_platform() - if sys.platform == "darwin" and not plat.startswith('macosx-'): - try: - version = _macosx_vers() - machine = os.uname()[4].replace(" ", "_") - return "macosx-%d.%d-%s" % (int(version[0]), int(version[1]), - _macosx_arch(machine)) - except ValueError: - # if someone is running a non-Mac darwin system, this will fall - # through to the default implementation - pass - return plat - - -macosVersionString = re.compile(r"macosx-(\d+)\.(\d+)-(.*)") -darwinVersionString = re.compile(r"darwin-(\d+)\.(\d+)\.(\d+)-(.*)") -# XXX backward compat -get_platform = get_build_platform - - -def compatible_platforms(provided, required): - """Can code for the `provided` platform run on the `required` platform? - - Returns true if either platform is ``None``, or the platforms are equal. - - XXX Needs compatibility checks for Linux and other unixy OSes. - """ - if provided is None or required is None or provided == required: - # easy case - return True - - # Mac OS X special cases - reqMac = macosVersionString.match(required) - if reqMac: - provMac = macosVersionString.match(provided) - - # is this a Mac package? - if not provMac: - # this is backwards compatibility for packages built before - # setuptools 0.6. All packages built after this point will - # use the new macosx designation. - provDarwin = darwinVersionString.match(provided) - if provDarwin: - dversion = int(provDarwin.group(1)) - macosversion = "%s.%s" % (reqMac.group(1), reqMac.group(2)) - if dversion == 7 and macosversion >= "10.3" or \ - dversion == 8 and macosversion >= "10.4": - return True - # egg isn't macosx or legacy darwin - return False - - # are they the same major version and machine type? - if provMac.group(1) != reqMac.group(1) or \ - provMac.group(3) != reqMac.group(3): - return False - - # is the required OS major update >= the provided one? - if int(provMac.group(2)) > int(reqMac.group(2)): - return False - - return True - - # XXX Linux and other platforms' special cases should go here - return False - - -def run_script(dist_spec, script_name): - """Locate distribution `dist_spec` and run its `script_name` script""" - ns = sys._getframe(1).f_globals - name = ns['__name__'] - ns.clear() - ns['__name__'] = name - require(dist_spec)[0].run_script(script_name, ns) - - -# backward compatibility -run_main = run_script - - -def get_distribution(dist): - """Return a current distribution object for a Requirement or string""" - if isinstance(dist, six.string_types): - dist = Requirement.parse(dist) - if isinstance(dist, Requirement): - dist = get_provider(dist) - if not isinstance(dist, Distribution): - raise TypeError("Expected string, Requirement, or Distribution", dist) - return dist - - -def load_entry_point(dist, group, name): - """Return `name` entry point of `group` for `dist` or raise ImportError""" - return get_distribution(dist).load_entry_point(group, name) - - -def get_entry_map(dist, group=None): - """Return the entry point map for `group`, or the full entry map""" - return get_distribution(dist).get_entry_map(group) - - -def get_entry_info(dist, group, name): - """Return the EntryPoint object for `group`+`name`, or ``None``""" - return get_distribution(dist).get_entry_info(group, name) - - -class IMetadataProvider: - def has_metadata(name): - """Does the package's distribution contain the named metadata?""" - - def get_metadata(name): - """The named metadata resource as a string""" - - def get_metadata_lines(name): - """Yield named metadata resource as list of non-blank non-comment lines - - Leading and trailing whitespace is stripped from each line, and lines - with ``#`` as the first non-blank character are omitted.""" - - def metadata_isdir(name): - """Is the named metadata a directory? (like ``os.path.isdir()``)""" - - def metadata_listdir(name): - """List of metadata names in the directory (like ``os.listdir()``)""" - - def run_script(script_name, namespace): - """Execute the named script in the supplied namespace dictionary""" - - -class IResourceProvider(IMetadataProvider): - """An object that provides access to package resources""" - - def get_resource_filename(manager, resource_name): - """Return a true filesystem path for `resource_name` - - `manager` must be an ``IResourceManager``""" - - def get_resource_stream(manager, resource_name): - """Return a readable file-like object for `resource_name` - - `manager` must be an ``IResourceManager``""" - - def get_resource_string(manager, resource_name): - """Return a string containing the contents of `resource_name` - - `manager` must be an ``IResourceManager``""" - - def has_resource(resource_name): - """Does the package contain the named resource?""" - - def resource_isdir(resource_name): - """Is the named resource a directory? (like ``os.path.isdir()``)""" - - def resource_listdir(resource_name): - """List of resource names in the directory (like ``os.listdir()``)""" - - -class WorkingSet(object): - """A collection of active distributions on sys.path (or a similar list)""" - - def __init__(self, entries=None): - """Create working set from list of path entries (default=sys.path)""" - self.entries = [] - self.entry_keys = {} - self.by_key = {} - self.callbacks = [] - - if entries is None: - entries = sys.path - - for entry in entries: - self.add_entry(entry) - - @classmethod - def _build_master(cls): - """ - Prepare the master working set. - """ - ws = cls() - try: - from __main__ import __requires__ - except ImportError: - # The main program does not list any requirements - return ws - - # ensure the requirements are met - try: - ws.require(__requires__) - except VersionConflict: - return cls._build_from_requirements(__requires__) - - return ws - - @classmethod - def _build_from_requirements(cls, req_spec): - """ - Build a working set from a requirement spec. Rewrites sys.path. - """ - # try it without defaults already on sys.path - # by starting with an empty path - ws = cls([]) - reqs = parse_requirements(req_spec) - dists = ws.resolve(reqs, Environment()) - for dist in dists: - ws.add(dist) - - # add any missing entries from sys.path - for entry in sys.path: - if entry not in ws.entries: - ws.add_entry(entry) - - # then copy back to sys.path - sys.path[:] = ws.entries - return ws - - def add_entry(self, entry): - """Add a path item to ``.entries``, finding any distributions on it - - ``find_distributions(entry, True)`` is used to find distributions - corresponding to the path entry, and they are added. `entry` is - always appended to ``.entries``, even if it is already present. - (This is because ``sys.path`` can contain the same value more than - once, and the ``.entries`` of the ``sys.path`` WorkingSet should always - equal ``sys.path``.) - """ - self.entry_keys.setdefault(entry, []) - self.entries.append(entry) - for dist in find_distributions(entry, True): - self.add(dist, entry, False) - - def __contains__(self, dist): - """True if `dist` is the active distribution for its project""" - return self.by_key.get(dist.key) == dist - - def find(self, req): - """Find a distribution matching requirement `req` - - If there is an active distribution for the requested project, this - returns it as long as it meets the version requirement specified by - `req`. But, if there is an active distribution for the project and it - does *not* meet the `req` requirement, ``VersionConflict`` is raised. - If there is no active distribution for the requested project, ``None`` - is returned. - """ - dist = self.by_key.get(req.key) - if dist is not None and dist not in req: - # XXX add more info - raise VersionConflict(dist, req) - return dist - - def iter_entry_points(self, group, name=None): - """Yield entry point objects from `group` matching `name` - - If `name` is None, yields all entry points in `group` from all - distributions in the working set, otherwise only ones matching - both `group` and `name` are yielded (in distribution order). - """ - for dist in self: - entries = dist.get_entry_map(group) - if name is None: - for ep in entries.values(): - yield ep - elif name in entries: - yield entries[name] - - def run_script(self, requires, script_name): - """Locate distribution for `requires` and run `script_name` script""" - ns = sys._getframe(1).f_globals - name = ns['__name__'] - ns.clear() - ns['__name__'] = name - self.require(requires)[0].run_script(script_name, ns) - - def __iter__(self): - """Yield distributions for non-duplicate projects in the working set - - The yield order is the order in which the items' path entries were - added to the working set. - """ - seen = {} - for item in self.entries: - if item not in self.entry_keys: - # workaround a cache issue - continue - - for key in self.entry_keys[item]: - if key not in seen: - seen[key] = 1 - yield self.by_key[key] - - def add(self, dist, entry=None, insert=True, replace=False): - """Add `dist` to working set, associated with `entry` - - If `entry` is unspecified, it defaults to the ``.location`` of `dist`. - On exit from this routine, `entry` is added to the end of the working - set's ``.entries`` (if it wasn't already present). - - `dist` is only added to the working set if it's for a project that - doesn't already have a distribution in the set, unless `replace=True`. - If it's added, any callbacks registered with the ``subscribe()`` method - will be called. - """ - if insert: - dist.insert_on(self.entries, entry, replace=replace) - - if entry is None: - entry = dist.location - keys = self.entry_keys.setdefault(entry, []) - keys2 = self.entry_keys.setdefault(dist.location, []) - if not replace and dist.key in self.by_key: - # ignore hidden distros - return - - self.by_key[dist.key] = dist - if dist.key not in keys: - keys.append(dist.key) - if dist.key not in keys2: - keys2.append(dist.key) - self._added_new(dist) - - def resolve(self, requirements, env=None, installer=None, - replace_conflicting=False): - """List all distributions needed to (recursively) meet `requirements` - - `requirements` must be a sequence of ``Requirement`` objects. `env`, - if supplied, should be an ``Environment`` instance. If - not supplied, it defaults to all distributions available within any - entry or distribution in the working set. `installer`, if supplied, - will be invoked with each requirement that cannot be met by an - already-installed distribution; it should return a ``Distribution`` or - ``None``. - - Unless `replace_conflicting=True`, raises a VersionConflict exception if - any requirements are found on the path that have the correct name but - the wrong version. Otherwise, if an `installer` is supplied it will be - invoked to obtain the correct version of the requirement and activate - it. - """ - - # set up the stack - requirements = list(requirements)[::-1] - # set of processed requirements - processed = {} - # key -> dist - best = {} - to_activate = [] - - req_extras = _ReqExtras() - - # Mapping of requirement to set of distributions that required it; - # useful for reporting info about conflicts. - required_by = collections.defaultdict(set) - - while requirements: - # process dependencies breadth-first - req = requirements.pop(0) - if req in processed: - # Ignore cyclic or redundant dependencies - continue - - if not req_extras.markers_pass(req): - continue - - dist = best.get(req.key) - if dist is None: - # Find the best distribution and add it to the map - dist = self.by_key.get(req.key) - if dist is None or (dist not in req and replace_conflicting): - ws = self - if env is None: - if dist is None: - env = Environment(self.entries) - else: - # Use an empty environment and workingset to avoid - # any further conflicts with the conflicting - # distribution - env = Environment([]) - ws = WorkingSet([]) - dist = best[req.key] = env.best_match(req, ws, installer) - if dist is None: - requirers = required_by.get(req, None) - raise DistributionNotFound(req, requirers) - to_activate.append(dist) - if dist not in req: - # Oops, the "best" so far conflicts with a dependency - dependent_req = required_by[req] - raise VersionConflict(dist, req).with_context(dependent_req) - - # push the new requirements onto the stack - new_requirements = dist.requires(req.extras)[::-1] - requirements.extend(new_requirements) - - # Register the new requirements needed by req - for new_requirement in new_requirements: - required_by[new_requirement].add(req.project_name) - req_extras[new_requirement] = req.extras - - processed[req] = True - - # return list of distros to activate - return to_activate - - def find_plugins(self, plugin_env, full_env=None, installer=None, - fallback=True): - """Find all activatable distributions in `plugin_env` - - Example usage:: - - distributions, errors = working_set.find_plugins( - Environment(plugin_dirlist) - ) - # add plugins+libs to sys.path - map(working_set.add, distributions) - # display errors - print('Could not load', errors) - - The `plugin_env` should be an ``Environment`` instance that contains - only distributions that are in the project's "plugin directory" or - directories. The `full_env`, if supplied, should be an ``Environment`` - contains all currently-available distributions. If `full_env` is not - supplied, one is created automatically from the ``WorkingSet`` this - method is called on, which will typically mean that every directory on - ``sys.path`` will be scanned for distributions. - - `installer` is a standard installer callback as used by the - ``resolve()`` method. The `fallback` flag indicates whether we should - attempt to resolve older versions of a plugin if the newest version - cannot be resolved. - - This method returns a 2-tuple: (`distributions`, `error_info`), where - `distributions` is a list of the distributions found in `plugin_env` - that were loadable, along with any other distributions that are needed - to resolve their dependencies. `error_info` is a dictionary mapping - unloadable plugin distributions to an exception instance describing the - error that occurred. Usually this will be a ``DistributionNotFound`` or - ``VersionConflict`` instance. - """ - - plugin_projects = list(plugin_env) - # scan project names in alphabetic order - plugin_projects.sort() - - error_info = {} - distributions = {} - - if full_env is None: - env = Environment(self.entries) - env += plugin_env - else: - env = full_env + plugin_env - - shadow_set = self.__class__([]) - # put all our entries in shadow_set - list(map(shadow_set.add, self)) - - for project_name in plugin_projects: - - for dist in plugin_env[project_name]: - - req = [dist.as_requirement()] - - try: - resolvees = shadow_set.resolve(req, env, installer) - - except ResolutionError as v: - # save error info - error_info[dist] = v - if fallback: - # try the next older version of project - continue - else: - # give up on this project, keep going - break - - else: - list(map(shadow_set.add, resolvees)) - distributions.update(dict.fromkeys(resolvees)) - - # success, no need to try any more versions of this project - break - - distributions = list(distributions) - distributions.sort() - - return distributions, error_info - - def require(self, *requirements): - """Ensure that distributions matching `requirements` are activated - - `requirements` must be a string or a (possibly-nested) sequence - thereof, specifying the distributions and versions required. The - return value is a sequence of the distributions that needed to be - activated to fulfill the requirements; all relevant distributions are - included, even if they were already activated in this working set. - """ - needed = self.resolve(parse_requirements(requirements)) - - for dist in needed: - self.add(dist) - - return needed - - def subscribe(self, callback, existing=True): - """Invoke `callback` for all distributions - - If `existing=True` (default), - call on all existing ones, as well. - """ - if callback in self.callbacks: - return - self.callbacks.append(callback) - if not existing: - return - for dist in self: - callback(dist) - - def _added_new(self, dist): - for callback in self.callbacks: - callback(dist) - - def __getstate__(self): - return ( - self.entries[:], self.entry_keys.copy(), self.by_key.copy(), - self.callbacks[:] - ) - - def __setstate__(self, e_k_b_c): - entries, keys, by_key, callbacks = e_k_b_c - self.entries = entries[:] - self.entry_keys = keys.copy() - self.by_key = by_key.copy() - self.callbacks = callbacks[:] - - -class _ReqExtras(dict): - """ - Map each requirement to the extras that demanded it. - """ - - def markers_pass(self, req): - """ - Evaluate markers for req against each extra that - demanded it. - - Return False if the req has a marker and fails - evaluation. Otherwise, return True. - """ - extra_evals = ( - req.marker.evaluate({'extra': extra}) - for extra in self.get(req, ()) + (None,) - ) - return not req.marker or any(extra_evals) - - -class Environment(object): - """Searchable snapshot of distributions on a search path""" - - def __init__(self, search_path=None, platform=get_supported_platform(), - python=PY_MAJOR): - """Snapshot distributions available on a search path - - Any distributions found on `search_path` are added to the environment. - `search_path` should be a sequence of ``sys.path`` items. If not - supplied, ``sys.path`` is used. - - `platform` is an optional string specifying the name of the platform - that platform-specific distributions must be compatible with. If - unspecified, it defaults to the current platform. `python` is an - optional string naming the desired version of Python (e.g. ``'3.3'``); - it defaults to the current version. - - You may explicitly set `platform` (and/or `python`) to ``None`` if you - wish to map *all* distributions, not just those compatible with the - running platform or Python version. - """ - self._distmap = {} - self.platform = platform - self.python = python - self.scan(search_path) - - def can_add(self, dist): - """Is distribution `dist` acceptable for this environment? - - The distribution must match the platform and python version - requirements specified when this environment was created, or False - is returned. - """ - return (self.python is None or dist.py_version is None - or dist.py_version == self.python) \ - and compatible_platforms(dist.platform, self.platform) - - def remove(self, dist): - """Remove `dist` from the environment""" - self._distmap[dist.key].remove(dist) - - def scan(self, search_path=None): - """Scan `search_path` for distributions usable in this environment - - Any distributions found are added to the environment. - `search_path` should be a sequence of ``sys.path`` items. If not - supplied, ``sys.path`` is used. Only distributions conforming to - the platform/python version defined at initialization are added. - """ - if search_path is None: - search_path = sys.path - - for item in search_path: - for dist in find_distributions(item): - self.add(dist) - - def __getitem__(self, project_name): - """Return a newest-to-oldest list of distributions for `project_name` - - Uses case-insensitive `project_name` comparison, assuming all the - project's distributions use their project's name converted to all - lowercase as their key. - - """ - distribution_key = project_name.lower() - return self._distmap.get(distribution_key, []) - - def add(self, dist): - """Add `dist` if we ``can_add()`` it and it has not already been added - """ - if self.can_add(dist) and dist.has_version(): - dists = self._distmap.setdefault(dist.key, []) - if dist not in dists: - dists.append(dist) - dists.sort(key=operator.attrgetter('hashcmp'), reverse=True) - - def best_match(self, req, working_set, installer=None): - """Find distribution best matching `req` and usable on `working_set` - - This calls the ``find(req)`` method of the `working_set` to see if a - suitable distribution is already active. (This may raise - ``VersionConflict`` if an unsuitable version of the project is already - active in the specified `working_set`.) If a suitable distribution - isn't active, this method returns the newest distribution in the - environment that meets the ``Requirement`` in `req`. If no suitable - distribution is found, and `installer` is supplied, then the result of - calling the environment's ``obtain(req, installer)`` method will be - returned. - """ - dist = working_set.find(req) - if dist is not None: - return dist - for dist in self[req.key]: - if dist in req: - return dist - # try to download/install - return self.obtain(req, installer) - - def obtain(self, requirement, installer=None): - """Obtain a distribution matching `requirement` (e.g. via download) - - Obtain a distro that matches requirement (e.g. via download). In the - base ``Environment`` class, this routine just returns - ``installer(requirement)``, unless `installer` is None, in which case - None is returned instead. This method is a hook that allows subclasses - to attempt other ways of obtaining a distribution before falling back - to the `installer` argument.""" - if installer is not None: - return installer(requirement) - - def __iter__(self): - """Yield the unique project names of the available distributions""" - for key in self._distmap.keys(): - if self[key]: - yield key - - def __iadd__(self, other): - """In-place addition of a distribution or environment""" - if isinstance(other, Distribution): - self.add(other) - elif isinstance(other, Environment): - for project in other: - for dist in other[project]: - self.add(dist) - else: - raise TypeError("Can't add %r to environment" % (other,)) - return self - - def __add__(self, other): - """Add an environment or distribution to an environment""" - new = self.__class__([], platform=None, python=None) - for env in self, other: - new += env - return new - - -# XXX backward compatibility -AvailableDistributions = Environment - - -class ExtractionError(RuntimeError): - """An error occurred extracting a resource - - The following attributes are available from instances of this exception: - - manager - The resource manager that raised this exception - - cache_path - The base directory for resource extraction - - original_error - The exception instance that caused extraction to fail - """ - - -class ResourceManager: - """Manage resource extraction and packages""" - extraction_path = None - - def __init__(self): - self.cached_files = {} - - def resource_exists(self, package_or_requirement, resource_name): - """Does the named resource exist?""" - return get_provider(package_or_requirement).has_resource(resource_name) - - def resource_isdir(self, package_or_requirement, resource_name): - """Is the named resource an existing directory?""" - return get_provider(package_or_requirement).resource_isdir( - resource_name - ) - - def resource_filename(self, package_or_requirement, resource_name): - """Return a true filesystem path for specified resource""" - return get_provider(package_or_requirement).get_resource_filename( - self, resource_name - ) - - def resource_stream(self, package_or_requirement, resource_name): - """Return a readable file-like object for specified resource""" - return get_provider(package_or_requirement).get_resource_stream( - self, resource_name - ) - - def resource_string(self, package_or_requirement, resource_name): - """Return specified resource as a string""" - return get_provider(package_or_requirement).get_resource_string( - self, resource_name - ) - - def resource_listdir(self, package_or_requirement, resource_name): - """List the contents of the named resource directory""" - return get_provider(package_or_requirement).resource_listdir( - resource_name - ) - - def extraction_error(self): - """Give an error message for problems extracting file(s)""" - - old_exc = sys.exc_info()[1] - cache_path = self.extraction_path or get_default_cache() - - tmpl = textwrap.dedent(""" - Can't extract file(s) to egg cache - - The following error occurred while trying to extract file(s) to the Python egg - cache: - - {old_exc} - - The Python egg cache directory is currently set to: - - {cache_path} - - Perhaps your account does not have write access to this directory? You can - change the cache directory by setting the PYTHON_EGG_CACHE environment - variable to point to an accessible directory. - """).lstrip() - err = ExtractionError(tmpl.format(**locals())) - err.manager = self - err.cache_path = cache_path - err.original_error = old_exc - raise err - - def get_cache_path(self, archive_name, names=()): - """Return absolute location in cache for `archive_name` and `names` - - The parent directory of the resulting path will be created if it does - not already exist. `archive_name` should be the base filename of the - enclosing egg (which may not be the name of the enclosing zipfile!), - including its ".egg" extension. `names`, if provided, should be a - sequence of path name parts "under" the egg's extraction location. - - This method should only be called by resource providers that need to - obtain an extraction location, and only for names they intend to - extract, as it tracks the generated names for possible cleanup later. - """ - extract_path = self.extraction_path or get_default_cache() - target_path = os.path.join(extract_path, archive_name + '-tmp', *names) - try: - _bypass_ensure_directory(target_path) - except: - self.extraction_error() - - self._warn_unsafe_extraction_path(extract_path) - - self.cached_files[target_path] = 1 - return target_path - - @staticmethod - def _warn_unsafe_extraction_path(path): - """ - If the default extraction path is overridden and set to an insecure - location, such as /tmp, it opens up an opportunity for an attacker to - replace an extracted file with an unauthorized payload. Warn the user - if a known insecure location is used. - - See Distribute #375 for more details. - """ - if os.name == 'nt' and not path.startswith(os.environ['windir']): - # On Windows, permissions are generally restrictive by default - # and temp directories are not writable by other users, so - # bypass the warning. - return - mode = os.stat(path).st_mode - if mode & stat.S_IWOTH or mode & stat.S_IWGRP: - msg = ("%s is writable by group/others and vulnerable to attack " - "when " - "used with get_resource_filename. Consider a more secure " - "location (set with .set_extraction_path or the " - "PYTHON_EGG_CACHE environment variable)." % path) - warnings.warn(msg, UserWarning) - - def postprocess(self, tempname, filename): - """Perform any platform-specific postprocessing of `tempname` - - This is where Mac header rewrites should be done; other platforms don't - have anything special they should do. - - Resource providers should call this method ONLY after successfully - extracting a compressed resource. They must NOT call it on resources - that are already in the filesystem. - - `tempname` is the current (temporary) name of the file, and `filename` - is the name it will be renamed to by the caller after this routine - returns. - """ - - if os.name == 'posix': - # Make the resource executable - mode = ((os.stat(tempname).st_mode) | 0o555) & 0o7777 - os.chmod(tempname, mode) - - def set_extraction_path(self, path): - """Set the base path where resources will be extracted to, if needed. - - If you do not call this routine before any extractions take place, the - path defaults to the return value of ``get_default_cache()``. (Which - is based on the ``PYTHON_EGG_CACHE`` environment variable, with various - platform-specific fallbacks. See that routine's documentation for more - details.) - - Resources are extracted to subdirectories of this path based upon - information given by the ``IResourceProvider``. You may set this to a - temporary directory, but then you must call ``cleanup_resources()`` to - delete the extracted files when done. There is no guarantee that - ``cleanup_resources()`` will be able to remove all extracted files. - - (Note: you may not change the extraction path for a given resource - manager once resources have been extracted, unless you first call - ``cleanup_resources()``.) - """ - if self.cached_files: - raise ValueError( - "Can't change extraction path, files already extracted" - ) - - self.extraction_path = path - - def cleanup_resources(self, force=False): - """ - Delete all extracted resource files and directories, returning a list - of the file and directory names that could not be successfully removed. - This function does not have any concurrency protection, so it should - generally only be called when the extraction path is a temporary - directory exclusive to a single process. This method is not - automatically called; you must call it explicitly or register it as an - ``atexit`` function if you wish to ensure cleanup of a temporary - directory used for extractions. - """ - # XXX - - -def get_default_cache(): - """ - Return the ``PYTHON_EGG_CACHE`` environment variable - or a platform-relevant user cache dir for an app - named "Python-Eggs". - """ - return ( - os.environ.get('PYTHON_EGG_CACHE') - or appdirs.user_cache_dir(appname='Python-Eggs') - ) - - -def safe_name(name): - """Convert an arbitrary string to a standard distribution name - - Any runs of non-alphanumeric/. characters are replaced with a single '-'. - """ - return re.sub('[^A-Za-z0-9.]+', '-', name) - - -def safe_version(version): - """ - Convert an arbitrary string to a standard version string - """ - try: - # normalize the version - return str(packaging.version.Version(version)) - except packaging.version.InvalidVersion: - version = version.replace(' ', '.') - return re.sub('[^A-Za-z0-9.]+', '-', version) - - -def safe_extra(extra): - """Convert an arbitrary string to a standard 'extra' name - - Any runs of non-alphanumeric characters are replaced with a single '_', - and the result is always lowercased. - """ - return re.sub('[^A-Za-z0-9.-]+', '_', extra).lower() - - -def to_filename(name): - """Convert a project or version name to its filename-escaped form - - Any '-' characters are currently replaced with '_'. - """ - return name.replace('-', '_') - - -def invalid_marker(text): - """ - Validate text as a PEP 508 environment marker; return an exception - if invalid or False otherwise. - """ - try: - evaluate_marker(text) - except SyntaxError as e: - e.filename = None - e.lineno = None - return e - return False - - -def evaluate_marker(text, extra=None): - """ - Evaluate a PEP 508 environment marker. - Return a boolean indicating the marker result in this environment. - Raise SyntaxError if marker is invalid. - - This implementation uses the 'pyparsing' module. - """ - try: - marker = packaging.markers.Marker(text) - return marker.evaluate() - except packaging.markers.InvalidMarker as e: - raise SyntaxError(e) - - -class NullProvider: - """Try to implement resources and metadata for arbitrary PEP 302 loaders""" - - egg_name = None - egg_info = None - loader = None - - def __init__(self, module): - self.loader = getattr(module, '__loader__', None) - self.module_path = os.path.dirname(getattr(module, '__file__', '')) - - def get_resource_filename(self, manager, resource_name): - return self._fn(self.module_path, resource_name) - - def get_resource_stream(self, manager, resource_name): - return io.BytesIO(self.get_resource_string(manager, resource_name)) - - def get_resource_string(self, manager, resource_name): - return self._get(self._fn(self.module_path, resource_name)) - - def has_resource(self, resource_name): - return self._has(self._fn(self.module_path, resource_name)) - - def has_metadata(self, name): - return self.egg_info and self._has(self._fn(self.egg_info, name)) - - def get_metadata(self, name): - if not self.egg_info: - return "" - value = self._get(self._fn(self.egg_info, name)) - return value.decode('utf-8') if six.PY3 else value - - def get_metadata_lines(self, name): - return yield_lines(self.get_metadata(name)) - - def resource_isdir(self, resource_name): - return self._isdir(self._fn(self.module_path, resource_name)) - - def metadata_isdir(self, name): - return self.egg_info and self._isdir(self._fn(self.egg_info, name)) - - def resource_listdir(self, resource_name): - return self._listdir(self._fn(self.module_path, resource_name)) - - def metadata_listdir(self, name): - if self.egg_info: - return self._listdir(self._fn(self.egg_info, name)) - return [] - - def run_script(self, script_name, namespace): - script = 'scripts/' + script_name - if not self.has_metadata(script): - raise ResolutionError("No script named %r" % script_name) - script_text = self.get_metadata(script).replace('\r\n', '\n') - script_text = script_text.replace('\r', '\n') - script_filename = self._fn(self.egg_info, script) - namespace['__file__'] = script_filename - if os.path.exists(script_filename): - source = open(script_filename).read() - code = compile(source, script_filename, 'exec') - exec(code, namespace, namespace) - else: - from linecache import cache - cache[script_filename] = ( - len(script_text), 0, script_text.split('\n'), script_filename - ) - script_code = compile(script_text, script_filename, 'exec') - exec(script_code, namespace, namespace) - - def _has(self, path): - raise NotImplementedError( - "Can't perform this operation for unregistered loader type" - ) - - def _isdir(self, path): - raise NotImplementedError( - "Can't perform this operation for unregistered loader type" - ) - - def _listdir(self, path): - raise NotImplementedError( - "Can't perform this operation for unregistered loader type" - ) - - def _fn(self, base, resource_name): - if resource_name: - return os.path.join(base, *resource_name.split('/')) - return base - - def _get(self, path): - if hasattr(self.loader, 'get_data'): - return self.loader.get_data(path) - raise NotImplementedError( - "Can't perform this operation for loaders without 'get_data()'" - ) - - -register_loader_type(object, NullProvider) - - -class EggProvider(NullProvider): - """Provider based on a virtual filesystem""" - - def __init__(self, module): - NullProvider.__init__(self, module) - self._setup_prefix() - - def _setup_prefix(self): - # we assume here that our metadata may be nested inside a "basket" - # of multiple eggs; that's why we use module_path instead of .archive - path = self.module_path - old = None - while path != old: - if _is_unpacked_egg(path): - self.egg_name = os.path.basename(path) - self.egg_info = os.path.join(path, 'EGG-INFO') - self.egg_root = path - break - old = path - path, base = os.path.split(path) - - -class DefaultProvider(EggProvider): - """Provides access to package resources in the filesystem""" - - def _has(self, path): - return os.path.exists(path) - - def _isdir(self, path): - return os.path.isdir(path) - - def _listdir(self, path): - return os.listdir(path) - - def get_resource_stream(self, manager, resource_name): - return open(self._fn(self.module_path, resource_name), 'rb') - - def _get(self, path): - with open(path, 'rb') as stream: - return stream.read() - - @classmethod - def _register(cls): - loader_cls = getattr(importlib_machinery, 'SourceFileLoader', - type(None)) - register_loader_type(loader_cls, cls) - - -DefaultProvider._register() - - -class EmptyProvider(NullProvider): - """Provider that returns nothing for all requests""" - - _isdir = _has = lambda self, path: False - _get = lambda self, path: '' - _listdir = lambda self, path: [] - module_path = None - - def __init__(self): - pass - - -empty_provider = EmptyProvider() - - -class ZipManifests(dict): - """ - zip manifest builder - """ - - @classmethod - def build(cls, path): - """ - Build a dictionary similar to the zipimport directory - caches, except instead of tuples, store ZipInfo objects. - - Use a platform-specific path separator (os.sep) for the path keys - for compatibility with pypy on Windows. - """ - with ContextualZipFile(path) as zfile: - items = ( - ( - name.replace('/', os.sep), - zfile.getinfo(name), - ) - for name in zfile.namelist() - ) - return dict(items) - - load = build - - -class MemoizedZipManifests(ZipManifests): - """ - Memoized zipfile manifests. - """ - manifest_mod = collections.namedtuple('manifest_mod', 'manifest mtime') - - def load(self, path): - """ - Load a manifest at path or return a suitable manifest already loaded. - """ - path = os.path.normpath(path) - mtime = os.stat(path).st_mtime - - if path not in self or self[path].mtime != mtime: - manifest = self.build(path) - self[path] = self.manifest_mod(manifest, mtime) - - return self[path].manifest - - -class ContextualZipFile(zipfile.ZipFile): - """ - Supplement ZipFile class to support context manager for Python 2.6 - """ - - def __enter__(self): - return self - - def __exit__(self, type, value, traceback): - self.close() - - def __new__(cls, *args, **kwargs): - """ - Construct a ZipFile or ContextualZipFile as appropriate - """ - if hasattr(zipfile.ZipFile, '__exit__'): - return zipfile.ZipFile(*args, **kwargs) - return super(ContextualZipFile, cls).__new__(cls) - - -class ZipProvider(EggProvider): - """Resource support for zips and eggs""" - - eagers = None - _zip_manifests = MemoizedZipManifests() - - def __init__(self, module): - EggProvider.__init__(self, module) - self.zip_pre = self.loader.archive + os.sep - - def _zipinfo_name(self, fspath): - # Convert a virtual filename (full path to file) into a zipfile subpath - # usable with the zipimport directory cache for our target archive - if fspath.startswith(self.zip_pre): - return fspath[len(self.zip_pre):] - raise AssertionError( - "%s is not a subpath of %s" % (fspath, self.zip_pre) - ) - - def _parts(self, zip_path): - # Convert a zipfile subpath into an egg-relative path part list. - # pseudo-fs path - fspath = self.zip_pre + zip_path - if fspath.startswith(self.egg_root + os.sep): - return fspath[len(self.egg_root) + 1:].split(os.sep) - raise AssertionError( - "%s is not a subpath of %s" % (fspath, self.egg_root) - ) - - @property - def zipinfo(self): - return self._zip_manifests.load(self.loader.archive) - - def get_resource_filename(self, manager, resource_name): - if not self.egg_name: - raise NotImplementedError( - "resource_filename() only supported for .egg, not .zip" - ) - # no need to lock for extraction, since we use temp names - zip_path = self._resource_to_zip(resource_name) - eagers = self._get_eager_resources() - if '/'.join(self._parts(zip_path)) in eagers: - for name in eagers: - self._extract_resource(manager, self._eager_to_zip(name)) - return self._extract_resource(manager, zip_path) - - @staticmethod - def _get_date_and_size(zip_stat): - size = zip_stat.file_size - # ymdhms+wday, yday, dst - date_time = zip_stat.date_time + (0, 0, -1) - # 1980 offset already done - timestamp = time.mktime(date_time) - return timestamp, size - - def _extract_resource(self, manager, zip_path): - - if zip_path in self._index(): - for name in self._index()[zip_path]: - last = self._extract_resource( - manager, os.path.join(zip_path, name) - ) - # return the extracted directory name - return os.path.dirname(last) - - timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) - - if not WRITE_SUPPORT: - raise IOError('"os.rename" and "os.unlink" are not supported ' - 'on this platform') - try: - - real_path = manager.get_cache_path( - self.egg_name, self._parts(zip_path) - ) - - if self._is_current(real_path, zip_path): - return real_path - - outf, tmpnam = _mkstemp(".$extract", dir=os.path.dirname(real_path)) - os.write(outf, self.loader.get_data(zip_path)) - os.close(outf) - utime(tmpnam, (timestamp, timestamp)) - manager.postprocess(tmpnam, real_path) - - try: - rename(tmpnam, real_path) - - except os.error: - if os.path.isfile(real_path): - if self._is_current(real_path, zip_path): - # the file became current since it was checked above, - # so proceed. - return real_path - # Windows, del old file and retry - elif os.name == 'nt': - unlink(real_path) - rename(tmpnam, real_path) - return real_path - raise - - except os.error: - # report a user-friendly error - manager.extraction_error() - - return real_path - - def _is_current(self, file_path, zip_path): - """ - Return True if the file_path is current for this zip_path - """ - timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) - if not os.path.isfile(file_path): - return False - stat = os.stat(file_path) - if stat.st_size != size or stat.st_mtime != timestamp: - return False - # check that the contents match - zip_contents = self.loader.get_data(zip_path) - with open(file_path, 'rb') as f: - file_contents = f.read() - return zip_contents == file_contents - - def _get_eager_resources(self): - if self.eagers is None: - eagers = [] - for name in ('native_libs.txt', 'eager_resources.txt'): - if self.has_metadata(name): - eagers.extend(self.get_metadata_lines(name)) - self.eagers = eagers - return self.eagers - - def _index(self): - try: - return self._dirindex - except AttributeError: - ind = {} - for path in self.zipinfo: - parts = path.split(os.sep) - while parts: - parent = os.sep.join(parts[:-1]) - if parent in ind: - ind[parent].append(parts[-1]) - break - else: - ind[parent] = [parts.pop()] - self._dirindex = ind - return ind - - def _has(self, fspath): - zip_path = self._zipinfo_name(fspath) - return zip_path in self.zipinfo or zip_path in self._index() - - def _isdir(self, fspath): - return self._zipinfo_name(fspath) in self._index() - - def _listdir(self, fspath): - return list(self._index().get(self._zipinfo_name(fspath), ())) - - def _eager_to_zip(self, resource_name): - return self._zipinfo_name(self._fn(self.egg_root, resource_name)) - - def _resource_to_zip(self, resource_name): - return self._zipinfo_name(self._fn(self.module_path, resource_name)) - - -register_loader_type(zipimport.zipimporter, ZipProvider) - - -class FileMetadata(EmptyProvider): - """Metadata handler for standalone PKG-INFO files - - Usage:: - - metadata = FileMetadata("/path/to/PKG-INFO") - - This provider rejects all data and metadata requests except for PKG-INFO, - which is treated as existing, and will be the contents of the file at - the provided location. - """ - - def __init__(self, path): - self.path = path - - def has_metadata(self, name): - return name == 'PKG-INFO' and os.path.isfile(self.path) - - def get_metadata(self, name): - if name != 'PKG-INFO': - raise KeyError("No metadata except PKG-INFO is available") - - with io.open(self.path, encoding='utf-8', errors="replace") as f: - metadata = f.read() - self._warn_on_replacement(metadata) - return metadata - - def _warn_on_replacement(self, metadata): - # Python 2.6 and 3.2 compat for: replacement_char = '�' - replacement_char = b'\xef\xbf\xbd'.decode('utf-8') - if replacement_char in metadata: - tmpl = "{self.path} could not be properly decoded in UTF-8" - msg = tmpl.format(**locals()) - warnings.warn(msg) - - def get_metadata_lines(self, name): - return yield_lines(self.get_metadata(name)) - - -class PathMetadata(DefaultProvider): - """Metadata provider for egg directories - - Usage:: - - # Development eggs: - - egg_info = "/path/to/PackageName.egg-info" - base_dir = os.path.dirname(egg_info) - metadata = PathMetadata(base_dir, egg_info) - dist_name = os.path.splitext(os.path.basename(egg_info))[0] - dist = Distribution(basedir, project_name=dist_name, metadata=metadata) - - # Unpacked egg directories: - - egg_path = "/path/to/PackageName-ver-pyver-etc.egg" - metadata = PathMetadata(egg_path, os.path.join(egg_path,'EGG-INFO')) - dist = Distribution.from_filename(egg_path, metadata=metadata) - """ - - def __init__(self, path, egg_info): - self.module_path = path - self.egg_info = egg_info - - -class EggMetadata(ZipProvider): - """Metadata provider for .egg files""" - - def __init__(self, importer): - """Create a metadata provider from a zipimporter""" - - self.zip_pre = importer.archive + os.sep - self.loader = importer - if importer.prefix: - self.module_path = os.path.join(importer.archive, importer.prefix) - else: - self.module_path = importer.archive - self._setup_prefix() - - -_declare_state('dict', _distribution_finders={}) - - -def register_finder(importer_type, distribution_finder): - """Register `distribution_finder` to find distributions in sys.path items - - `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item - handler), and `distribution_finder` is a callable that, passed a path - item and the importer instance, yields ``Distribution`` instances found on - that path item. See ``pkg_resources.find_on_path`` for an example.""" - _distribution_finders[importer_type] = distribution_finder - - -def find_distributions(path_item, only=False): - """Yield distributions accessible via `path_item`""" - importer = get_importer(path_item) - finder = _find_adapter(_distribution_finders, importer) - return finder(importer, path_item, only) - - -def find_eggs_in_zip(importer, path_item, only=False): - """ - Find eggs in zip files; possibly multiple nested eggs. - """ - if importer.archive.endswith('.whl'): - # wheels are not supported with this finder - # they don't have PKG-INFO metadata, and won't ever contain eggs - return - metadata = EggMetadata(importer) - if metadata.has_metadata('PKG-INFO'): - yield Distribution.from_filename(path_item, metadata=metadata) - if only: - # don't yield nested distros - return - for subitem in metadata.resource_listdir('/'): - if _is_unpacked_egg(subitem): - subpath = os.path.join(path_item, subitem) - for dist in find_eggs_in_zip(zipimport.zipimporter(subpath), subpath): - yield dist - - -register_finder(zipimport.zipimporter, find_eggs_in_zip) - - -def find_nothing(importer, path_item, only=False): - return () - - -register_finder(object, find_nothing) - - -def _by_version_descending(names): - """ - Given a list of filenames, return them in descending order - by version number. - - >>> names = 'bar', 'foo', 'Python-2.7.10.egg', 'Python-2.7.2.egg' - >>> _by_version_descending(names) - ['Python-2.7.10.egg', 'Python-2.7.2.egg', 'foo', 'bar'] - >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.egg' - >>> _by_version_descending(names) - ['Setuptools-1.2.3.egg', 'Setuptools-1.2.3b1.egg'] - >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.post1.egg' - >>> _by_version_descending(names) - ['Setuptools-1.2.3.post1.egg', 'Setuptools-1.2.3b1.egg'] - """ - def _by_version(name): - """ - Parse each component of the filename - """ - name, ext = os.path.splitext(name) - parts = itertools.chain(name.split('-'), [ext]) - return [packaging.version.parse(part) for part in parts] - - return sorted(names, key=_by_version, reverse=True) - - -def find_on_path(importer, path_item, only=False): - """Yield distributions accessible on a sys.path directory""" - path_item = _normalize_cached(path_item) - - if os.path.isdir(path_item) and os.access(path_item, os.R_OK): - if _is_unpacked_egg(path_item): - yield Distribution.from_filename( - path_item, metadata=PathMetadata( - path_item, os.path.join(path_item, 'EGG-INFO') - ) - ) - else: - # scan for .egg and .egg-info in directory - path_item_entries = _by_version_descending(os.listdir(path_item)) - for entry in path_item_entries: - lower = entry.lower() - if lower.endswith('.egg-info') or lower.endswith('.dist-info'): - fullpath = os.path.join(path_item, entry) - if os.path.isdir(fullpath): - # egg-info directory, allow getting metadata - if len(os.listdir(fullpath)) == 0: - # Empty egg directory, skip. - continue - metadata = PathMetadata(path_item, fullpath) - else: - metadata = FileMetadata(fullpath) - yield Distribution.from_location( - path_item, entry, metadata, precedence=DEVELOP_DIST - ) - elif not only and _is_unpacked_egg(entry): - dists = find_distributions(os.path.join(path_item, entry)) - for dist in dists: - yield dist - elif not only and lower.endswith('.egg-link'): - with open(os.path.join(path_item, entry)) as entry_file: - entry_lines = entry_file.readlines() - for line in entry_lines: - if not line.strip(): - continue - path = os.path.join(path_item, line.rstrip()) - dists = find_distributions(path) - for item in dists: - yield item - break - - -register_finder(pkgutil.ImpImporter, find_on_path) - -if hasattr(importlib_machinery, 'FileFinder'): - register_finder(importlib_machinery.FileFinder, find_on_path) - -_declare_state('dict', _namespace_handlers={}) -_declare_state('dict', _namespace_packages={}) - - -def register_namespace_handler(importer_type, namespace_handler): - """Register `namespace_handler` to declare namespace packages - - `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item - handler), and `namespace_handler` is a callable like this:: - - def namespace_handler(importer, path_entry, moduleName, module): - # return a path_entry to use for child packages - - Namespace handlers are only called if the importer object has already - agreed that it can handle the relevant path item, and they should only - return a subpath if the module __path__ does not already contain an - equivalent subpath. For an example namespace handler, see - ``pkg_resources.file_ns_handler``. - """ - _namespace_handlers[importer_type] = namespace_handler - - -def _handle_ns(packageName, path_item): - """Ensure that named package includes a subpath of path_item (if needed)""" - - importer = get_importer(path_item) - if importer is None: - return None - loader = importer.find_module(packageName) - if loader is None: - return None - module = sys.modules.get(packageName) - if module is None: - module = sys.modules[packageName] = types.ModuleType(packageName) - module.__path__ = [] - _set_parent_ns(packageName) - elif not hasattr(module, '__path__'): - raise TypeError("Not a package:", packageName) - handler = _find_adapter(_namespace_handlers, importer) - subpath = handler(importer, path_item, packageName, module) - if subpath is not None: - path = module.__path__ - path.append(subpath) - loader.load_module(packageName) - _rebuild_mod_path(path, packageName, module) - return subpath - - -def _rebuild_mod_path(orig_path, package_name, module): - """ - Rebuild module.__path__ ensuring that all entries are ordered - corresponding to their sys.path order - """ - sys_path = [_normalize_cached(p) for p in sys.path] - - def safe_sys_path_index(entry): - """ - Workaround for #520 and #513. - """ - try: - return sys_path.index(entry) - except ValueError: - return float('inf') - - def position_in_sys_path(path): - """ - Return the ordinal of the path based on its position in sys.path - """ - path_parts = path.split(os.sep) - module_parts = package_name.count('.') + 1 - parts = path_parts[:-module_parts] - return safe_sys_path_index(_normalize_cached(os.sep.join(parts))) - - orig_path.sort(key=position_in_sys_path) - module.__path__[:] = [_normalize_cached(p) for p in orig_path] - - -def declare_namespace(packageName): - """Declare that package 'packageName' is a namespace package""" - - _imp.acquire_lock() - try: - if packageName in _namespace_packages: - return - - path, parent = sys.path, None - if '.' in packageName: - parent = '.'.join(packageName.split('.')[:-1]) - declare_namespace(parent) - if parent not in _namespace_packages: - __import__(parent) - try: - path = sys.modules[parent].__path__ - except AttributeError: - raise TypeError("Not a package:", parent) - - # Track what packages are namespaces, so when new path items are added, - # they can be updated - _namespace_packages.setdefault(parent, []).append(packageName) - _namespace_packages.setdefault(packageName, []) - - for path_item in path: - # Ensure all the parent's path items are reflected in the child, - # if they apply - _handle_ns(packageName, path_item) - - finally: - _imp.release_lock() - - -def fixup_namespace_packages(path_item, parent=None): - """Ensure that previously-declared namespace packages include path_item""" - _imp.acquire_lock() - try: - for package in _namespace_packages.get(parent, ()): - subpath = _handle_ns(package, path_item) - if subpath: - fixup_namespace_packages(subpath, package) - finally: - _imp.release_lock() - - -def file_ns_handler(importer, path_item, packageName, module): - """Compute an ns-package subpath for a filesystem or zipfile importer""" - - subpath = os.path.join(path_item, packageName.split('.')[-1]) - normalized = _normalize_cached(subpath) - for item in module.__path__: - if _normalize_cached(item) == normalized: - break - else: - # Only return the path if it's not already there - return subpath - - -register_namespace_handler(pkgutil.ImpImporter, file_ns_handler) -register_namespace_handler(zipimport.zipimporter, file_ns_handler) - -if hasattr(importlib_machinery, 'FileFinder'): - register_namespace_handler(importlib_machinery.FileFinder, file_ns_handler) - - -def null_ns_handler(importer, path_item, packageName, module): - return None - - -register_namespace_handler(object, null_ns_handler) - - -def normalize_path(filename): - """Normalize a file/dir name for comparison purposes""" - return os.path.normcase(os.path.realpath(filename)) - - -def _normalize_cached(filename, _cache={}): - try: - return _cache[filename] - except KeyError: - _cache[filename] = result = normalize_path(filename) - return result - - -def _is_unpacked_egg(path): - """ - Determine if given path appears to be an unpacked egg. - """ - return ( - path.lower().endswith('.egg') - ) - - -def _set_parent_ns(packageName): - parts = packageName.split('.') - name = parts.pop() - if parts: - parent = '.'.join(parts) - setattr(sys.modules[parent], name, sys.modules[packageName]) - - -def yield_lines(strs): - """Yield non-empty/non-comment lines of a string or sequence""" - if isinstance(strs, six.string_types): - for s in strs.splitlines(): - s = s.strip() - # skip blank lines/comments - if s and not s.startswith('#'): - yield s - else: - for ss in strs: - for s in yield_lines(ss): - yield s - - -MODULE = re.compile(r"\w+(\.\w+)*$").match -EGG_NAME = re.compile( - r""" - (?P<name>[^-]+) ( - -(?P<ver>[^-]+) ( - -py(?P<pyver>[^-]+) ( - -(?P<plat>.+) - )? - )? - )? - """, - re.VERBOSE | re.IGNORECASE, -).match - - -class EntryPoint(object): - """Object representing an advertised importable object""" - - def __init__(self, name, module_name, attrs=(), extras=(), dist=None): - if not MODULE(module_name): - raise ValueError("Invalid module name", module_name) - self.name = name - self.module_name = module_name - self.attrs = tuple(attrs) - self.extras = Requirement.parse(("x[%s]" % ','.join(extras))).extras - self.dist = dist - - def __str__(self): - s = "%s = %s" % (self.name, self.module_name) - if self.attrs: - s += ':' + '.'.join(self.attrs) - if self.extras: - s += ' [%s]' % ','.join(self.extras) - return s - - def __repr__(self): - return "EntryPoint.parse(%r)" % str(self) - - def load(self, require=True, *args, **kwargs): - """ - Require packages for this EntryPoint, then resolve it. - """ - if not require or args or kwargs: - warnings.warn( - "Parameters to load are deprecated. Call .resolve and " - ".require separately.", - DeprecationWarning, - stacklevel=2, - ) - if require: - self.require(*args, **kwargs) - return self.resolve() - - def resolve(self): - """ - Resolve the entry point from its module and attrs. - """ - module = __import__(self.module_name, fromlist=['__name__'], level=0) - try: - return functools.reduce(getattr, self.attrs, module) - except AttributeError as exc: - raise ImportError(str(exc)) - - def require(self, env=None, installer=None): - if self.extras and not self.dist: - raise UnknownExtra("Can't require() without a distribution", self) - reqs = self.dist.requires(self.extras) - items = working_set.resolve(reqs, env, installer) - list(map(working_set.add, items)) - - pattern = re.compile( - r'\s*' - r'(?P<name>.+?)\s*' - r'=\s*' - r'(?P<module>[\w.]+)\s*' - r'(:\s*(?P<attr>[\w.]+))?\s*' - r'(?P<extras>\[.*\])?\s*$' - ) - - @classmethod - def parse(cls, src, dist=None): - """Parse a single entry point from string `src` - - Entry point syntax follows the form:: - - name = some.module:some.attr [extra1, extra2] - - The entry name and module name are required, but the ``:attrs`` and - ``[extras]`` parts are optional - """ - m = cls.pattern.match(src) - if not m: - msg = "EntryPoint must be in 'name=module:attrs [extras]' format" - raise ValueError(msg, src) - res = m.groupdict() - extras = cls._parse_extras(res['extras']) - attrs = res['attr'].split('.') if res['attr'] else () - return cls(res['name'], res['module'], attrs, extras, dist) - - @classmethod - def _parse_extras(cls, extras_spec): - if not extras_spec: - return () - req = Requirement.parse('x' + extras_spec) - if req.specs: - raise ValueError() - return req.extras - - @classmethod - def parse_group(cls, group, lines, dist=None): - """Parse an entry point group""" - if not MODULE(group): - raise ValueError("Invalid group name", group) - this = {} - for line in yield_lines(lines): - ep = cls.parse(line, dist) - if ep.name in this: - raise ValueError("Duplicate entry point", group, ep.name) - this[ep.name] = ep - return this - - @classmethod - def parse_map(cls, data, dist=None): - """Parse a map of entry point groups""" - if isinstance(data, dict): - data = data.items() - else: - data = split_sections(data) - maps = {} - for group, lines in data: - if group is None: - if not lines: - continue - raise ValueError("Entry points must be listed in groups") - group = group.strip() - if group in maps: - raise ValueError("Duplicate group name", group) - maps[group] = cls.parse_group(group, lines, dist) - return maps - - -def _remove_md5_fragment(location): - if not location: - return '' - parsed = urllib.parse.urlparse(location) - if parsed[-1].startswith('md5='): - return urllib.parse.urlunparse(parsed[:-1] + ('',)) - return location - - -def _version_from_file(lines): - """ - Given an iterable of lines from a Metadata file, return - the value of the Version field, if present, or None otherwise. - """ - is_version_line = lambda line: line.lower().startswith('version:') - version_lines = filter(is_version_line, lines) - line = next(iter(version_lines), '') - _, _, value = line.partition(':') - return safe_version(value.strip()) or None - - -class Distribution(object): - """Wrap an actual or potential sys.path entry w/metadata""" - PKG_INFO = 'PKG-INFO' - - def __init__(self, location=None, metadata=None, project_name=None, - version=None, py_version=PY_MAJOR, platform=None, - precedence=EGG_DIST): - self.project_name = safe_name(project_name or 'Unknown') - if version is not None: - self._version = safe_version(version) - self.py_version = py_version - self.platform = platform - self.location = location - self.precedence = precedence - self._provider = metadata or empty_provider - - @classmethod - def from_location(cls, location, basename, metadata=None, **kw): - project_name, version, py_version, platform = [None] * 4 - basename, ext = os.path.splitext(basename) - if ext.lower() in _distributionImpl: - cls = _distributionImpl[ext.lower()] - - match = EGG_NAME(basename) - if match: - project_name, version, py_version, platform = match.group( - 'name', 'ver', 'pyver', 'plat' - ) - return cls( - location, metadata, project_name=project_name, version=version, - py_version=py_version, platform=platform, **kw - )._reload_version() - - def _reload_version(self): - return self - - @property - def hashcmp(self): - return ( - self.parsed_version, - self.precedence, - self.key, - _remove_md5_fragment(self.location), - self.py_version or '', - self.platform or '', - ) - - def __hash__(self): - return hash(self.hashcmp) - - def __lt__(self, other): - return self.hashcmp < other.hashcmp - - def __le__(self, other): - return self.hashcmp <= other.hashcmp - - def __gt__(self, other): - return self.hashcmp > other.hashcmp - - def __ge__(self, other): - return self.hashcmp >= other.hashcmp - - def __eq__(self, other): - if not isinstance(other, self.__class__): - # It's not a Distribution, so they are not equal - return False - return self.hashcmp == other.hashcmp - - def __ne__(self, other): - return not self == other - - # These properties have to be lazy so that we don't have to load any - # metadata until/unless it's actually needed. (i.e., some distributions - # may not know their name or version without loading PKG-INFO) - - @property - def key(self): - try: - return self._key - except AttributeError: - self._key = key = self.project_name.lower() - return key - - @property - def parsed_version(self): - if not hasattr(self, "_parsed_version"): - self._parsed_version = parse_version(self.version) - - return self._parsed_version - - def _warn_legacy_version(self): - LV = packaging.version.LegacyVersion - is_legacy = isinstance(self._parsed_version, LV) - if not is_legacy: - return - - # While an empty version is technically a legacy version and - # is not a valid PEP 440 version, it's also unlikely to - # actually come from someone and instead it is more likely that - # it comes from setuptools attempting to parse a filename and - # including it in the list. So for that we'll gate this warning - # on if the version is anything at all or not. - if not self.version: - return - - tmpl = textwrap.dedent(""" - '{project_name} ({version})' is being parsed as a legacy, - non PEP 440, - version. You may find odd behavior and sort order. - In particular it will be sorted as less than 0.0. It - is recommended to migrate to PEP 440 compatible - versions. - """).strip().replace('\n', ' ') - - warnings.warn(tmpl.format(**vars(self)), PEP440Warning) - - @property - def version(self): - try: - return self._version - except AttributeError: - version = _version_from_file(self._get_metadata(self.PKG_INFO)) - if version is None: - tmpl = "Missing 'Version:' header and/or %s file" - raise ValueError(tmpl % self.PKG_INFO, self) - return version - - @property - def _dep_map(self): - try: - return self.__dep_map - except AttributeError: - dm = self.__dep_map = {None: []} - for name in 'requires.txt', 'depends.txt': - for extra, reqs in split_sections(self._get_metadata(name)): - if extra: - if ':' in extra: - extra, marker = extra.split(':', 1) - if invalid_marker(marker): - # XXX warn - reqs = [] - elif not evaluate_marker(marker): - reqs = [] - extra = safe_extra(extra) or None - dm.setdefault(extra, []).extend(parse_requirements(reqs)) - return dm - - def requires(self, extras=()): - """List of Requirements needed for this distro if `extras` are used""" - dm = self._dep_map - deps = [] - deps.extend(dm.get(None, ())) - for ext in extras: - try: - deps.extend(dm[safe_extra(ext)]) - except KeyError: - raise UnknownExtra( - "%s has no such extra feature %r" % (self, ext) - ) - return deps - - def _get_metadata(self, name): - if self.has_metadata(name): - for line in self.get_metadata_lines(name): - yield line - - def activate(self, path=None, replace=False): - """Ensure distribution is importable on `path` (default=sys.path)""" - if path is None: - path = sys.path - self.insert_on(path, replace=replace) - if path is sys.path: - fixup_namespace_packages(self.location) - for pkg in self._get_metadata('namespace_packages.txt'): - if pkg in sys.modules: - declare_namespace(pkg) - - def egg_name(self): - """Return what this distribution's standard .egg filename should be""" - filename = "%s-%s-py%s" % ( - to_filename(self.project_name), to_filename(self.version), - self.py_version or PY_MAJOR - ) - - if self.platform: - filename += '-' + self.platform - return filename - - def __repr__(self): - if self.location: - return "%s (%s)" % (self, self.location) - else: - return str(self) - - def __str__(self): - try: - version = getattr(self, 'version', None) - except ValueError: - version = None - version = version or "[unknown version]" - return "%s %s" % (self.project_name, version) - - def __getattr__(self, attr): - """Delegate all unrecognized public attributes to .metadata provider""" - if attr.startswith('_'): - raise AttributeError(attr) - return getattr(self._provider, attr) - - @classmethod - def from_filename(cls, filename, metadata=None, **kw): - return cls.from_location( - _normalize_cached(filename), os.path.basename(filename), metadata, - **kw - ) - - def as_requirement(self): - """Return a ``Requirement`` that matches this distribution exactly""" - if isinstance(self.parsed_version, packaging.version.Version): - spec = "%s==%s" % (self.project_name, self.parsed_version) - else: - spec = "%s===%s" % (self.project_name, self.parsed_version) - - return Requirement.parse(spec) - - def load_entry_point(self, group, name): - """Return the `name` entry point of `group` or raise ImportError""" - ep = self.get_entry_info(group, name) - if ep is None: - raise ImportError("Entry point %r not found" % ((group, name),)) - return ep.load() - - def get_entry_map(self, group=None): - """Return the entry point map for `group`, or the full entry map""" - try: - ep_map = self._ep_map - except AttributeError: - ep_map = self._ep_map = EntryPoint.parse_map( - self._get_metadata('entry_points.txt'), self - ) - if group is not None: - return ep_map.get(group, {}) - return ep_map - - def get_entry_info(self, group, name): - """Return the EntryPoint object for `group`+`name`, or ``None``""" - return self.get_entry_map(group).get(name) - - def insert_on(self, path, loc=None, replace=False): - """Ensure self.location is on path - - If replace=False (default): - - If location is already in path anywhere, do nothing. - - Else: - - If it's an egg and its parent directory is on path, - insert just ahead of the parent. - - Else: add to the end of path. - If replace=True: - - If location is already on path anywhere (not eggs) - or higher priority than its parent (eggs) - do nothing. - - Else: - - If it's an egg and its parent directory is on path, - insert just ahead of the parent, - removing any lower-priority entries. - - Else: add it to the front of path. - """ - - loc = loc or self.location - if not loc: - return - - nloc = _normalize_cached(loc) - bdir = os.path.dirname(nloc) - npath = [(p and _normalize_cached(p) or p) for p in path] - - for p, item in enumerate(npath): - if item == nloc: - if replace: - break - else: - # don't modify path (even removing duplicates) if found and not replace - return - elif item == bdir and self.precedence == EGG_DIST: - # if it's an .egg, give it precedence over its directory - # UNLESS it's already been added to sys.path and replace=False - if (not replace) and nloc in npath[p:]: - return - if path is sys.path: - self.check_version_conflict() - path.insert(p, loc) - npath.insert(p, nloc) - break - else: - if path is sys.path: - self.check_version_conflict() - if replace: - path.insert(0, loc) - else: - path.append(loc) - return - - # p is the spot where we found or inserted loc; now remove duplicates - while True: - try: - np = npath.index(nloc, p + 1) - except ValueError: - break - else: - del npath[np], path[np] - # ha! - p = np - - return - - def check_version_conflict(self): - if self.key == 'setuptools': - # ignore the inevitable setuptools self-conflicts :( - return - - nsp = dict.fromkeys(self._get_metadata('namespace_packages.txt')) - loc = normalize_path(self.location) - for modname in self._get_metadata('top_level.txt'): - if (modname not in sys.modules or modname in nsp - or modname in _namespace_packages): - continue - if modname in ('pkg_resources', 'setuptools', 'site'): - continue - fn = getattr(sys.modules[modname], '__file__', None) - if fn and (normalize_path(fn).startswith(loc) or - fn.startswith(self.location)): - continue - issue_warning( - "Module %s was already imported from %s, but %s is being added" - " to sys.path" % (modname, fn, self.location), - ) - - def has_version(self): - try: - self.version - except ValueError: - issue_warning("Unbuilt egg for " + repr(self)) - return False - return True - - def clone(self, **kw): - """Copy this distribution, substituting in any changed keyword args""" - names = 'project_name version py_version platform location precedence' - for attr in names.split(): - kw.setdefault(attr, getattr(self, attr, None)) - kw.setdefault('metadata', self._provider) - return self.__class__(**kw) - - @property - def extras(self): - return [dep for dep in self._dep_map if dep] - - -class EggInfoDistribution(Distribution): - def _reload_version(self): - """ - Packages installed by distutils (e.g. numpy or scipy), - which uses an old safe_version, and so - their version numbers can get mangled when - converted to filenames (e.g., 1.11.0.dev0+2329eae to - 1.11.0.dev0_2329eae). These distributions will not be - parsed properly - downstream by Distribution and safe_version, so - take an extra step and try to get the version number from - the metadata file itself instead of the filename. - """ - md_version = _version_from_file(self._get_metadata(self.PKG_INFO)) - if md_version: - self._version = md_version - return self - - -class DistInfoDistribution(Distribution): - """Wrap an actual or potential sys.path entry w/metadata, .dist-info style""" - PKG_INFO = 'METADATA' - EQEQ = re.compile(r"([\(,])\s*(\d.*?)\s*([,\)])") - - @property - def _parsed_pkg_info(self): - """Parse and cache metadata""" - try: - return self._pkg_info - except AttributeError: - metadata = self.get_metadata(self.PKG_INFO) - self._pkg_info = email.parser.Parser().parsestr(metadata) - return self._pkg_info - - @property - def _dep_map(self): - try: - return self.__dep_map - except AttributeError: - self.__dep_map = self._compute_dependencies() - return self.__dep_map - - def _compute_dependencies(self): - """Recompute this distribution's dependencies.""" - dm = self.__dep_map = {None: []} - - reqs = [] - # Including any condition expressions - for req in self._parsed_pkg_info.get_all('Requires-Dist') or []: - reqs.extend(parse_requirements(req)) - - def reqs_for_extra(extra): - for req in reqs: - if not req.marker or req.marker.evaluate({'extra': extra}): - yield req - - common = frozenset(reqs_for_extra(None)) - dm[None].extend(common) - - for extra in self._parsed_pkg_info.get_all('Provides-Extra') or []: - s_extra = safe_extra(extra.strip()) - dm[s_extra] = list(frozenset(reqs_for_extra(extra)) - common) - - return dm - - -_distributionImpl = { - '.egg': Distribution, - '.egg-info': EggInfoDistribution, - '.dist-info': DistInfoDistribution, - } - - -def issue_warning(*args, **kw): - level = 1 - g = globals() - try: - # find the first stack frame that is *not* code in - # the pkg_resources module, to use for the warning - while sys._getframe(level).f_globals is g: - level += 1 - except ValueError: - pass - warnings.warn(stacklevel=level + 1, *args, **kw) - - -class RequirementParseError(ValueError): - def __str__(self): - return ' '.join(self.args) - - -def parse_requirements(strs): - """Yield ``Requirement`` objects for each specification in `strs` - - `strs` must be a string, or a (possibly-nested) iterable thereof. - """ - # create a steppable iterator, so we can handle \-continuations - lines = iter(yield_lines(strs)) - - for line in lines: - # Drop comments -- a hash without a space may be in a URL. - if ' #' in line: - line = line[:line.find(' #')] - # If there is a line continuation, drop it, and append the next line. - if line.endswith('\\'): - line = line[:-2].strip() - line += next(lines) - yield Requirement(line) - - -class Requirement(packaging.requirements.Requirement): - def __init__(self, requirement_string): - """DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!""" - try: - super(Requirement, self).__init__(requirement_string) - except packaging.requirements.InvalidRequirement as e: - raise RequirementParseError(str(e)) - self.unsafe_name = self.name - project_name = safe_name(self.name) - self.project_name, self.key = project_name, project_name.lower() - self.specs = [ - (spec.operator, spec.version) for spec in self.specifier] - self.extras = tuple(map(safe_extra, self.extras)) - self.hashCmp = ( - self.key, - self.specifier, - frozenset(self.extras), - str(self.marker) if self.marker else None, - ) - self.__hash = hash(self.hashCmp) - - def __eq__(self, other): - return ( - isinstance(other, Requirement) and - self.hashCmp == other.hashCmp - ) - - def __ne__(self, other): - return not self == other - - def __contains__(self, item): - if isinstance(item, Distribution): - if item.key != self.key: - return False - - item = item.version - - # Allow prereleases always in order to match the previous behavior of - # this method. In the future this should be smarter and follow PEP 440 - # more accurately. - return self.specifier.contains(item, prereleases=True) - - def __hash__(self): - return self.__hash - - def __repr__(self): return "Requirement.parse(%r)" % str(self) - - @staticmethod - def parse(s): - req, = parse_requirements(s) - return req - - -def _get_mro(cls): - """Get an mro for a type or classic class""" - if not isinstance(cls, type): - - class cls(cls, object): - pass - - return cls.__mro__[1:] - return cls.__mro__ - - -def _find_adapter(registry, ob): - """Return an adapter factory for `ob` from `registry`""" - for t in _get_mro(getattr(ob, '__class__', type(ob))): - if t in registry: - return registry[t] - - -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 _bypass_ensure_directory(path): - """Sandbox-bypassing version of ensure_directory()""" - if not WRITE_SUPPORT: - raise IOError('"os.mkdir" not supported on this platform.') - dirname, filename = split(path) - if dirname and filename and not isdir(dirname): - _bypass_ensure_directory(dirname) - mkdir(dirname, 0o755) - - -def split_sections(s): - """Split a string or iterable thereof into (section, content) pairs - - Each ``section`` is a stripped version of the section header ("[section]") - and each ``content`` is a list of stripped lines excluding blank lines and - comment-only lines. If there are any such lines before the first section - header, they're returned in a first ``section`` of ``None``. - """ - section = None - content = [] - for line in yield_lines(s): - if line.startswith("["): - if line.endswith("]"): - if section or content: - yield section, content - section = line[1:-1].strip() - content = [] - else: - raise ValueError("Invalid section heading", line) - else: - content.append(line) - - # wrap up last segment - yield section, content - - -def _mkstemp(*args, **kw): - old_open = os.open - try: - # temporarily bypass sandboxing - os.open = os_open - return tempfile.mkstemp(*args, **kw) - finally: - # and then put it back - os.open = old_open - - -# Silence the PEP440Warning by default, so that end users don't get hit by it -# randomly just because they use pkg_resources. We want to append the rule -# because we want earlier uses of filterwarnings to take precedence over this -# one. -warnings.filterwarnings("ignore", category=PEP440Warning, append=True) - - -# from jaraco.functools 1.3 -def _call_aside(f, *args, **kwargs): - f(*args, **kwargs) - return f - - -@_call_aside -def _initialize(g=globals()): - "Set up global resource manager (deliberately not state-saved)" - manager = ResourceManager() - g['_manager'] = manager - for name in dir(manager): - if not name.startswith('_'): - g[name] = getattr(manager, name) - - -@_call_aside -def _initialize_master_working_set(): - """ - Prepare the master working set and make the ``require()`` - API available. - - This function has explicit effects on the global state - of pkg_resources. It is intended to be invoked once at - the initialization of this module. - - Invocation by other packages is unsupported and done - at their own risk. - """ - working_set = WorkingSet._build_master() - _declare_state('object', working_set=working_set) - - require = working_set.require - iter_entry_points = working_set.iter_entry_points - add_activation_listener = working_set.subscribe - run_script = working_set.run_script - # backward compatibility - run_main = run_script - # Activate all distributions already on sys.path with replace=False and - # ensure that all distributions added to the working set in the future - # (e.g. by calling ``require()``) will get activated as well, - # with higher priority (replace=True). - dist = None # ensure dist is defined for del dist below - for dist in working_set: - dist.activate(replace=False) - del dist - add_activation_listener(lambda dist: dist.activate(replace=True), existing=False) - working_set.entries = [] - # match order - list(map(working_set.add_entry, sys.path)) - globals().update(locals()) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 12590e4fea0c2b260c71ff4aaa6e0daf158c59f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95359 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 X?A&>k_ELyd(j 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 M(^hu@C+=wd-|Y?l3jhEB diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 3c0384fa7d43f95a7f0e71484522eb6b7e3f63e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmYL@KMKMy7{ya?5TOTgs9#GFTM+RCE;{KDs$Z<JF$wuo?c{m9hR1OA7EY#v_=ET3 z@uru@@o4wFZ%N?Y>qivIGQ<vokgUl#T0MyA=f6HT(1y2_W6)Lxj!Gai7D|MoJeTRT zlo?8_8?@Iw?dq8>(m*X?1Dfk(@43K)p`cl=Phgqz+9@S0=%%KIS>?@vS)eVGs0>ib VC3logboUz0FABY2i~f-fAzvXpI9vb# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-36.pyc deleted file mode 100644 index 57c1c359c94e8a71194b58ebb871fa2e5a43e33a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18629 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 Tt_yOYhw+;Ye(8*^NAUY!V1w=d diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-36.pyc deleted file mode 100644 index 35bdf14e8739668abc74f26be0fb8ea5a166523e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201125 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ℜ8&7xr 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�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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-36.pyc deleted file mode 100644 index 2233e3c31f88b1947b8c197785e038f8fbc46cc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24500 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 bQ}J9bH<a7LnvcX%349YL3AzdQChY$U>+Stj diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/appdirs.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/appdirs.py deleted file mode 100644 index f4dba095..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/appdirs.py +++ /dev/null @@ -1,552 +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 <http://github.com/ActiveState/appdirs> 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, 0) -__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 "<major>.<minor>". - 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 - <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> - for a discussion of issues. - - Typical user data directories are: - Mac OS X: ~/Library/Application Support/<AppName> - Unix: ~/.local/share/<AppName> # or in $XDG_DATA_HOME, if defined - Win XP (not roaming): C:\Documents and Settings\<username>\Application Data\<AppAuthor>\<AppName> - Win XP (roaming): C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName> - Win 7 (not roaming): C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName> - Win 7 (roaming): C:\Users\<username>\AppData\Roaming\<AppAuthor>\<AppName> - - For Unix, we follow the XDG spec and support $XDG_DATA_HOME. - That means, by default "~/.local/share/<AppName>". - """ - 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): - """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 "<major>.<minor>". - 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/<AppName>', - if XDG_DATA_DIRS is not set - - Typical user data directories are: - Mac OS X: /Library/Application Support/<AppName> - Unix: /usr/local/share/<AppName> or /usr/share/<AppName> - Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName> - Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) - Win 7: C:\ProgramData\<AppAuthor>\<AppName> # 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 "<major>.<minor>". - 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 - <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> - for a discussion of issues. - - Typical user data directories are: - Mac OS X: same as user_data_dir - Unix: ~/.config/<AppName> # 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 deafult "~/.config/<AppName>". - """ - 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): - """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 "<major>.<minor>". - 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/<AppName>', if XDG_CONFIG_DIRS is not set - - Typical user data directories are: - Mac OS X: same as site_data_dir - Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> 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 "<major>.<minor>". - 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/<AppName> - Unix: ~/.cache/<AppName> (XDG default) - Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Cache - Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\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\<ProfileName>\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_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 "<major>.<minor>". - 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 cache directories are: - Mac OS X: ~/Library/Logs/<AppName> - Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined - Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Logs - Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\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, 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_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. - """ - 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 - # <http://bugs.activestate.com/show_bug.cgi?id=85099>. - 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 - # <http://bugs.activestate.com/show_bug.cgi?id=85099>. - 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 - # <http://bugs.activestate.com/show_bug.cgi?id=85099>. - 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 kernal.GetShortPathName(dir, buf, buf_size): - dir = jna.Native.toString(buf.tostring()).rstrip("\0") - - return dir - -if system == "win32": - try: - import win32com.shell - _get_win_folder = _get_win_folder_with_pywin32 - except ImportError: - 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", "site_data_dir", - "user_config_dir", "site_config_dir", - "user_cache_dir", "user_log_dir") - - 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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__about__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__about__.py deleted file mode 100644 index c21a758b..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__about__.py +++ /dev/null @@ -1,21 +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__ = "16.7" - -__author__ = "Donald Stufft and individual contributors" -__email__ = "donald@stufft.io" - -__license__ = "BSD or Apache License, Version 2.0" -__copyright__ = "Copyright 2014-2016 %s" % __author__ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__init__.py deleted file mode 100644 index 5ee62202..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__init__.py +++ /dev/null @@ -1,14 +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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-36.pyc deleted file mode 100644 index 2fba030ad2e7d7d770dd246e74ca5b645cd75f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 739 zcmYk3&2AGh5XX13X_IW4HbB+0sl*`?jguDI1|d{vj|f#N;$RNeX2;pM_1cy{f|3gd zo`%=p2{`A<iC5r+-3S$1{%OYgdpsW}y<YzL$5-;RktDy8|5iKL7vb3J07xJeNu83k zZjeTukt|K10U0!53$~#JZRk{O(uACBL6>a94rxJ;v|*QYV2|X`CtY~NItK~afyXz= z;K}b0H5p{<y<%#W@QzVlYh~QJ4Sc~ZS8~0p4VRA2yewVxJCr)^1fz7_rPTVmF3d7G zElR!No7)95@ojK&N(=Ai$^<*SWOc#CMk9F1q>W*El$J^_4X@@d%5+iQ6&07&>hMw- zhP>l~JI*YcDTA(;A)G`T5wokObLX^ug>l8*+)sz4s<B?`0zZUlj!%bYtHG6$g#dKp z{A}h>Apvn2%LHEtR4VBVpL(Z^UG?E!dSUOSL#|eb?{2P8`2B5&I%nwpCi&;+)232% zJRGeKF8@`5jz{AcM**kknf);6#Wu{m^CpyQ!iW=-MKl9q-wF|WVz%Pdc0?;8PTq7P z@`!H4PQdrX^rIc|=Nk^wSrm@pMPcwv2?+V%3E=a|?PT<FBF7-1x&!-VN|)7{J|Bfu zN&FFOu8*dk3pipR==em>v1QI{r<AZ*-&NEwtGp?h#dN_WDD%)!9CDs2AEq_b%XRy8 Zt-uTRCe~y31NO5#&9i12b|dV_^e?Rb;Aj8< diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 148c44bc941afcb3bff57e0df00e01502b92aee1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmYk2OKub~5Qh6P)6eN3Bo4tWf)hoEjD!#;U_(}BQR?aP^q8^RmLH8~g_PTH4UW-U zR=ENz?2LqB$)BpMs=t2MUDq|=e*dItmLz|Y7pDsG=Wy*q04A7<M5Z*A8O>x)^EAN> zbFq?Zx|RhkWJya|(Mr~|mJMxWOIx|2n^3pHH5OQ6g*7(Vjuq{2^EKIaPeD1^=F6*o zZ<X+l0hd}Cw^YbyZn>J4D{c7X;NYjhh5RXv9o5nR^xhqn0a!YKLFu#M<I#n*24J%1 zB7`k~-~*d1yCl|2*_-pF$Z;p)dkNqTzZA^O#Hj$L4RcHrv5Dv+iio%tQ%95mU$$4# z%fUNuf|v<QOiUiJ3W#3%z4F1<r8%~|P<YmVp7ei6w9|`V{#RmN$Lff`k0h*N?j0j@ zZ^%Ij3`WTg$^Gv8?&ke&y2S~{6WSkpIFBFn{Y^OIL>`Fd`g-rVz-xvAZtwJwSmwNT zN(oE!X#~Tp@@8O`z|1C8hUk7c^&_7~0>CF8+`rT3rTQopdci)$pV_#JH`&{wN&f*~ Cpr1kj diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-36.pyc deleted file mode 100644 index 7ce38f7000d0d6932b849c5d0d0057cdb6c1b02e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmah{OKTKC5bnq9BkN{!Fa&%Y){C%*>==WXg%AV<Z$VH5N1>UW?%hmwUUv6v*bos( zAo(l)4Sz;oJ>@TWvZ`0thzAR*rmDK<tFNkhcYVF{{@ds111ID=xgiYvXQ1XS7)d0} zNKPY~vxwz9;uLc%3!*>;#|=sD5XomOYObOHqLymu7pgs>(OS_|9sJ6MY+jJ)mSnHV zpmhz{WWe1<JT_%kTP4!GDz$ZOna)#_mWAt8IxVc2)J0+;KD<U^*T9w}6#oXnpaI$f zH4nkOB$wopPMD;UU9=^;qUZb*v*ehbG07(+CFcQ@4^G2QALO}Ku~q%JKaP#+Cs}Mv z|0K0Xkja&eePZZuCIG$?EQ@09f>9)*l0@ug;fPD_%RE3d@ds-^E0Z`g2g6k=2|N@b z_(i=9YPw*q=o!5tXZ#$Y=;2qO?Rb(I7Zh=>T*n@zMj&zHs2niYSo#4%Yn;fBFCmO@ z4jqQ`Scj7`lS-R#B*VSY@#xW$QL!TnIh{#!G8T*J(`xS#$g~LGgjHH?kLxs(+e&6) zXSX^Ejk0xR%Q7=zHJb{pOj+whnNZACAxj-raWadiX)z5&Qsz}`ht<NhgecUB5cjbw zTp*#RgZ~a?`0KAjXt@nO^ecqx2$7ev&d~1)@v)Ax<%!+^T;KA5X&jwi|DDi1@Z8#J z-1i{#Jla&_q}_&9`0!%A5Psb-$iOZt<uM0*iR3Zy`oBdye(&#&HnE7`Yio<^Er<qP zWIw5Gt%1G9L1=tM8gDsn7RGhwupD^jA}uDR<FDR5MzaftR=X}3n5;l%#&!Irea54E cRyU02)ZSkX>i|m_Ol`6@@6lcm&^BxGpJ+b_KmY&$ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-36.pyc deleted file mode 100644 index 129432715846d1762f81038c4efe1244679592d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2881 zcmcIm&2HO95MGiJ^<&wV6Q@a9v_MY*fjUeY1hLT~aM7YgFS^tx^{}8hE15P$GP_F! zHUi|J1jwuOHToF5_S9GCsWU4xl?<{}f3m{vEIGUT&CJex;*;&|{?EU@9=~fd_8VJi zEu0@?SKr|P46K;Vtg$t-$M(z_I~Mzafep?Z299VgoN-&U7i`?dw=HPn+qQY@3K!qH z;QqwC&hK~<^PFNgI8|w!Yr&&gmP%c8A(}@jN|RzIlTo7iBu_$(&mrw7n~jrW?CJyu z!NwM_u?-g3Z`jxY2U;i*8(fra=s*{x3q9zg?7$WbP<CM(c2M?U7ltVNum`tLZozG| zaKGsOm`tK1(wCuyAk;`w{}#KVpn!!d?UBTQv0s>H6)h#=iFEPN41c`!(TRDWg+C9Z zKS^T{Qu#;VA0C|_J$ibSJcb0O7oc9A^2_P7?C=q`Y2u&wS(F`|=1~j>0%HF7Np|Kd zq4P|qX{`M0V#=jZX)Z&dd_ETmq|(oV@FJK-$<*gc%RJOMu6dYU7F~|3Gs$_6ET`Zx z>uRs`?_sH3bJW2_#?b*zG}G2Awy+lDur>1RqIDLiv!X@EdY0_qn!ntZU3?@^TEjUV zPzAcwhQ=IRLb58l-<yLy+kh19RG$fX6U*g1)|~IIAnmTWN4kH8Be(IWDip!_tvVFc zt)biq;VTT`xwWv%5cV<86QzSB6h#lW#(`3tUprc7fOx_Aof-p3S8c!!?$E3>V8E_T zkVEov4~GWS1YNsVgG#zJ)T&E7S-r$M-==s?pVXj`?tel-dq1l~Az#RTY9!Zu(bsXa zis49110BspnPfFJ(BV80Q_erfqskH(mV2=7jB?}+s92I<hUi6~^H~acO!EQfFY+K> zY9tk}q+*hEosyDWQZCBdH0;wrnIZ4e@ScN~Gpa~KQ&g#nc6IHpv;H&s5LNFRmE<w@ z4@k4}BRs!8<kt*))jKGowoIf-$}ti0$X>%K*46!+*Yt0wPWJIcxrIaZC7Ubxq5*Y7 zu4^n4bM^iT*xd>jH=?^{C`zy|o1my*Otf(!$-n2kjR?mi_0tC655sk)lnxu9HzK^X zf2}IQGX?uq1Jp*W*9=9p@Vp6XGwL%WQBw#+Jm0Lq+^fjVlJO+{oyhw%d`!cCCO6`d z2iWV#jr1e0L;O0)>B|VedMIHfWvryHxx!6P&qb(>i-wn~ShVPVz2xWTv_}!K?mNRz HUF?4X44?+q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-36.pyc deleted file mode 100644 index 3c39e23a39574bb5b5b8f83f5c17696ed32d4d64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8043 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 Rl4%{v8`g;RHl%Ile*md-M7sb0 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-36.pyc deleted file mode 100644 index 21877b4dc77307246c1edf6c97441eab07dca127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3900 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 RLU}Ei8St^vnlOvj{{RU9=$HTi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc deleted file mode 100644 index b6b65c8988eb969ba75929de06ae3dff0cd0dfd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19843 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 J=V`IS{|zF;+T{QM diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-36.pyc deleted file mode 100644 index 973aa978a0385d36da88f671fa3af644cdec6819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmY*V%}yIJ5VpOW5T&I*YF{Ek!BA9{NL5v-cP{j_2w9t*Ve7<eTmA_JRpOAoN)NmS zkKt=iyaFd|PB7AZ9*<}I&3s3@yVJ9~o8})S<Ue_4EXUuo`%f8w099n54INm+hN`J( z$uU(oHP)*UR9o7Np@z|4((C{`CA0B;?jy4*y=|A?s2EVl!5SCR1ms3~X>@vHozy{G zMBRmaKe-;C&BgxtUYCb?vT|10e`NRXG6b@sK>v^}Td^(4H0<Po&NIsg(Y4xW*|kbu zqj1>c?^OA?Oe1A3(amV8bvxiKant<I!wt{en>HZdw2ogG1?W6q06$)=76+df`Vchq zYw(v#an*mZ#|PPZ&3|$$?R*)ff;oZ`he!4o_ZXrL#wgG2y3gd^MAxC`VuKot<F@VA zZ7+4tW01=4+pF~c#k^&-*Ja5fJ7KQGvq_qYEKZ0Hg>dD?6){|$Au)$(r!#|<3f;J* cOV87C&)`)loqQb(M1|i<qc61|*`%6Qj~`oz<^TWy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-36.pyc deleted file mode 100644 index 2802c3a200db89d68f62a19fe5c547d530c04e43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10618 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_compat.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_compat.py deleted file mode 100644 index 210bb80b..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_compat.py +++ /dev/null @@ -1,30 +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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_structures.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/_structures.py deleted file mode 100644 index ccc27861..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/markers.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/markers.py deleted file mode 100644 index c5d29cd9..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/markers.py +++ /dev/null @@ -1,287 +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 pkg_resources.extern.pyparsing import ParseException, ParseResults, stringStart, stringEnd -from pkg_resources.extern.pyparsing import ZeroOrMore, Group, Forward, QuotedString -from pkg_resources.extern.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)) - - -class Variable(Node): - pass - - -class Value(Node): - pass - - -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") | # PEP-345 - L("sys.platform") | # PEP-345 - L("platform.version") | # PEP-345 - L("platform.machine") | # PEP-345 - L("platform.python_implementation") | # PEP-345 - L("python_implementation") | # undocumented setuptools legacy - L("extra") -) -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_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 '{0} {1} "{2}"'.format(*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, rhs])) - except InvalidSpecifier: - pass - else: - return spec.contains(lhs) - - oper = _operators.get(op) - 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": platform.python_version()[:3], - "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 "<Marker({0!r})>".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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/requirements.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/requirements.py deleted file mode 100644 index 0c8c4a38..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/requirements.py +++ /dev/null @@ -1,127 +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 pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException -from pkg_resources.extern.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine -from pkg_resources.extern.pyparsing import Literal as L # noqa -from pkg_resources.extern.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_SEPERATOR = SEMICOLON -MARKER = MARKER_SEPERATOR + 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 - - -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( - "Invalid requirement, parse error at \"{0!r}\"".format( - requirement_string[e.loc:e.loc + 8])) - - self.name = req.name - if req.url: - parsed_url = urlparse.urlparse(req.url) - if not (parsed_url.scheme and parsed_url.netloc) or ( - not parsed_url.scheme and not parsed_url.netloc): - raise InvalidRequirement("Invalid URL given") - 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("; {0}".format(self.marker)) - - return "".join(parts) - - def __repr__(self): - return "<Requirement({0!r})>".format(str(self)) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/specifiers.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/specifiers.py deleted file mode 100644 index 7f5a76cf..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/specifiers.py +++ /dev/null @@ -1,774 +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 begining. - 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<operator>(==|!=|<=|>=|<|>)) - \s* - (?P<version> - [^,;\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<operator>(~=|==|!=|<=|>=|<|>|===)) - (?P<version> - (?: - # 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. - (?<!==|!=|~=) # We have special cases for these - # operators so we want to make sure they - # don't match here. - - \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]*) - )? - (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release - ) - ) - """ - ) - - _regex = re.compile( - r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) - - _operators = { - "~=": "compatible", - "==": "equal", - "!=": "not_equal", - "<=": "less_than_equal", - ">=": "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 techincally 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 "<SpecifierSet({0!r}{1})>".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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/utils.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/utils.py deleted file mode 100644 index 942387ce..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/utils.py +++ /dev/null @@ -1,14 +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 - - -_canonicalize_regex = re.compile(r"[-_.]+") - - -def canonicalize_name(name): - # This is taken from PEP 503. - return _canonicalize_regex.sub("-", name).lower() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/version.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/version.py deleted file mode 100644 index 83b5ee8c..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/packaging/version.py +++ /dev/null @@ -1,393 +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 "<LegacyVersion({0})>".format(repr(str(self))) - - @property - def public(self): - return self._version - - @property - def base_version(self): - return self._version - - @property - def local(self): - return None - - @property - def is_prerelease(self): - return False - - @property - def is_postrelease(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<epoch>[0-9]+)!)? # epoch - (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment - (?P<pre> # pre-release - [-_\.]? - (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview)) - [-_\.]? - (?P<pre_n>[0-9]+)? - )? - (?P<post> # post release - (?:-(?P<post_n1>[0-9]+)) - | - (?: - [-_\.]? - (?P<post_l>post|rev|r) - [-_\.]? - (?P<post_n2>[0-9]+)? - ) - )? - (?P<dev> # dev release - [-_\.]? - (?P<dev_l>dev) - [-_\.]? - (?P<dev_n>[0-9]+)? - )? - ) - (?:\+(?P<local>[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 "<Version({0})>".format(repr(str(self))) - - def __str__(self): - parts = [] - - # Epoch - if self._version.epoch != 0: - parts.append("{0}!".format(self._version.epoch)) - - # Release segment - parts.append(".".join(str(x) for x in self._version.release)) - - # Pre-release - if self._version.pre is not None: - parts.append("".join(str(x) for x in self._version.pre)) - - # Post-release - if self._version.post is not None: - parts.append(".post{0}".format(self._version.post[1])) - - # Development release - if self._version.dev is not None: - parts.append(".dev{0}".format(self._version.dev[1])) - - # Local version segment - if self._version.local is not None: - parts.append( - "+{0}".format(".".join(str(x) for x in self._version.local)) - ) - - return "".join(parts) - - @property - def public(self): - return str(self).split("+", 1)[0] - - @property - def base_version(self): - parts = [] - - # Epoch - if self._version.epoch != 0: - parts.append("{0}!".format(self._version.epoch)) - - # Release segment - parts.append(".".join(str(x) for x in self._version.release)) - - return "".join(parts) - - @property - def local(self): - version_string = str(self) - if "+" in version_string: - return version_string.split("+", 1)[1] - - @property - def is_prerelease(self): - return bool(self._version.dev or self._version.pre) - - @property - def is_postrelease(self): - return bool(self._version.post) - - -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_seperators = 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_seperators.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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/pyparsing.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/pyparsing.py deleted file mode 100644 index a2122435..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/pyparsing.py +++ /dev/null @@ -1,5696 +0,0 @@ -# module pyparsing.py -# -# Copyright (c) 2003-2016 Paul T. McGuire -# -# 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. -# - -__doc__ = \ -""" -pyparsing module - Classes and methods to define and execute parsing grammars - -The pyparsing module is an alternative approach to creating and executing simple grammars, -vs. the traditional lex/yacc approach, or the use of regular expressions. With pyparsing, you -don't need to learn a new syntax for defining grammars or matching expressions - the parsing module -provides a library of classes that you use to construct the grammar directly in Python. - -Here is a program to parse "Hello, World!" (or any greeting of the form -C{"<salutation>, <addressee>!"}), built up using L{Word}, L{Literal}, and L{And} elements -(L{'+'<ParserElement.__add__>} operator gives L{And} expressions, strings are auto-converted to -L{Literal} expressions):: - - from pyparsing import Word, alphas - - # define grammar of a greeting - greet = Word(alphas) + "," + Word(alphas) + "!" - - hello = "Hello, World!" - print (hello, "->", greet.parseString(hello)) - -The program outputs the following:: - - Hello, World! -> ['Hello', ',', 'World', '!'] - -The Python representation of the grammar is quite readable, owing to the self-explanatory -class names, and the use of '+', '|' and '^' operators. - -The L{ParseResults} object returned from L{ParserElement.parseString<ParserElement.parseString>} can be accessed as a nested list, a dictionary, or an -object with named attributes. - -The pyparsing module handles some of the problems that are typically vexing when writing text parsers: - - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello , World !", etc.) - - quoted strings - - embedded comments -""" - -__version__ = "2.1.10" -__versionTime__ = "07 Oct 2016 01:31 UTC" -__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>" - -import string -from weakref import ref as wkref -import copy -import sys -import warnings -import re -import sre_constants -import collections -import pprint -import traceback -import types -from datetime import datetime - -try: - from _thread import RLock -except ImportError: - from threading import RLock - -try: - from collections import OrderedDict as _OrderedDict -except ImportError: - try: - from ordereddict import OrderedDict as _OrderedDict - except ImportError: - _OrderedDict = None - -#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) ) - -__all__ = [ -'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty', -'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal', -'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or', -'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException', -'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException', -'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', -'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore', -'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col', -'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString', -'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums', -'htmlComment', 'javaStyleComment', 'line', 'lineEnd', 'lineStart', 'lineno', -'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral', -'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables', -'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', -'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd', -'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute', -'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation','locatedExpr', 'withClass', -'CloseMatch', 'tokenMap', 'pyparsing_common', -] - -system_version = tuple(sys.version_info)[:3] -PY_3 = system_version[0] == 3 -if PY_3: - _MAX_INT = sys.maxsize - basestring = str - unichr = chr - _ustr = str - - # build list of single arg builtins, that can be used as parse actions - singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max] - -else: - _MAX_INT = sys.maxint - range = xrange - - def _ustr(obj): - """Drop-in replacement for str(obj) that tries to be Unicode friendly. It first tries - str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It - then < returns the unicode object | encodes it with the default encoding | ... >. - """ - if isinstance(obj,unicode): - return obj - - try: - # If this works, then _ustr(obj) has the same behaviour as str(obj), so - # it won't break any existing code. - return str(obj) - - except UnicodeEncodeError: - # Else encode it - ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace') - xmlcharref = Regex('&#\d+;') - xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:]) - return xmlcharref.transformString(ret) - - # build list of single arg builtins, tolerant of Python version, that can be used as parse actions - singleArgBuiltins = [] - import __builtin__ - for fname in "sum len sorted reversed list tuple set any all min max".split(): - try: - singleArgBuiltins.append(getattr(__builtin__,fname)) - except AttributeError: - continue - -_generatorType = type((y for y in range(1))) - -def _xml_escape(data): - """Escape &, <, >, ", ', etc. in a string of data.""" - - # ampersand must be replaced first - from_symbols = '&><"\'' - to_symbols = ('&'+s+';' for s in "amp gt lt quot apos".split()) - for from_,to_ in zip(from_symbols, to_symbols): - data = data.replace(from_, to_) - return data - -class _Constants(object): - pass - -alphas = string.ascii_uppercase + string.ascii_lowercase -nums = "0123456789" -hexnums = nums + "ABCDEFabcdef" -alphanums = alphas + nums -_bslash = chr(92) -printables = "".join(c for c in string.printable if c not in string.whitespace) - -class ParseBaseException(Exception): - """base exception class for all parsing runtime exceptions""" - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, pstr, loc=0, msg=None, elem=None ): - self.loc = loc - if msg is None: - self.msg = pstr - self.pstr = "" - else: - self.msg = msg - self.pstr = pstr - self.parserElement = elem - self.args = (pstr, loc, msg) - - @classmethod - def _from_exception(cls, pe): - """ - internal factory method to simplify creating one type of ParseException - from another - avoids having __init__ signature conflicts among subclasses - """ - return cls(pe.pstr, pe.loc, pe.msg, pe.parserElement) - - def __getattr__( self, aname ): - """supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - """ - if( aname == "lineno" ): - return lineno( self.loc, self.pstr ) - elif( aname in ("col", "column") ): - return col( self.loc, self.pstr ) - elif( aname == "line" ): - return line( self.loc, self.pstr ) - else: - raise AttributeError(aname) - - def __str__( self ): - return "%s (at char %d), (line:%d, col:%d)" % \ - ( self.msg, self.loc, self.lineno, self.column ) - def __repr__( self ): - return _ustr(self) - def markInputline( self, markerString = ">!<" ): - """Extracts the exception line from the input string, and marks - the location of the exception with a special symbol. - """ - line_str = self.line - line_column = self.column - 1 - if markerString: - line_str = "".join((line_str[:line_column], - markerString, line_str[line_column:])) - return line_str.strip() - def __dir__(self): - return "lineno col line".split() + dir(type(self)) - -class ParseException(ParseBaseException): - """ - Exception thrown when parse expressions don't match class; - supported attributes by name are: - - lineno - returns the line number of the exception text - - col - returns the column number of the exception text - - line - returns the line containing the exception text - - Example:: - try: - Word(nums).setName("integer").parseString("ABC") - except ParseException as pe: - print(pe) - print("column: {}".format(pe.col)) - - prints:: - Expected integer (at char 0), (line:1, col:1) - column: 1 - """ - pass - -class ParseFatalException(ParseBaseException): - """user-throwable exception thrown when inconsistent parse content - is found; stops all parsing immediately""" - pass - -class ParseSyntaxException(ParseFatalException): - """just like L{ParseFatalException}, but thrown internally when an - L{ErrorStop<And._ErrorStop>} ('-' operator) indicates that parsing is to stop - immediately because an unbacktrackable syntax error has been found""" - pass - -#~ class ReparseException(ParseBaseException): - #~ """Experimental class - parse actions can raise this exception to cause - #~ pyparsing to reparse the input string: - #~ - with a modified input string, and/or - #~ - with a modified start location - #~ Set the values of the ReparseException in the constructor, and raise the - #~ exception in a parse action to cause pyparsing to use the new string/location. - #~ Setting the values as None causes no change to be made. - #~ """ - #~ def __init_( self, newstring, restartLoc ): - #~ self.newParseText = newstring - #~ self.reparseLoc = restartLoc - -class RecursiveGrammarException(Exception): - """exception thrown by L{ParserElement.validate} if the grammar could be improperly recursive""" - def __init__( self, parseElementList ): - self.parseElementTrace = parseElementList - - def __str__( self ): - return "RecursiveGrammarException: %s" % self.parseElementTrace - -class _ParseResultsWithOffset(object): - def __init__(self,p1,p2): - self.tup = (p1,p2) - def __getitem__(self,i): - return self.tup[i] - def __repr__(self): - return repr(self.tup[0]) - def setOffset(self,i): - self.tup = (self.tup[0],i) - -class ParseResults(object): - """ - Structured parse results, to provide multiple means of access to the parsed data: - - as a list (C{len(results)}) - - by list index (C{results[0], results[1]}, etc.) - - by attribute (C{results.<resultsName>} - see L{ParserElement.setResultsName}) - - Example:: - integer = Word(nums) - date_str = (integer.setResultsName("year") + '/' - + integer.setResultsName("month") + '/' - + integer.setResultsName("day")) - # equivalent form: - # date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - # parseString returns a ParseResults object - result = date_str.parseString("1999/12/31") - - def test(s, fn=repr): - print("%s -> %s" % (s, fn(eval(s)))) - test("list(result)") - test("result[0]") - test("result['month']") - test("result.day") - test("'month' in result") - test("'minutes' in result") - test("result.dump()", str) - prints:: - list(result) -> ['1999', '/', '12', '/', '31'] - result[0] -> '1999' - result['month'] -> '12' - result.day -> '31' - 'month' in result -> True - 'minutes' in result -> False - result.dump() -> ['1999', '/', '12', '/', '31'] - - day: 31 - - month: 12 - - year: 1999 - """ - def __new__(cls, toklist=None, name=None, asList=True, modal=True ): - if isinstance(toklist, cls): - return toklist - retobj = object.__new__(cls) - retobj.__doinit = True - return retobj - - # Performance tuning: we construct a *lot* of these, so keep this - # constructor as small and fast as possible - def __init__( self, toklist=None, name=None, asList=True, modal=True, isinstance=isinstance ): - if self.__doinit: - self.__doinit = False - self.__name = None - self.__parent = None - self.__accumNames = {} - self.__asList = asList - self.__modal = modal - if toklist is None: - toklist = [] - if isinstance(toklist, list): - self.__toklist = toklist[:] - elif isinstance(toklist, _generatorType): - self.__toklist = list(toklist) - else: - self.__toklist = [toklist] - self.__tokdict = dict() - - if name is not None and name: - if not modal: - self.__accumNames[name] = 0 - if isinstance(name,int): - name = _ustr(name) # will always return a str, but use _ustr for consistency - self.__name = name - if not (isinstance(toklist, (type(None), basestring, list)) and toklist in (None,'',[])): - if isinstance(toklist,basestring): - toklist = [ toklist ] - if asList: - if isinstance(toklist,ParseResults): - self[name] = _ParseResultsWithOffset(toklist.copy(),0) - else: - self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0) - self[name].__name = name - else: - try: - self[name] = toklist[0] - except (KeyError,TypeError,IndexError): - self[name] = toklist - - def __getitem__( self, i ): - if isinstance( i, (int,slice) ): - return self.__toklist[i] - else: - if i not in self.__accumNames: - return self.__tokdict[i][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[i] ]) - - def __setitem__( self, k, v, isinstance=isinstance ): - if isinstance(v,_ParseResultsWithOffset): - self.__tokdict[k] = self.__tokdict.get(k,list()) + [v] - sub = v[0] - elif isinstance(k,(int,slice)): - self.__toklist[k] = v - sub = v - else: - self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)] - sub = v - if isinstance(sub,ParseResults): - sub.__parent = wkref(self) - - def __delitem__( self, i ): - if isinstance(i,(int,slice)): - mylen = len( self.__toklist ) - del self.__toklist[i] - - # convert int to slice - if isinstance(i, int): - if i < 0: - i += mylen - i = slice(i, i+1) - # get removed indices - removed = list(range(*i.indices(mylen))) - removed.reverse() - # fixup indices in token dictionary - for name,occurrences in self.__tokdict.items(): - for j in removed: - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position - (position > j)) - else: - del self.__tokdict[i] - - def __contains__( self, k ): - return k in self.__tokdict - - def __len__( self ): return len( self.__toklist ) - def __bool__(self): return ( not not self.__toklist ) - __nonzero__ = __bool__ - def __iter__( self ): return iter( self.__toklist ) - def __reversed__( self ): return iter( self.__toklist[::-1] ) - def _iterkeys( self ): - if hasattr(self.__tokdict, "iterkeys"): - return self.__tokdict.iterkeys() - else: - return iter(self.__tokdict) - - def _itervalues( self ): - return (self[k] for k in self._iterkeys()) - - def _iteritems( self ): - return ((k, self[k]) for k in self._iterkeys()) - - if PY_3: - keys = _iterkeys - """Returns an iterator of all named result keys (Python 3.x only).""" - - values = _itervalues - """Returns an iterator of all named result values (Python 3.x only).""" - - items = _iteritems - """Returns an iterator of all named result key-value tuples (Python 3.x only).""" - - else: - iterkeys = _iterkeys - """Returns an iterator of all named result keys (Python 2.x only).""" - - itervalues = _itervalues - """Returns an iterator of all named result values (Python 2.x only).""" - - iteritems = _iteritems - """Returns an iterator of all named result key-value tuples (Python 2.x only).""" - - def keys( self ): - """Returns all named result keys (as a list in Python 2.x, as an iterator in Python 3.x).""" - return list(self.iterkeys()) - - def values( self ): - """Returns all named result values (as a list in Python 2.x, as an iterator in Python 3.x).""" - return list(self.itervalues()) - - def items( self ): - """Returns all named result key-values (as a list of tuples in Python 2.x, as an iterator in Python 3.x).""" - return list(self.iteritems()) - - def haskeys( self ): - """Since keys() returns an iterator, this method is helpful in bypassing - code that looks for the existence of any defined results names.""" - return bool(self.__tokdict) - - def pop( self, *args, **kwargs): - """ - Removes and returns item at specified index (default=C{last}). - Supports both C{list} and C{dict} semantics for C{pop()}. If passed no - argument or an integer argument, it will use C{list} semantics - and pop tokens from the list of parsed tokens. If passed a - non-integer argument (most likely a string), it will use C{dict} - semantics and pop the corresponding value from any defined - results names. A second default return value argument is - supported, just as in C{dict.pop()}. - - Example:: - def remove_first(tokens): - tokens.pop(0) - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321'] - - label = Word(alphas) - patt = label("LABEL") + OneOrMore(Word(nums)) - print(patt.parseString("AAB 123 321").dump()) - - # Use pop() in a parse action to remove named result (note that corresponding value is not - # removed from list form of results) - def remove_LABEL(tokens): - tokens.pop("LABEL") - return tokens - patt.addParseAction(remove_LABEL) - print(patt.parseString("AAB 123 321").dump()) - prints:: - ['AAB', '123', '321'] - - LABEL: AAB - - ['AAB', '123', '321'] - """ - if not args: - args = [-1] - for k,v in kwargs.items(): - if k == 'default': - args = (args[0], v) - else: - raise TypeError("pop() got an unexpected keyword argument '%s'" % k) - if (isinstance(args[0], int) or - len(args) == 1 or - args[0] in self): - index = args[0] - ret = self[index] - del self[index] - return ret - else: - defaultvalue = args[1] - return defaultvalue - - def get(self, key, defaultValue=None): - """ - Returns named result matching the given key, or if there is no - such name, then returns the given C{defaultValue} or C{None} if no - C{defaultValue} is specified. - - Similar to C{dict.get()}. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString("1999/12/31") - print(result.get("year")) # -> '1999' - print(result.get("hour", "not specified")) # -> 'not specified' - print(result.get("hour")) # -> None - """ - if key in self: - return self[key] - else: - return defaultValue - - def insert( self, index, insStr ): - """ - Inserts new element at location index in the list of parsed tokens. - - Similar to C{list.insert()}. - - Example:: - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - - # use a parse action to insert the parse location in the front of the parsed results - def insert_locn(locn, tokens): - tokens.insert(0, locn) - print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321'] - """ - self.__toklist.insert(index, insStr) - # fixup indices in token dictionary - for name,occurrences in self.__tokdict.items(): - for k, (value, position) in enumerate(occurrences): - occurrences[k] = _ParseResultsWithOffset(value, position + (position > index)) - - def append( self, item ): - """ - Add single element to end of ParseResults list of elements. - - Example:: - print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] - - # use a parse action to compute the sum of the parsed integers, and add it to the end - def append_sum(tokens): - tokens.append(sum(map(int, tokens))) - print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444] - """ - self.__toklist.append(item) - - def extend( self, itemseq ): - """ - Add sequence of elements to end of ParseResults list of elements. - - Example:: - patt = OneOrMore(Word(alphas)) - - # use a parse action to append the reverse of the matched strings, to make a palindrome - def make_palindrome(tokens): - tokens.extend(reversed([t[::-1] for t in tokens])) - return ''.join(tokens) - print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl' - """ - if isinstance(itemseq, ParseResults): - self += itemseq - else: - self.__toklist.extend(itemseq) - - def clear( self ): - """ - Clear all elements and results names. - """ - del self.__toklist[:] - self.__tokdict.clear() - - def __getattr__( self, name ): - try: - return self[name] - except KeyError: - return "" - - if name in self.__tokdict: - if name not in self.__accumNames: - return self.__tokdict[name][-1][0] - else: - return ParseResults([ v[0] for v in self.__tokdict[name] ]) - else: - return "" - - def __add__( self, other ): - ret = self.copy() - ret += other - return ret - - def __iadd__( self, other ): - if other.__tokdict: - offset = len(self.__toklist) - addoffset = lambda a: offset if a<0 else a+offset - otheritems = other.__tokdict.items() - otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) ) - for (k,vlist) in otheritems for v in vlist] - for k,v in otherdictitems: - self[k] = v - if isinstance(v[0],ParseResults): - v[0].__parent = wkref(self) - - self.__toklist += other.__toklist - self.__accumNames.update( other.__accumNames ) - return self - - def __radd__(self, other): - if isinstance(other,int) and other == 0: - # useful for merging many ParseResults using sum() builtin - return self.copy() - else: - # this may raise a TypeError - so be it - return other + self - - def __repr__( self ): - return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) ) - - def __str__( self ): - return '[' + ', '.join(_ustr(i) if isinstance(i, ParseResults) else repr(i) for i in self.__toklist) + ']' - - def _asStringList( self, sep='' ): - out = [] - for item in self.__toklist: - if out and sep: - out.append(sep) - if isinstance( item, ParseResults ): - out += item._asStringList() - else: - out.append( _ustr(item) ) - return out - - def asList( self ): - """ - Returns the parse results as a nested list of matching tokens, all converted to strings. - - Example:: - patt = OneOrMore(Word(alphas)) - result = patt.parseString("sldkj lsdkj sldkj") - # even though the result prints in string-like form, it is actually a pyparsing ParseResults - print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj'] - - # Use asList() to create an actual list - result_list = result.asList() - print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj'] - """ - return [res.asList() if isinstance(res,ParseResults) else res for res in self.__toklist] - - def asDict( self ): - """ - Returns the named parse results as a nested dictionary. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString('12/31/1999') - print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]}) - - result_dict = result.asDict() - print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'} - - # even though a ParseResults supports dict-like access, sometime you just need to have a dict - import json - print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable - print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"} - """ - if PY_3: - item_fn = self.items - else: - item_fn = self.iteritems - - def toItem(obj): - if isinstance(obj, ParseResults): - if obj.haskeys(): - return obj.asDict() - else: - return [toItem(v) for v in obj] - else: - return obj - - return dict((k,toItem(v)) for k,v in item_fn()) - - def copy( self ): - """ - Returns a new copy of a C{ParseResults} object. - """ - ret = ParseResults( self.__toklist ) - ret.__tokdict = self.__tokdict.copy() - ret.__parent = self.__parent - ret.__accumNames.update( self.__accumNames ) - ret.__name = self.__name - return ret - - def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ): - """ - (Deprecated) Returns the parse results as XML. Tags are created for tokens and lists that have defined results names. - """ - nl = "\n" - out = [] - namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items() - for v in vlist) - nextLevelIndent = indent + " " - - # collapse out indents if formatting is not desired - if not formatted: - indent = "" - nextLevelIndent = "" - nl = "" - - selfTag = None - if doctag is not None: - selfTag = doctag - else: - if self.__name: - selfTag = self.__name - - if not selfTag: - if namedItemsOnly: - return "" - else: - selfTag = "ITEM" - - out += [ nl, indent, "<", selfTag, ">" ] - - for i,res in enumerate(self.__toklist): - if isinstance(res,ParseResults): - if i in namedItems: - out += [ res.asXML(namedItems[i], - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - out += [ res.asXML(None, - namedItemsOnly and doctag is None, - nextLevelIndent, - formatted)] - else: - # individual token, see if there is a name for it - resTag = None - if i in namedItems: - resTag = namedItems[i] - if not resTag: - if namedItemsOnly: - continue - else: - resTag = "ITEM" - xmlBodyText = _xml_escape(_ustr(res)) - out += [ nl, nextLevelIndent, "<", resTag, ">", - xmlBodyText, - "</", resTag, ">" ] - - out += [ nl, indent, "</", selfTag, ">" ] - return "".join(out) - - def __lookup(self,sub): - for k,vlist in self.__tokdict.items(): - for v,loc in vlist: - if sub is v: - return k - return None - - def getName(self): - """ - Returns the results name for this token expression. Useful when several - different expressions might match at a particular location. - - Example:: - integer = Word(nums) - ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d") - house_number_expr = Suppress('#') + Word(nums, alphanums) - user_data = (Group(house_number_expr)("house_number") - | Group(ssn_expr)("ssn") - | Group(integer)("age")) - user_info = OneOrMore(user_data) - - result = user_info.parseString("22 111-22-3333 #221B") - for item in result: - print(item.getName(), ':', item[0]) - prints:: - age : 22 - ssn : 111-22-3333 - house_number : 221B - """ - if self.__name: - return self.__name - elif self.__parent: - par = self.__parent() - if par: - return par.__lookup(self) - else: - return None - elif (len(self) == 1 and - len(self.__tokdict) == 1 and - next(iter(self.__tokdict.values()))[0][1] in (0,-1)): - return next(iter(self.__tokdict.keys())) - else: - return None - - def dump(self, indent='', depth=0, full=True): - """ - Diagnostic method for listing out the contents of a C{ParseResults}. - Accepts an optional C{indent} argument so that this string can be embedded - in a nested display of other data. - - Example:: - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - result = date_str.parseString('12/31/1999') - print(result.dump()) - prints:: - ['12', '/', '31', '/', '1999'] - - day: 1999 - - month: 31 - - year: 12 - """ - out = [] - NL = '\n' - out.append( indent+_ustr(self.asList()) ) - if full: - if self.haskeys(): - items = sorted((str(k), v) for k,v in self.items()) - for k,v in items: - if out: - out.append(NL) - out.append( "%s%s- %s: " % (indent,(' '*depth), k) ) - if isinstance(v,ParseResults): - if v: - out.append( v.dump(indent,depth+1) ) - else: - out.append(_ustr(v)) - else: - out.append(repr(v)) - elif any(isinstance(vv,ParseResults) for vv in self): - v = self - for i,vv in enumerate(v): - if isinstance(vv,ParseResults): - out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),vv.dump(indent,depth+1) )) - else: - out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),_ustr(vv))) - - return "".join(out) - - def pprint(self, *args, **kwargs): - """ - Pretty-printer for parsed results as a list, using the C{pprint} module. - Accepts additional positional or keyword args as defined for the - C{pprint.pprint} method. (U{http://docs.python.org/3/library/pprint.html#pprint.pprint}) - - Example:: - ident = Word(alphas, alphanums) - num = Word(nums) - func = Forward() - term = ident | num | Group('(' + func + ')') - func <<= ident + Group(Optional(delimitedList(term))) - result = func.parseString("fna a,b,(fnb c,d,200),100") - result.pprint(width=40) - prints:: - ['fna', - ['a', - 'b', - ['(', 'fnb', ['c', 'd', '200'], ')'], - '100']] - """ - pprint.pprint(self.asList(), *args, **kwargs) - - # add support for pickle protocol - def __getstate__(self): - return ( self.__toklist, - ( self.__tokdict.copy(), - self.__parent is not None and self.__parent() or None, - self.__accumNames, - self.__name ) ) - - def __setstate__(self,state): - self.__toklist = state[0] - (self.__tokdict, - par, - inAccumNames, - self.__name) = state[1] - self.__accumNames = {} - self.__accumNames.update(inAccumNames) - if par is not None: - self.__parent = wkref(par) - else: - self.__parent = None - - def __getnewargs__(self): - return self.__toklist, self.__name, self.__asList, self.__modal - - def __dir__(self): - return (dir(type(self)) + list(self.keys())) - -collections.MutableMapping.register(ParseResults) - -def col (loc,strg): - """Returns current column within a string, counting newlines as line separators. - The first column is number 1. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - s = strg - return 1 if 0<loc<len(s) and s[loc-1] == '\n' else loc - s.rfind("\n", 0, loc) - -def lineno(loc,strg): - """Returns current line number within a string, counting newlines as line separators. - The first line is number 1. - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{ParserElement.parseString}<ParserElement.parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - """ - return strg.count("\n",0,loc) + 1 - -def line( loc, strg ): - """Returns the line of text containing loc within a string, counting newlines as line separators. - """ - lastCR = strg.rfind("\n", 0, loc) - nextCR = strg.find("\n", loc) - if nextCR >= 0: - return strg[lastCR+1:nextCR] - else: - return strg[lastCR+1:] - -def _defaultStartDebugAction( instring, loc, expr ): - print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))) - -def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ): - print ("Matched " + _ustr(expr) + " -> " + str(toks.asList())) - -def _defaultExceptionDebugAction( instring, loc, expr, exc ): - print ("Exception raised:" + _ustr(exc)) - -def nullDebugAction(*args): - """'Do-nothing' debug action, to suppress debugging output during parsing.""" - pass - -# Only works on Python 3.x - nonlocal is toxic to Python 2 installs -#~ 'decorator to trim function calls to match the arity of the target' -#~ def _trim_arity(func, maxargs=3): - #~ if func in singleArgBuiltins: - #~ return lambda s,l,t: func(t) - #~ limit = 0 - #~ foundArity = False - #~ def wrapper(*args): - #~ nonlocal limit,foundArity - #~ while 1: - #~ try: - #~ ret = func(*args[limit:]) - #~ foundArity = True - #~ return ret - #~ except TypeError: - #~ if limit == maxargs or foundArity: - #~ raise - #~ limit += 1 - #~ continue - #~ return wrapper - -# this version is Python 2.x-3.x cross-compatible -'decorator to trim function calls to match the arity of the target' -def _trim_arity(func, maxargs=2): - if func in singleArgBuiltins: - return lambda s,l,t: func(t) - limit = [0] - foundArity = [False] - - # traceback return data structure changed in Py3.5 - normalize back to plain tuples - if system_version[:2] >= (3,5): - def extract_stack(limit=0): - # special handling for Python 3.5.0 - extra deep call stack by 1 - offset = -3 if system_version == (3,5,0) else -2 - frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset] - return [(frame_summary.filename, frame_summary.lineno)] - def extract_tb(tb, limit=0): - frames = traceback.extract_tb(tb, limit=limit) - frame_summary = frames[-1] - return [(frame_summary.filename, frame_summary.lineno)] - else: - extract_stack = traceback.extract_stack - extract_tb = traceback.extract_tb - - # synthesize what would be returned by traceback.extract_stack at the call to - # user's parse action 'func', so that we don't incur call penalty at parse time - - LINE_DIFF = 6 - # IF ANY CODE CHANGES, EVEN JUST COMMENTS OR BLANK LINES, BETWEEN THE NEXT LINE AND - # THE CALL TO FUNC INSIDE WRAPPER, LINE_DIFF MUST BE MODIFIED!!!! - this_line = extract_stack(limit=2)[-1] - pa_call_line_synth = (this_line[0], this_line[1]+LINE_DIFF) - - def wrapper(*args): - while 1: - try: - ret = func(*args[limit[0]:]) - foundArity[0] = True - return ret - except TypeError: - # re-raise TypeErrors if they did not come from our arity testing - if foundArity[0]: - raise - else: - try: - tb = sys.exc_info()[-1] - if not extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth: - raise - finally: - del tb - - if limit[0] <= maxargs: - limit[0] += 1 - continue - raise - - # copy func name to wrapper for sensible debug output - func_name = "<parse action>" - try: - func_name = getattr(func, '__name__', - getattr(func, '__class__').__name__) - except Exception: - func_name = str(func) - wrapper.__name__ = func_name - - return wrapper - -class ParserElement(object): - """Abstract base level parser element class.""" - DEFAULT_WHITE_CHARS = " \n\t\r" - verbose_stacktrace = False - - @staticmethod - def setDefaultWhitespaceChars( chars ): - r""" - Overrides the default whitespace chars - - Example:: - # default whitespace chars are space, <TAB> and newline - OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def', 'ghi', 'jkl'] - - # change to just treat newline as significant - ParserElement.setDefaultWhitespaceChars(" \t") - OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def'] - """ - ParserElement.DEFAULT_WHITE_CHARS = chars - - @staticmethod - def inlineLiteralsUsing(cls): - """ - Set class to be used for inclusion of string literals into a parser. - - Example:: - # default literal class used is Literal - integer = Word(nums) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] - - - # change to Suppress - ParserElement.inlineLiteralsUsing(Suppress) - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - - date_str.parseString("1999/12/31") # -> ['1999', '12', '31'] - """ - ParserElement._literalStringClass = cls - - def __init__( self, savelist=False ): - self.parseAction = list() - self.failAction = None - #~ self.name = "<unknown>" # don't define self.name, let subclasses try/except upcall - self.strRepr = None - self.resultsName = None - self.saveAsList = savelist - self.skipWhitespace = True - self.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - self.copyDefaultWhiteChars = True - self.mayReturnEmpty = False # used when checking for left-recursion - self.keepTabs = False - self.ignoreExprs = list() - self.debug = False - self.streamlined = False - self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index - self.errmsg = "" - self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all) - self.debugActions = ( None, None, None ) #custom debug actions - self.re = None - self.callPreparse = True # used to avoid redundant calls to preParse - self.callDuringTry = False - - def copy( self ): - """ - Make a copy of this C{ParserElement}. Useful for defining different parse actions - for the same parsing pattern, using copies of the original parse element. - - Example:: - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - integerK = integer.copy().addParseAction(lambda toks: toks[0]*1024) + Suppress("K") - integerM = integer.copy().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") - - print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M")) - prints:: - [5120, 100, 655360, 268435456] - Equivalent form of C{expr.copy()} is just C{expr()}:: - integerM = integer().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") - """ - cpy = copy.copy( self ) - cpy.parseAction = self.parseAction[:] - cpy.ignoreExprs = self.ignoreExprs[:] - if self.copyDefaultWhiteChars: - cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS - return cpy - - def setName( self, name ): - """ - Define name for this expression, makes debugging and exception messages clearer. - - Example:: - Word(nums).parseString("ABC") # -> Exception: Expected W:(0123...) (at char 0), (line:1, col:1) - Word(nums).setName("integer").parseString("ABC") # -> Exception: Expected integer (at char 0), (line:1, col:1) - """ - self.name = name - self.errmsg = "Expected " + self.name - if hasattr(self,"exception"): - self.exception.msg = self.errmsg - return self - - def setResultsName( self, name, listAllMatches=False ): - """ - Define name for referencing matching tokens as a nested attribute - of the returned parse results. - NOTE: this returns a *copy* of the original C{ParserElement} object; - this is so that the client can define a basic element, such as an - integer, and reference it in multiple places with different names. - - You can also set results names using the abbreviated syntax, - C{expr("name")} in place of C{expr.setResultsName("name")} - - see L{I{__call__}<__call__>}. - - Example:: - date_str = (integer.setResultsName("year") + '/' - + integer.setResultsName("month") + '/' - + integer.setResultsName("day")) - - # equivalent form: - date_str = integer("year") + '/' + integer("month") + '/' + integer("day") - """ - newself = self.copy() - if name.endswith("*"): - name = name[:-1] - listAllMatches=True - newself.resultsName = name - newself.modalResults = not listAllMatches - return newself - - def setBreak(self,breakFlag = True): - """Method to invoke the Python pdb debugger when this element is - about to be parsed. Set C{breakFlag} to True to enable, False to - disable. - """ - if breakFlag: - _parseMethod = self._parse - def breaker(instring, loc, doActions=True, callPreParse=True): - import pdb - pdb.set_trace() - return _parseMethod( instring, loc, doActions, callPreParse ) - breaker._originalParseMethod = _parseMethod - self._parse = breaker - else: - if hasattr(self._parse,"_originalParseMethod"): - self._parse = self._parse._originalParseMethod - return self - - def setParseAction( self, *fns, **kwargs ): - """ - Define action to perform when successfully matching parse element definition. - Parse action fn is a callable method with 0-3 arguments, called as C{fn(s,loc,toks)}, - C{fn(loc,toks)}, C{fn(toks)}, or just C{fn()}, where: - - s = the original string being parsed (see note below) - - loc = the location of the matching substring - - toks = a list of the matched tokens, packaged as a C{L{ParseResults}} object - If the functions in fns modify the tokens, they can return them as the return - value from fn, and the modified list of tokens will replace the original. - Otherwise, fn does not need to return any value. - - Optional keyword arguments: - - callDuringTry = (default=C{False}) indicate if parse action should be run during lookaheads and alternate testing - - Note: the default parsing behavior is to expand tabs in the input string - before starting the parsing process. See L{I{parseString}<parseString>} for more information - on parsing strings containing C{<TAB>}s, and suggested methods to maintain a - consistent view of the parsed string, the parse location, and line and column - positions within the parsed string. - - Example:: - integer = Word(nums) - date_str = integer + '/' + integer + '/' + integer - - date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] - - # use parse action to convert to ints at parse time - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - date_str = integer + '/' + integer + '/' + integer - - # note that integer fields are now ints, not strings - date_str.parseString("1999/12/31") # -> [1999, '/', 12, '/', 31] - """ - self.parseAction = list(map(_trim_arity, list(fns))) - self.callDuringTry = kwargs.get("callDuringTry", False) - return self - - def addParseAction( self, *fns, **kwargs ): - """ - Add parse action to expression's list of parse actions. See L{I{setParseAction}<setParseAction>}. - - See examples in L{I{copy}<copy>}. - """ - self.parseAction += list(map(_trim_arity, list(fns))) - self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) - return self - - def addCondition(self, *fns, **kwargs): - """Add a boolean predicate function to expression's list of parse actions. See - L{I{setParseAction}<setParseAction>} for function call signatures. Unlike C{setParseAction}, - functions passed to C{addCondition} need to return boolean success/fail of the condition. - - Optional keyword arguments: - - message = define a custom message to be used in the raised exception - - fatal = if True, will raise ParseFatalException to stop parsing immediately; otherwise will raise ParseException - - Example:: - integer = Word(nums).setParseAction(lambda toks: int(toks[0])) - year_int = integer.copy() - year_int.addCondition(lambda toks: toks[0] >= 2000, message="Only support years 2000 and later") - date_str = year_int + '/' + integer + '/' + integer - - result = date_str.parseString("1999/12/31") # -> Exception: Only support years 2000 and later (at char 0), (line:1, col:1) - """ - msg = kwargs.get("message", "failed user-defined condition") - exc_type = ParseFatalException if kwargs.get("fatal", False) else ParseException - for fn in fns: - def pa(s,l,t): - if not bool(_trim_arity(fn)(s,l,t)): - raise exc_type(s,l,msg) - self.parseAction.append(pa) - self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) - return self - - def setFailAction( self, fn ): - """Define action to perform if parsing fails at this expression. - Fail acton fn is a callable function that takes the arguments - C{fn(s,loc,expr,err)} where: - - s = string being parsed - - loc = location where expression match was attempted and failed - - expr = the parse expression that failed - - err = the exception thrown - The function returns no value. It may throw C{L{ParseFatalException}} - if it is desired to stop parsing immediately.""" - self.failAction = fn - return self - - def _skipIgnorables( self, instring, loc ): - exprsFound = True - while exprsFound: - exprsFound = False - for e in self.ignoreExprs: - try: - while 1: - loc,dummy = e._parse( instring, loc ) - exprsFound = True - except ParseException: - pass - return loc - - def preParse( self, instring, loc ): - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - - if self.skipWhitespace: - wt = self.whiteChars - instrlen = len(instring) - while loc < instrlen and instring[loc] in wt: - loc += 1 - - return loc - - def parseImpl( self, instring, loc, doActions=True ): - return loc, [] - - def postParse( self, instring, loc, tokenlist ): - return tokenlist - - #~ @profile - def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ): - debugging = ( self.debug ) #and doActions ) - - if debugging or self.failAction: - #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )) - if (self.debugActions[0] ): - self.debugActions[0]( instring, loc, self ) - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - try: - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - except ParseBaseException as err: - #~ print ("Exception raised:", err) - if self.debugActions[2]: - self.debugActions[2]( instring, tokensStart, self, err ) - if self.failAction: - self.failAction( instring, tokensStart, self, err ) - raise - else: - if callPreParse and self.callPreparse: - preloc = self.preParse( instring, loc ) - else: - preloc = loc - tokensStart = preloc - if self.mayIndexError or loc >= len(instring): - try: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - except IndexError: - raise ParseException( instring, len(instring), self.errmsg, self ) - else: - loc,tokens = self.parseImpl( instring, preloc, doActions ) - - tokens = self.postParse( instring, loc, tokens ) - - retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults ) - if self.parseAction and (doActions or self.callDuringTry): - if debugging: - try: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - except ParseBaseException as err: - #~ print "Exception raised in user parse action:", err - if (self.debugActions[2] ): - self.debugActions[2]( instring, tokensStart, self, err ) - raise - else: - for fn in self.parseAction: - tokens = fn( instring, tokensStart, retTokens ) - if tokens is not None: - retTokens = ParseResults( tokens, - self.resultsName, - asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), - modal=self.modalResults ) - - if debugging: - #~ print ("Matched",self,"->",retTokens.asList()) - if (self.debugActions[1] ): - self.debugActions[1]( instring, tokensStart, loc, self, retTokens ) - - return loc, retTokens - - def tryParse( self, instring, loc ): - try: - return self._parse( instring, loc, doActions=False )[0] - except ParseFatalException: - raise ParseException( instring, loc, self.errmsg, self) - - def canParseNext(self, instring, loc): - try: - self.tryParse(instring, loc) - except (ParseException, IndexError): - return False - else: - return True - - class _UnboundedCache(object): - def __init__(self): - cache = {} - self.not_in_cache = not_in_cache = object() - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - - def clear(self): - cache.clear() - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - - if _OrderedDict is not None: - class _FifoCache(object): - def __init__(self, size): - self.not_in_cache = not_in_cache = object() - - cache = _OrderedDict() - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - if len(cache) > size: - cache.popitem(False) - - def clear(self): - cache.clear() - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - - else: - class _FifoCache(object): - def __init__(self, size): - self.not_in_cache = not_in_cache = object() - - cache = {} - key_fifo = collections.deque([], size) - - def get(self, key): - return cache.get(key, not_in_cache) - - def set(self, key, value): - cache[key] = value - if len(cache) > size: - cache.pop(key_fifo.popleft(), None) - key_fifo.append(key) - - def clear(self): - cache.clear() - key_fifo.clear() - - self.get = types.MethodType(get, self) - self.set = types.MethodType(set, self) - self.clear = types.MethodType(clear, self) - - # argument cache for optimizing repeated calls when backtracking through recursive expressions - packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail - packrat_cache_lock = RLock() - packrat_cache_stats = [0, 0] - - # this method gets repeatedly called during backtracking with the same arguments - - # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression - def _parseCache( self, instring, loc, doActions=True, callPreParse=True ): - HIT, MISS = 0, 1 - lookup = (self, instring, loc, callPreParse, doActions) - with ParserElement.packrat_cache_lock: - cache = ParserElement.packrat_cache - value = cache.get(lookup) - if value is cache.not_in_cache: - ParserElement.packrat_cache_stats[MISS] += 1 - try: - value = self._parseNoCache(instring, loc, doActions, callPreParse) - except ParseBaseException as pe: - # cache a copy of the exception, without the traceback - cache.set(lookup, pe.__class__(*pe.args)) - raise - else: - cache.set(lookup, (value[0], value[1].copy())) - return value - else: - ParserElement.packrat_cache_stats[HIT] += 1 - if isinstance(value, Exception): - raise value - return (value[0], value[1].copy()) - - _parse = _parseNoCache - - @staticmethod - def resetCache(): - ParserElement.packrat_cache.clear() - ParserElement.packrat_cache_stats[:] = [0] * len(ParserElement.packrat_cache_stats) - - _packratEnabled = False - @staticmethod - def enablePackrat(cache_size_limit=128): - """Enables "packrat" parsing, which adds memoizing to the parsing logic. - Repeated parse attempts at the same string location (which happens - often in many complex grammars) can immediately return a cached value, - instead of re-executing parsing/validating code. Memoizing is done of - both valid results and parsing exceptions. - - Parameters: - - cache_size_limit - (default=C{128}) - if an integer value is provided - will limit the size of the packrat cache; if None is passed, then - the cache size will be unbounded; if 0 is passed, the cache will - be effectively disabled. - - This speedup may break existing programs that use parse actions that - have side-effects. For this reason, packrat parsing is disabled when - you first import pyparsing. To activate the packrat feature, your - program must call the class method C{ParserElement.enablePackrat()}. If - your program uses C{psyco} to "compile as you go", you must call - C{enablePackrat} before calling C{psyco.full()}. If you do not do this, - Python will crash. For best results, call C{enablePackrat()} immediately - after importing pyparsing. - - Example:: - import pyparsing - pyparsing.ParserElement.enablePackrat() - """ - if not ParserElement._packratEnabled: - ParserElement._packratEnabled = True - if cache_size_limit is None: - ParserElement.packrat_cache = ParserElement._UnboundedCache() - else: - ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit) - ParserElement._parse = ParserElement._parseCache - - def parseString( self, instring, parseAll=False ): - """ - Execute the parse expression with the given string. - This is the main interface to the client code, once the complete - expression has been built. - - If you want the grammar to require that the entire input string be - successfully parsed, then set C{parseAll} to True (equivalent to ending - the grammar with C{L{StringEnd()}}). - - Note: C{parseString} implicitly calls C{expandtabs()} on the input string, - in order to report proper column numbers in parse actions. - If the input string contains tabs and - the grammar uses parse actions that use the C{loc} argument to index into the - string being parsed, you can ensure you have a consistent view of the input - string by: - - calling C{parseWithTabs} on your grammar before calling C{parseString} - (see L{I{parseWithTabs}<parseWithTabs>}) - - define your parse action using the full C{(s,loc,toks)} signature, and - reference the input string using the parse action's C{s} argument - - explictly expand the tabs in your input string before calling - C{parseString} - - Example:: - Word('a').parseString('aaaaabaaa') # -> ['aaaaa'] - Word('a').parseString('aaaaabaaa', parseAll=True) # -> Exception: Expected end of text - """ - ParserElement.resetCache() - if not self.streamlined: - self.streamline() - #~ self.saveAsList = True - for e in self.ignoreExprs: - e.streamline() - if not self.keepTabs: - instring = instring.expandtabs() - try: - loc, tokens = self._parse( instring, 0 ) - if parseAll: - loc = self.preParse( instring, loc ) - se = Empty() + StringEnd() - se._parse( instring, loc ) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - else: - return tokens - - def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ): - """ - Scan the input string for expression matches. Each match will return the - matching tokens, start location, and end location. May be called with optional - C{maxMatches} argument, to clip scanning after 'n' matches are found. If - C{overlap} is specified, then overlapping matches will be reported. - - Note that the start and end locations are reported relative to the string - being parsed. See L{I{parseString}<parseString>} for more information on parsing - strings with embedded tabs. - - Example:: - source = "sldjf123lsdjjkf345sldkjf879lkjsfd987" - print(source) - for tokens,start,end in Word(alphas).scanString(source): - print(' '*start + '^'*(end-start)) - print(' '*start + tokens[0]) - - prints:: - - sldjf123lsdjjkf345sldkjf879lkjsfd987 - ^^^^^ - sldjf - ^^^^^^^ - lsdjjkf - ^^^^^^ - sldkjf - ^^^^^^ - lkjsfd - """ - if not self.streamlined: - self.streamline() - for e in self.ignoreExprs: - e.streamline() - - if not self.keepTabs: - instring = _ustr(instring).expandtabs() - instrlen = len(instring) - loc = 0 - preparseFn = self.preParse - parseFn = self._parse - ParserElement.resetCache() - matches = 0 - try: - while loc <= instrlen and matches < maxMatches: - try: - preloc = preparseFn( instring, loc ) - nextLoc,tokens = parseFn( instring, preloc, callPreParse=False ) - except ParseException: - loc = preloc+1 - else: - if nextLoc > loc: - matches += 1 - yield tokens, preloc, nextLoc - if overlap: - nextloc = preparseFn( instring, loc ) - if nextloc > loc: - loc = nextLoc - else: - loc += 1 - else: - loc = nextLoc - else: - loc = preloc+1 - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def transformString( self, instring ): - """ - Extension to C{L{scanString}}, to modify matching text with modified tokens that may - be returned from a parse action. To use C{transformString}, define a grammar and - attach a parse action to it that modifies the returned token list. - Invoking C{transformString()} on a target string will then scan for matches, - and replace the matched text patterns according to the logic in the parse - action. C{transformString()} returns the resulting transformed string. - - Example:: - wd = Word(alphas) - wd.setParseAction(lambda toks: toks[0].title()) - - print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york.")) - Prints:: - Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York. - """ - out = [] - lastE = 0 - # force preservation of <TAB>s, to minimize unwanted transformation of string, and to - # keep string locs straight between transformString and scanString - self.keepTabs = True - try: - for t,s,e in self.scanString( instring ): - out.append( instring[lastE:s] ) - if t: - if isinstance(t,ParseResults): - out += t.asList() - elif isinstance(t,list): - out += t - else: - out.append(t) - lastE = e - out.append(instring[lastE:]) - out = [o for o in out if o] - return "".join(map(_ustr,_flatten(out))) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def searchString( self, instring, maxMatches=_MAX_INT ): - """ - Another extension to C{L{scanString}}, simplifying the access to the tokens found - to match the given parse expression. May be called with optional - C{maxMatches} argument, to clip searching after 'n' matches are found. - - Example:: - # a capitalized word starts with an uppercase letter, followed by zero or more lowercase letters - cap_word = Word(alphas.upper(), alphas.lower()) - - print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")) - prints:: - ['More', 'Iron', 'Lead', 'Gold', 'I'] - """ - try: - return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False): - """ - Generator method to split a string using the given expression as a separator. - May be called with optional C{maxsplit} argument, to limit the number of splits; - and the optional C{includeSeparators} argument (default=C{False}), if the separating - matching text should be included in the split results. - - Example:: - punc = oneOf(list(".,;:/-!?")) - print(list(punc.split("This, this?, this sentence, is badly punctuated!"))) - prints:: - ['This', ' this', '', ' this sentence', ' is badly punctuated', ''] - """ - splits = 0 - last = 0 - for t,s,e in self.scanString(instring, maxMatches=maxsplit): - yield instring[last:s] - if includeSeparators: - yield t[0] - last = e - yield instring[last:] - - def __add__(self, other ): - """ - Implementation of + operator - returns C{L{And}}. Adding strings to a ParserElement - converts them to L{Literal}s by default. - - Example:: - greet = Word(alphas) + "," + Word(alphas) + "!" - hello = "Hello, World!" - print (hello, "->", greet.parseString(hello)) - Prints:: - Hello, World! -> ['Hello', ',', 'World', '!'] - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return And( [ self, other ] ) - - def __radd__(self, other ): - """ - Implementation of + operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other + self - - def __sub__(self, other): - """ - Implementation of - operator, returns C{L{And}} with error stop - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return And( [ self, And._ErrorStop(), other ] ) - - def __rsub__(self, other ): - """ - Implementation of - operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other - self - - def __mul__(self,other): - """ - Implementation of * operator, allows use of C{expr * 3} in place of - C{expr + expr + expr}. Expressions may also me multiplied by a 2-integer - tuple, similar to C{{min,max}} multipliers in regular expressions. Tuples - may also include C{None} as in: - - C{expr*(n,None)} or C{expr*(n,)} is equivalent - to C{expr*n + L{ZeroOrMore}(expr)} - (read as "at least n instances of C{expr}") - - C{expr*(None,n)} is equivalent to C{expr*(0,n)} - (read as "0 to n instances of C{expr}") - - C{expr*(None,None)} is equivalent to C{L{ZeroOrMore}(expr)} - - C{expr*(1,None)} is equivalent to C{L{OneOrMore}(expr)} - - Note that C{expr*(None,n)} does not raise an exception if - more than n exprs exist in the input stream; that is, - C{expr*(None,n)} does not enforce a maximum number of expr - occurrences. If this behavior is desired, then write - C{expr*(None,n) + ~expr} - """ - if isinstance(other,int): - minElements, optElements = other,0 - elif isinstance(other,tuple): - other = (other + (None, None))[:2] - if other[0] is None: - other = (0, other[1]) - if isinstance(other[0],int) and other[1] is None: - if other[0] == 0: - return ZeroOrMore(self) - if other[0] == 1: - return OneOrMore(self) - else: - return self*other[0] + ZeroOrMore(self) - elif isinstance(other[0],int) and isinstance(other[1],int): - minElements, optElements = other - optElements -= minElements - else: - raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1])) - else: - raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other)) - - if minElements < 0: - raise ValueError("cannot multiply ParserElement by negative value") - if optElements < 0: - raise ValueError("second tuple value must be greater or equal to first tuple value") - if minElements == optElements == 0: - raise ValueError("cannot multiply ParserElement by 0 or (0,0)") - - if (optElements): - def makeOptionalList(n): - if n>1: - return Optional(self + makeOptionalList(n-1)) - else: - return Optional(self) - if minElements: - if minElements == 1: - ret = self + makeOptionalList(optElements) - else: - ret = And([self]*minElements) + makeOptionalList(optElements) - else: - ret = makeOptionalList(optElements) - else: - if minElements == 1: - ret = self - else: - ret = And([self]*minElements) - return ret - - def __rmul__(self, other): - return self.__mul__(other) - - def __or__(self, other ): - """ - Implementation of | operator - returns C{L{MatchFirst}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return MatchFirst( [ self, other ] ) - - def __ror__(self, other ): - """ - Implementation of | operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other | self - - def __xor__(self, other ): - """ - Implementation of ^ operator - returns C{L{Or}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Or( [ self, other ] ) - - def __rxor__(self, other ): - """ - Implementation of ^ operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other ^ self - - def __and__(self, other ): - """ - Implementation of & operator - returns C{L{Each}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return Each( [ self, other ] ) - - def __rand__(self, other ): - """ - Implementation of & operator when left operand is not a C{L{ParserElement}} - """ - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - if not isinstance( other, ParserElement ): - warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), - SyntaxWarning, stacklevel=2) - return None - return other & self - - def __invert__( self ): - """ - Implementation of ~ operator - returns C{L{NotAny}} - """ - return NotAny( self ) - - def __call__(self, name=None): - """ - Shortcut for C{L{setResultsName}}, with C{listAllMatches=False}. - - If C{name} is given with a trailing C{'*'} character, then C{listAllMatches} will be - passed as C{True}. - - If C{name} is omitted, same as calling C{L{copy}}. - - Example:: - # these are equivalent - userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno") - userdata = Word(alphas)("name") + Word(nums+"-")("socsecno") - """ - if name is not None: - return self.setResultsName(name) - else: - return self.copy() - - def suppress( self ): - """ - Suppresses the output of this C{ParserElement}; useful to keep punctuation from - cluttering up returned output. - """ - return Suppress( self ) - - def leaveWhitespace( self ): - """ - Disables the skipping of whitespace before matching the characters in the - C{ParserElement}'s defined pattern. This is normally only used internally by - the pyparsing module, but may be needed in some whitespace-sensitive grammars. - """ - self.skipWhitespace = False - return self - - def setWhitespaceChars( self, chars ): - """ - Overrides the default whitespace chars - """ - self.skipWhitespace = True - self.whiteChars = chars - self.copyDefaultWhiteChars = False - return self - - def parseWithTabs( self ): - """ - Overrides default behavior to expand C{<TAB>}s to spaces before parsing the input string. - Must be called before C{parseString} when the input grammar contains elements that - match C{<TAB>} characters. - """ - self.keepTabs = True - return self - - def ignore( self, other ): - """ - Define expression to be ignored (e.g., comments) while doing pattern - matching; may be called repeatedly, to define multiple comment or other - ignorable patterns. - - Example:: - patt = OneOrMore(Word(alphas)) - patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj'] - - patt.ignore(cStyleComment) - patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd'] - """ - if isinstance(other, basestring): - other = Suppress(other) - - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - self.ignoreExprs.append(other) - else: - self.ignoreExprs.append( Suppress( other.copy() ) ) - return self - - def setDebugActions( self, startAction, successAction, exceptionAction ): - """ - Enable display of debugging messages while doing pattern matching. - """ - self.debugActions = (startAction or _defaultStartDebugAction, - successAction or _defaultSuccessDebugAction, - exceptionAction or _defaultExceptionDebugAction) - self.debug = True - return self - - def setDebug( self, flag=True ): - """ - Enable display of debugging messages while doing pattern matching. - Set C{flag} to True to enable, False to disable. - - Example:: - wd = Word(alphas).setName("alphaword") - integer = Word(nums).setName("numword") - term = wd | integer - - # turn on debugging for wd - wd.setDebug() - - OneOrMore(term).parseString("abc 123 xyz 890") - - prints:: - Match alphaword at loc 0(1,1) - Matched alphaword -> ['abc'] - Match alphaword at loc 3(1,4) - Exception raised:Expected alphaword (at char 4), (line:1, col:5) - Match alphaword at loc 7(1,8) - Matched alphaword -> ['xyz'] - Match alphaword at loc 11(1,12) - Exception raised:Expected alphaword (at char 12), (line:1, col:13) - Match alphaword at loc 15(1,16) - Exception raised:Expected alphaword (at char 15), (line:1, col:16) - - The output shown is that produced by the default debug actions - custom debug actions can be - specified using L{setDebugActions}. Prior to attempting - to match the C{wd} expression, the debugging message C{"Match <exprname> at loc <n>(<line>,<col>)"} - is shown. Then if the parse succeeds, a C{"Matched"} message is shown, or an C{"Exception raised"} - message is shown. Also note the use of L{setName} to assign a human-readable name to the expression, - which makes debugging and exception messages easier to understand - for instance, the default - name created for the C{Word} expression without calling C{setName} is C{"W:(ABCD...)"}. - """ - if flag: - self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction ) - else: - self.debug = False - return self - - def __str__( self ): - return self.name - - def __repr__( self ): - return _ustr(self) - - def streamline( self ): - self.streamlined = True - self.strRepr = None - return self - - def checkRecursion( self, parseElementList ): - pass - - def validate( self, validateTrace=[] ): - """ - Check defined expressions for valid structure, check for infinite recursive definitions. - """ - self.checkRecursion( [] ) - - def parseFile( self, file_or_filename, parseAll=False ): - """ - Execute the parse expression on the given file or filename. - If a filename is specified (instead of a file object), - the entire file is opened, read, and closed before parsing. - """ - try: - file_contents = file_or_filename.read() - except AttributeError: - with open(file_or_filename, "r") as f: - file_contents = f.read() - try: - return self.parseString(file_contents, parseAll) - except ParseBaseException as exc: - if ParserElement.verbose_stacktrace: - raise - else: - # catch and re-raise exception from here, clears out pyparsing internal stack trace - raise exc - - def __eq__(self,other): - if isinstance(other, ParserElement): - return self is other or vars(self) == vars(other) - elif isinstance(other, basestring): - return self.matches(other) - else: - return super(ParserElement,self)==other - - def __ne__(self,other): - return not (self == other) - - def __hash__(self): - return hash(id(self)) - - def __req__(self,other): - return self == other - - def __rne__(self,other): - return not (self == other) - - def matches(self, testString, parseAll=True): - """ - Method for quick testing of a parser against a test string. Good for simple - inline microtests of sub expressions while building up larger parser. - - Parameters: - - testString - to test against this expression for a match - - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests - - Example:: - expr = Word(nums) - assert expr.matches("100") - """ - try: - self.parseString(_ustr(testString), parseAll=parseAll) - return True - except ParseBaseException: - return False - - def runTests(self, tests, parseAll=True, comment='#', fullDump=True, printResults=True, failureTests=False): - """ - Execute the parse expression on a series of test strings, showing each - test, the parsed results or where the parse failed. Quick and easy way to - run a parse expression against a list of sample strings. - - Parameters: - - tests - a list of separate test strings, or a multiline string of test strings - - parseAll - (default=C{True}) - flag to pass to C{L{parseString}} when running tests - - comment - (default=C{'#'}) - expression for indicating embedded comments in the test - string; pass None to disable comment filtering - - fullDump - (default=C{True}) - dump results as list followed by results names in nested outline; - if False, only dump nested list - - printResults - (default=C{True}) prints test output to stdout - - failureTests - (default=C{False}) indicates if these tests are expected to fail parsing - - Returns: a (success, results) tuple, where success indicates that all tests succeeded - (or failed if C{failureTests} is True), and the results contain a list of lines of each - test's output - - Example:: - number_expr = pyparsing_common.number.copy() - - result = number_expr.runTests(''' - # unsigned integer - 100 - # negative integer - -100 - # float with scientific notation - 6.02e23 - # integer with scientific notation - 1e-12 - ''') - print("Success" if result[0] else "Failed!") - - result = number_expr.runTests(''' - # stray character - 100Z - # missing leading digit before '.' - -.100 - # too many '.' - 3.14.159 - ''', failureTests=True) - print("Success" if result[0] else "Failed!") - prints:: - # unsigned integer - 100 - [100] - - # negative integer - -100 - [-100] - - # float with scientific notation - 6.02e23 - [6.02e+23] - - # integer with scientific notation - 1e-12 - [1e-12] - - Success - - # stray character - 100Z - ^ - FAIL: Expected end of text (at char 3), (line:1, col:4) - - # missing leading digit before '.' - -.100 - ^ - FAIL: Expected {real number with scientific notation | real number | signed integer} (at char 0), (line:1, col:1) - - # too many '.' - 3.14.159 - ^ - FAIL: Expected end of text (at char 4), (line:1, col:5) - - Success - - Each test string must be on a single line. If you want to test a string that spans multiple - lines, create a test like this:: - - expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines") - - (Note that this is a raw string literal, you must include the leading 'r'.) - """ - if isinstance(tests, basestring): - tests = list(map(str.strip, tests.rstrip().splitlines())) - if isinstance(comment, basestring): - comment = Literal(comment) - allResults = [] - comments = [] - success = True - for t in tests: - if comment is not None and comment.matches(t, False) or comments and not t: - comments.append(t) - continue - if not t: - continue - out = ['\n'.join(comments), t] - comments = [] - try: - t = t.replace(r'\n','\n') - result = self.parseString(t, parseAll=parseAll) - out.append(result.dump(full=fullDump)) - success = success and not failureTests - except ParseBaseException as pe: - fatal = "(FATAL)" if isinstance(pe, ParseFatalException) else "" - if '\n' in t: - out.append(line(pe.loc, t)) - out.append(' '*(col(pe.loc,t)-1) + '^' + fatal) - else: - out.append(' '*pe.loc + '^' + fatal) - out.append("FAIL: " + str(pe)) - success = success and failureTests - result = pe - except Exception as exc: - out.append("FAIL-EXCEPTION: " + str(exc)) - success = success and failureTests - result = exc - - if printResults: - if fullDump: - out.append('') - print('\n'.join(out)) - - allResults.append((t, result)) - - return success, allResults - - -class Token(ParserElement): - """ - Abstract C{ParserElement} subclass, for defining atomic matching patterns. - """ - def __init__( self ): - super(Token,self).__init__( savelist=False ) - - -class Empty(Token): - """ - An empty token, will always match. - """ - def __init__( self ): - super(Empty,self).__init__() - self.name = "Empty" - self.mayReturnEmpty = True - self.mayIndexError = False - - -class NoMatch(Token): - """ - A token that will never match. - """ - def __init__( self ): - super(NoMatch,self).__init__() - self.name = "NoMatch" - self.mayReturnEmpty = True - self.mayIndexError = False - self.errmsg = "Unmatchable token" - - def parseImpl( self, instring, loc, doActions=True ): - raise ParseException(instring, loc, self.errmsg, self) - - -class Literal(Token): - """ - Token to exactly match a specified string. - - Example:: - Literal('blah').parseString('blah') # -> ['blah'] - Literal('blah').parseString('blahfooblah') # -> ['blah'] - Literal('blah').parseString('bla') # -> Exception: Expected "blah" - - For case-insensitive matching, use L{CaselessLiteral}. - - For keyword matching (force word break before and after the matched string), - use L{Keyword} or L{CaselessKeyword}. - """ - def __init__( self, matchString ): - super(Literal,self).__init__() - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Literal; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.__class__ = Empty - self.name = '"%s"' % _ustr(self.match) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - - # Performance tuning: this routine gets called a *lot* - # if this is a single character match string and the first character matches, - # short-circuit as quickly as possible, and avoid calling startswith - #~ @profile - def parseImpl( self, instring, loc, doActions=True ): - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) -_L = Literal -ParserElement._literalStringClass = Literal - -class Keyword(Token): - """ - Token to exactly match a specified string as a keyword, that is, it must be - immediately followed by a non-keyword character. Compare with C{L{Literal}}: - - C{Literal("if")} will match the leading C{'if'} in C{'ifAndOnlyIf'}. - - C{Keyword("if")} will not; it will only match the leading C{'if'} in C{'if x=1'}, or C{'if(y==2)'} - Accepts two optional constructor arguments in addition to the keyword string: - - C{identChars} is a string of characters that would be valid identifier characters, - defaulting to all alphanumerics + "_" and "$" - - C{caseless} allows case-insensitive matching, default is C{False}. - - Example:: - Keyword("start").parseString("start") # -> ['start'] - Keyword("start").parseString("starting") # -> Exception - - For case-insensitive matching, use L{CaselessKeyword}. - """ - DEFAULT_KEYWORD_CHARS = alphanums+"_$" - - def __init__( self, matchString, identChars=None, caseless=False ): - super(Keyword,self).__init__() - if identChars is None: - identChars = Keyword.DEFAULT_KEYWORD_CHARS - self.match = matchString - self.matchLen = len(matchString) - try: - self.firstMatchChar = matchString[0] - except IndexError: - warnings.warn("null string passed to Keyword; use Empty() instead", - SyntaxWarning, stacklevel=2) - self.name = '"%s"' % self.match - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = False - self.mayIndexError = False - self.caseless = caseless - if caseless: - self.caselessmatch = matchString.upper() - identChars = identChars.upper() - self.identChars = set(identChars) - - def parseImpl( self, instring, loc, doActions=True ): - if self.caseless: - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and - (loc == 0 or instring[loc-1].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - else: - if (instring[loc] == self.firstMatchChar and - (self.matchLen==1 or instring.startswith(self.match,loc)) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and - (loc == 0 or instring[loc-1] not in self.identChars) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) - - def copy(self): - c = super(Keyword,self).copy() - c.identChars = Keyword.DEFAULT_KEYWORD_CHARS - return c - - @staticmethod - def setDefaultKeywordChars( chars ): - """Overrides the default Keyword chars - """ - Keyword.DEFAULT_KEYWORD_CHARS = chars - -class CaselessLiteral(Literal): - """ - Token to match a specified string, ignoring case of letters. - Note: the matched results will always be in the case of the given - match string, NOT the case of the input text. - - Example:: - OneOrMore(CaselessLiteral("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD', 'CMD'] - - (Contrast with example for L{CaselessKeyword}.) - """ - def __init__( self, matchString ): - super(CaselessLiteral,self).__init__( matchString.upper() ) - # Preserve the defining literal. - self.returnString = matchString - self.name = "'%s'" % self.returnString - self.errmsg = "Expected " + self.name - - def parseImpl( self, instring, loc, doActions=True ): - if instring[ loc:loc+self.matchLen ].upper() == self.match: - return loc+self.matchLen, self.returnString - raise ParseException(instring, loc, self.errmsg, self) - -class CaselessKeyword(Keyword): - """ - Caseless version of L{Keyword}. - - Example:: - OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD'] - - (Contrast with example for L{CaselessLiteral}.) - """ - def __init__( self, matchString, identChars=None ): - super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True ) - - def parseImpl( self, instring, loc, doActions=True ): - if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and - (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) ): - return loc+self.matchLen, self.match - raise ParseException(instring, loc, self.errmsg, self) - -class CloseMatch(Token): - """ - A variation on L{Literal} which matches "close" matches, that is, - strings with at most 'n' mismatching characters. C{CloseMatch} takes parameters: - - C{match_string} - string to be matched - - C{maxMismatches} - (C{default=1}) maximum number of mismatches allowed to count as a match - - The results from a successful parse will contain the matched text from the input string and the following named results: - - C{mismatches} - a list of the positions within the match_string where mismatches were found - - C{original} - the original match_string used to compare against the input string - - If C{mismatches} is an empty list, then the match was an exact match. - - Example:: - patt = CloseMatch("ATCATCGAATGGA") - patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']}) - patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1) - - # exact match - patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']}) - - # close match allowing up to 2 mismatches - patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2) - patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']}) - """ - def __init__(self, match_string, maxMismatches=1): - super(CloseMatch,self).__init__() - self.name = match_string - self.match_string = match_string - self.maxMismatches = maxMismatches - self.errmsg = "Expected %r (with up to %d mismatches)" % (self.match_string, self.maxMismatches) - self.mayIndexError = False - self.mayReturnEmpty = False - - def parseImpl( self, instring, loc, doActions=True ): - start = loc - instrlen = len(instring) - maxloc = start + len(self.match_string) - - if maxloc <= instrlen: - match_string = self.match_string - match_stringloc = 0 - mismatches = [] - maxMismatches = self.maxMismatches - - for match_stringloc,s_m in enumerate(zip(instring[loc:maxloc], self.match_string)): - src,mat = s_m - if src != mat: - mismatches.append(match_stringloc) - if len(mismatches) > maxMismatches: - break - else: - loc = match_stringloc + 1 - results = ParseResults([instring[start:loc]]) - results['original'] = self.match_string - results['mismatches'] = mismatches - return loc, results - - raise ParseException(instring, loc, self.errmsg, self) - - -class Word(Token): - """ - Token for matching words composed of allowed character sets. - Defined with string containing all allowed initial characters, - an optional string containing allowed body characters (if omitted, - defaults to the initial character set), and an optional minimum, - maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. An optional - C{excludeChars} parameter can list characters that might be found in - the input C{bodyChars} string; useful to define a word of all printables - except for one or two characters, for instance. - - L{srange} is useful for defining custom character set strings for defining - C{Word} expressions, using range notation from regular expression character sets. - - A common mistake is to use C{Word} to match a specific literal string, as in - C{Word("Address")}. Remember that C{Word} uses the string argument to define - I{sets} of matchable characters. This expression would match "Add", "AAA", - "dAred", or any other word made up of the characters 'A', 'd', 'r', 'e', and 's'. - To match an exact literal string, use L{Literal} or L{Keyword}. - - pyparsing includes helper strings for building Words: - - L{alphas} - - L{nums} - - L{alphanums} - - L{hexnums} - - L{alphas8bit} (alphabetic characters in ASCII range 128-255 - accented, tilded, umlauted, etc.) - - L{punc8bit} (non-alphabetic characters in ASCII range 128-255 - currency, symbols, superscripts, diacriticals, etc.) - - L{printables} (any non-whitespace character) - - Example:: - # a word composed of digits - integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9")) - - # a word with a leading capital, and zero or more lowercase - capital_word = Word(alphas.upper(), alphas.lower()) - - # hostnames are alphanumeric, with leading alpha, and '-' - hostname = Word(alphas, alphanums+'-') - - # roman numeral (not a strict parser, accepts invalid mix of characters) - roman = Word("IVXLCDM") - - # any string of non-whitespace characters, except for ',' - csv_value = Word(printables, excludeChars=",") - """ - def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ): - super(Word,self).__init__() - if excludeChars: - initChars = ''.join(c for c in initChars if c not in excludeChars) - if bodyChars: - bodyChars = ''.join(c for c in bodyChars if c not in excludeChars) - self.initCharsOrig = initChars - self.initChars = set(initChars) - if bodyChars : - self.bodyCharsOrig = bodyChars - self.bodyChars = set(bodyChars) - else: - self.bodyCharsOrig = initChars - self.bodyChars = set(initChars) - - self.maxSpecified = max > 0 - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.asKeyword = asKeyword - - if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0): - if self.bodyCharsOrig == self.initCharsOrig: - self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig) - elif len(self.initCharsOrig) == 1: - self.reString = "%s[%s]*" % \ - (re.escape(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - else: - self.reString = "[%s][%s]*" % \ - (_escapeRegexRangeChars(self.initCharsOrig), - _escapeRegexRangeChars(self.bodyCharsOrig),) - if self.asKeyword: - self.reString = r"\b"+self.reString+r"\b" - try: - self.re = re.compile( self.reString ) - except Exception: - self.re = None - - def parseImpl( self, instring, loc, doActions=True ): - if self.re: - result = self.re.match(instring,loc) - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - return loc, result.group() - - if not(instring[ loc ] in self.initChars): - raise ParseException(instring, loc, self.errmsg, self) - - start = loc - loc += 1 - instrlen = len(instring) - bodychars = self.bodyChars - maxloc = start + self.maxLen - maxloc = min( maxloc, instrlen ) - while loc < maxloc and instring[loc] in bodychars: - loc += 1 - - throwException = False - if loc - start < self.minLen: - throwException = True - if self.maxSpecified and loc < instrlen and instring[loc] in bodychars: - throwException = True - if self.asKeyword: - if (start>0 and instring[start-1] in bodychars) or (loc<instrlen and instring[loc] in bodychars): - throwException = True - - if throwException: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - def __str__( self ): - try: - return super(Word,self).__str__() - except Exception: - pass - - - if self.strRepr is None: - - def charsAsStr(s): - if len(s)>4: - return s[:4]+"..." - else: - return s - - if ( self.initCharsOrig != self.bodyCharsOrig ): - self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) ) - else: - self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig) - - return self.strRepr - - -class Regex(Token): - """ - Token for matching strings that match a given regular expression. - Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module. - If the given regex contains named groups (defined using C{(?P<name>...)}), these will be preserved as - named parse results. - - Example:: - realnum = Regex(r"[+-]?\d+\.\d*") - date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)') - # ref: http://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression - roman = Regex(r"M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})") - """ - compiledREtype = type(re.compile("[A-Z]")) - def __init__( self, pattern, flags=0): - """The parameters C{pattern} and C{flags} are passed to the C{re.compile()} function as-is. See the Python C{re} module for an explanation of the acceptable patterns and flags.""" - super(Regex,self).__init__() - - if isinstance(pattern, basestring): - if not pattern: - warnings.warn("null string passed to Regex; use Empty() instead", - SyntaxWarning, stacklevel=2) - - self.pattern = pattern - self.flags = flags - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % pattern, - SyntaxWarning, stacklevel=2) - raise - - elif isinstance(pattern, Regex.compiledREtype): - self.re = pattern - self.pattern = \ - self.reString = str(pattern) - self.flags = flags - - else: - raise ValueError("Regex may only be constructed with a string or a compiled RE object") - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = self.re.match(instring,loc) - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - d = result.groupdict() - ret = ParseResults(result.group()) - if d: - for k in d: - ret[k] = d[k] - return loc,ret - - def __str__( self ): - try: - return super(Regex,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "Re:(%s)" % repr(self.pattern) - - return self.strRepr - - -class QuotedString(Token): - r""" - Token for matching strings that are delimited by quoting characters. - - Defined with the following parameters: - - quoteChar - string of one or more characters defining the quote delimiting string - - escChar - character to escape quotes, typically backslash (default=C{None}) - - escQuote - special quote sequence to escape an embedded quote string (such as SQL's "" to escape an embedded ") (default=C{None}) - - multiline - boolean indicating whether quotes can span multiple lines (default=C{False}) - - unquoteResults - boolean indicating whether the matched text should be unquoted (default=C{True}) - - endQuoteChar - string of one or more characters defining the end of the quote delimited string (default=C{None} => same as quoteChar) - - convertWhitespaceEscapes - convert escaped whitespace (C{'\t'}, C{'\n'}, etc.) to actual whitespace (default=C{True}) - - Example:: - qs = QuotedString('"') - print(qs.searchString('lsjdf "This is the quote" sldjf')) - complex_qs = QuotedString('{{', endQuoteChar='}}') - print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf')) - sql_qs = QuotedString('"', escQuote='""') - print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf')) - prints:: - [['This is the quote']] - [['This is the "quote"']] - [['This is the quote with "embedded" quotes']] - """ - def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None, convertWhitespaceEscapes=True): - super(QuotedString,self).__init__() - - # remove white space from quote chars - wont work anyway - quoteChar = quoteChar.strip() - if not quoteChar: - warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - if endQuoteChar is None: - endQuoteChar = quoteChar - else: - endQuoteChar = endQuoteChar.strip() - if not endQuoteChar: - warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) - raise SyntaxError() - - self.quoteChar = quoteChar - self.quoteCharLen = len(quoteChar) - self.firstQuoteChar = quoteChar[0] - self.endQuoteChar = endQuoteChar - self.endQuoteCharLen = len(endQuoteChar) - self.escChar = escChar - self.escQuote = escQuote - self.unquoteResults = unquoteResults - self.convertWhitespaceEscapes = convertWhitespaceEscapes - - if multiline: - self.flags = re.MULTILINE | re.DOTALL - self.pattern = r'%s(?:[^%s%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - else: - self.flags = 0 - self.pattern = r'%s(?:[^%s\n\r%s]' % \ - ( re.escape(self.quoteChar), - _escapeRegexRangeChars(self.endQuoteChar[0]), - (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) - if len(self.endQuoteChar) > 1: - self.pattern += ( - '|(?:' + ')|(?:'.join("%s[^%s]" % (re.escape(self.endQuoteChar[:i]), - _escapeRegexRangeChars(self.endQuoteChar[i])) - for i in range(len(self.endQuoteChar)-1,0,-1)) + ')' - ) - if escQuote: - self.pattern += (r'|(?:%s)' % re.escape(escQuote)) - if escChar: - self.pattern += (r'|(?:%s.)' % re.escape(escChar)) - self.escCharReplacePattern = re.escape(self.escChar)+"(.)" - self.pattern += (r')*%s' % re.escape(self.endQuoteChar)) - - try: - self.re = re.compile(self.pattern, self.flags) - self.reString = self.pattern - except sre_constants.error: - warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern, - SyntaxWarning, stacklevel=2) - raise - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayIndexError = False - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None - if not result: - raise ParseException(instring, loc, self.errmsg, self) - - loc = result.end() - ret = result.group() - - if self.unquoteResults: - - # strip off quotes - ret = ret[self.quoteCharLen:-self.endQuoteCharLen] - - if isinstance(ret,basestring): - # replace escaped whitespace - if '\\' in ret and self.convertWhitespaceEscapes: - ws_map = { - r'\t' : '\t', - r'\n' : '\n', - r'\f' : '\f', - r'\r' : '\r', - } - for wslit,wschar in ws_map.items(): - ret = ret.replace(wslit, wschar) - - # replace escaped characters - if self.escChar: - ret = re.sub(self.escCharReplacePattern,"\g<1>",ret) - - # replace escaped quotes - if self.escQuote: - ret = ret.replace(self.escQuote, self.endQuoteChar) - - return loc, ret - - def __str__( self ): - try: - return super(QuotedString,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar) - - return self.strRepr - - -class CharsNotIn(Token): - """ - Token for matching words composed of characters I{not} in a given set (will - include whitespace in matched characters if not listed in the provided exclusion set - see example). - Defined with string containing all disallowed characters, and an optional - minimum, maximum, and/or exact length. The default value for C{min} is 1 (a - minimum value < 1 is not valid); the default values for C{max} and C{exact} - are 0, meaning no maximum or exact length restriction. - - Example:: - # define a comma-separated-value as anything that is not a ',' - csv_value = CharsNotIn(',') - print(delimitedList(csv_value).parseString("dkls,lsdkjf,s12 34,@!#,213")) - prints:: - ['dkls', 'lsdkjf', 's12 34', '@!#', '213'] - """ - def __init__( self, notChars, min=1, max=0, exact=0 ): - super(CharsNotIn,self).__init__() - self.skipWhitespace = False - self.notChars = notChars - - if min < 1: - raise ValueError("cannot specify a minimum length < 1; use Optional(CharsNotIn()) if zero-length char group is permitted") - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - self.name = _ustr(self) - self.errmsg = "Expected " + self.name - self.mayReturnEmpty = ( self.minLen == 0 ) - self.mayIndexError = False - - def parseImpl( self, instring, loc, doActions=True ): - if instring[loc] in self.notChars: - raise ParseException(instring, loc, self.errmsg, self) - - start = loc - loc += 1 - notchars = self.notChars - maxlen = min( start+self.maxLen, len(instring) ) - while loc < maxlen and \ - (instring[loc] not in notchars): - loc += 1 - - if loc - start < self.minLen: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - def __str__( self ): - try: - return super(CharsNotIn, self).__str__() - except Exception: - pass - - if self.strRepr is None: - if len(self.notChars) > 4: - self.strRepr = "!W:(%s...)" % self.notChars[:4] - else: - self.strRepr = "!W:(%s)" % self.notChars - - return self.strRepr - -class White(Token): - """ - Special matching class for matching whitespace. Normally, whitespace is ignored - by pyparsing grammars. This class is included when some whitespace structures - are significant. Define with a string containing the whitespace characters to be - matched; default is C{" \\t\\r\\n"}. Also takes optional C{min}, C{max}, and C{exact} arguments, - as defined for the C{L{Word}} class. - """ - whiteStrs = { - " " : "<SPC>", - "\t": "<TAB>", - "\n": "<LF>", - "\r": "<CR>", - "\f": "<FF>", - } - def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0): - super(White,self).__init__() - self.matchWhite = ws - self.setWhitespaceChars( "".join(c for c in self.whiteChars if c not in self.matchWhite) ) - #~ self.leaveWhitespace() - self.name = ("".join(White.whiteStrs[c] for c in self.matchWhite)) - self.mayReturnEmpty = True - self.errmsg = "Expected " + self.name - - self.minLen = min - - if max > 0: - self.maxLen = max - else: - self.maxLen = _MAX_INT - - if exact > 0: - self.maxLen = exact - self.minLen = exact - - def parseImpl( self, instring, loc, doActions=True ): - if not(instring[ loc ] in self.matchWhite): - raise ParseException(instring, loc, self.errmsg, self) - start = loc - loc += 1 - maxloc = start + self.maxLen - maxloc = min( maxloc, len(instring) ) - while loc < maxloc and instring[loc] in self.matchWhite: - loc += 1 - - if loc - start < self.minLen: - raise ParseException(instring, loc, self.errmsg, self) - - return loc, instring[start:loc] - - -class _PositionToken(Token): - def __init__( self ): - super(_PositionToken,self).__init__() - self.name=self.__class__.__name__ - self.mayReturnEmpty = True - self.mayIndexError = False - -class GoToColumn(_PositionToken): - """ - Token to advance to a specific column of input text; useful for tabular report scraping. - """ - def __init__( self, colno ): - super(GoToColumn,self).__init__() - self.col = colno - - def preParse( self, instring, loc ): - if col(loc,instring) != self.col: - instrlen = len(instring) - if self.ignoreExprs: - loc = self._skipIgnorables( instring, loc ) - while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col : - loc += 1 - return loc - - def parseImpl( self, instring, loc, doActions=True ): - thiscol = col( loc, instring ) - if thiscol > self.col: - raise ParseException( instring, loc, "Text not in expected column", self ) - newloc = loc + self.col - thiscol - ret = instring[ loc: newloc ] - return newloc, ret - - -class LineStart(_PositionToken): - """ - Matches if current position is at the beginning of a line within the parse string - - Example:: - - test = '''\ - AAA this line - AAA and this line - AAA but not this one - B AAA and definitely not this one - ''' - - for t in (LineStart() + 'AAA' + restOfLine).searchString(test): - print(t) - - Prints:: - ['AAA', ' this line'] - ['AAA', ' and this line'] - - """ - def __init__( self ): - super(LineStart,self).__init__() - self.errmsg = "Expected start of line" - - def parseImpl( self, instring, loc, doActions=True ): - if col(loc, instring) == 1: - return loc, [] - raise ParseException(instring, loc, self.errmsg, self) - -class LineEnd(_PositionToken): - """ - Matches if current position is at the end of a line within the parse string - """ - def __init__( self ): - super(LineEnd,self).__init__() - self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") ) - self.errmsg = "Expected end of line" - - def parseImpl( self, instring, loc, doActions=True ): - if loc<len(instring): - if instring[loc] == "\n": - return loc+1, "\n" - else: - raise ParseException(instring, loc, self.errmsg, self) - elif loc == len(instring): - return loc+1, [] - else: - raise ParseException(instring, loc, self.errmsg, self) - -class StringStart(_PositionToken): - """ - Matches if current position is at the beginning of the parse string - """ - def __init__( self ): - super(StringStart,self).__init__() - self.errmsg = "Expected start of text" - - def parseImpl( self, instring, loc, doActions=True ): - if loc != 0: - # see if entire string up to here is just whitespace and ignoreables - if loc != self.preParse( instring, 0 ): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - -class StringEnd(_PositionToken): - """ - Matches if current position is at the end of the parse string - """ - def __init__( self ): - super(StringEnd,self).__init__() - self.errmsg = "Expected end of text" - - def parseImpl( self, instring, loc, doActions=True ): - if loc < len(instring): - raise ParseException(instring, loc, self.errmsg, self) - elif loc == len(instring): - return loc+1, [] - elif loc > len(instring): - return loc, [] - else: - raise ParseException(instring, loc, self.errmsg, self) - -class WordStart(_PositionToken): - """ - Matches if the current position is at the beginning of a Word, and - is not preceded by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordStart(alphanums)}. C{WordStart} will also match at the beginning of - the string being parsed, or at the beginning of a line. - """ - def __init__(self, wordChars = printables): - super(WordStart,self).__init__() - self.wordChars = set(wordChars) - self.errmsg = "Not at the start of a word" - - def parseImpl(self, instring, loc, doActions=True ): - if loc != 0: - if (instring[loc-1] in self.wordChars or - instring[loc] not in self.wordChars): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - -class WordEnd(_PositionToken): - """ - Matches if the current position is at the end of a Word, and - is not followed by any character in a given set of C{wordChars} - (default=C{printables}). To emulate the C{\b} behavior of regular expressions, - use C{WordEnd(alphanums)}. C{WordEnd} will also match at the end of - the string being parsed, or at the end of a line. - """ - def __init__(self, wordChars = printables): - super(WordEnd,self).__init__() - self.wordChars = set(wordChars) - self.skipWhitespace = False - self.errmsg = "Not at the end of a word" - - def parseImpl(self, instring, loc, doActions=True ): - instrlen = len(instring) - if instrlen>0 and loc<instrlen: - if (instring[loc] in self.wordChars or - instring[loc-1] not in self.wordChars): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - - -class ParseExpression(ParserElement): - """ - Abstract subclass of ParserElement, for combining and post-processing parsed tokens. - """ - def __init__( self, exprs, savelist = False ): - super(ParseExpression,self).__init__(savelist) - if isinstance( exprs, _generatorType ): - exprs = list(exprs) - - if isinstance( exprs, basestring ): - self.exprs = [ ParserElement._literalStringClass( exprs ) ] - elif isinstance( exprs, collections.Iterable ): - exprs = list(exprs) - # if sequence of strings provided, wrap with Literal - if all(isinstance(expr, basestring) for expr in exprs): - exprs = map(ParserElement._literalStringClass, exprs) - self.exprs = list(exprs) - else: - try: - self.exprs = list( exprs ) - except TypeError: - self.exprs = [ exprs ] - self.callPreparse = False - - def __getitem__( self, i ): - return self.exprs[i] - - def append( self, other ): - self.exprs.append( other ) - self.strRepr = None - return self - - def leaveWhitespace( self ): - """Extends C{leaveWhitespace} defined in base class, and also invokes C{leaveWhitespace} on - all contained expressions.""" - self.skipWhitespace = False - self.exprs = [ e.copy() for e in self.exprs ] - for e in self.exprs: - e.leaveWhitespace() - return self - - def ignore( self, other ): - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - super( ParseExpression, self).ignore( other ) - for e in self.exprs: - e.ignore( self.ignoreExprs[-1] ) - else: - super( ParseExpression, self).ignore( other ) - for e in self.exprs: - e.ignore( self.ignoreExprs[-1] ) - return self - - def __str__( self ): - try: - return super(ParseExpression,self).__str__() - except Exception: - pass - - if self.strRepr is None: - self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.exprs) ) - return self.strRepr - - def streamline( self ): - super(ParseExpression,self).streamline() - - for e in self.exprs: - e.streamline() - - # collapse nested And's of the form And( And( And( a,b), c), d) to And( a,b,c,d ) - # but only if there are no parse actions or resultsNames on the nested And's - # (likewise for Or's and MatchFirst's) - if ( len(self.exprs) == 2 ): - other = self.exprs[0] - if ( isinstance( other, self.__class__ ) and - not(other.parseAction) and - other.resultsName is None and - not other.debug ): - self.exprs = other.exprs[:] + [ self.exprs[1] ] - self.strRepr = None - self.mayReturnEmpty |= other.mayReturnEmpty - self.mayIndexError |= other.mayIndexError - - other = self.exprs[-1] - if ( isinstance( other, self.__class__ ) and - not(other.parseAction) and - other.resultsName is None and - not other.debug ): - self.exprs = self.exprs[:-1] + other.exprs[:] - self.strRepr = None - self.mayReturnEmpty |= other.mayReturnEmpty - self.mayIndexError |= other.mayIndexError - - self.errmsg = "Expected " + _ustr(self) - - return self - - def setResultsName( self, name, listAllMatches=False ): - ret = super(ParseExpression,self).setResultsName(name,listAllMatches) - return ret - - def validate( self, validateTrace=[] ): - tmp = validateTrace[:]+[self] - for e in self.exprs: - e.validate(tmp) - self.checkRecursion( [] ) - - def copy(self): - ret = super(ParseExpression,self).copy() - ret.exprs = [e.copy() for e in self.exprs] - return ret - -class And(ParseExpression): - """ - Requires all given C{ParseExpression}s to be found in the given order. - Expressions may be separated by whitespace. - May be constructed using the C{'+'} operator. - May also be constructed using the C{'-'} operator, which will suppress backtracking. - - Example:: - integer = Word(nums) - name_expr = OneOrMore(Word(alphas)) - - expr = And([integer("id"),name_expr("name"),integer("age")]) - # more easily written as: - expr = integer("id") + name_expr("name") + integer("age") - """ - - class _ErrorStop(Empty): - def __init__(self, *args, **kwargs): - super(And._ErrorStop,self).__init__(*args, **kwargs) - self.name = '-' - self.leaveWhitespace() - - def __init__( self, exprs, savelist = True ): - super(And,self).__init__(exprs, savelist) - self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) - self.setWhitespaceChars( self.exprs[0].whiteChars ) - self.skipWhitespace = self.exprs[0].skipWhitespace - self.callPreparse = True - - def parseImpl( self, instring, loc, doActions=True ): - # pass False as last arg to _parse for first element, since we already - # pre-parsed the string as part of our And pre-parsing - loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False ) - errorStop = False - for e in self.exprs[1:]: - if isinstance(e, And._ErrorStop): - errorStop = True - continue - if errorStop: - try: - loc, exprtokens = e._parse( instring, loc, doActions ) - except ParseSyntaxException: - raise - except ParseBaseException as pe: - pe.__traceback__ = None - raise ParseSyntaxException._from_exception(pe) - except IndexError: - raise ParseSyntaxException(instring, len(instring), self.errmsg, self) - else: - loc, exprtokens = e._parse( instring, loc, doActions ) - if exprtokens or exprtokens.haskeys(): - resultlist += exprtokens - return loc, resultlist - - def __iadd__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #And( [ self, other ] ) - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - if not e.mayReturnEmpty: - break - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - -class Or(ParseExpression): - """ - Requires that at least one C{ParseExpression} is found. - If two expressions match, the expression that matches the longest string will be used. - May be constructed using the C{'^'} operator. - - Example:: - # construct Or using '^' operator - - number = Word(nums) ^ Combine(Word(nums) + '.' + Word(nums)) - print(number.searchString("123 3.1416 789")) - prints:: - [['123'], ['3.1416'], ['789']] - """ - def __init__( self, exprs, savelist = False ): - super(Or,self).__init__(exprs, savelist) - if self.exprs: - self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) - else: - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - maxExcLoc = -1 - maxException = None - matches = [] - for e in self.exprs: - try: - loc2 = e.tryParse( instring, loc ) - except ParseException as err: - err.__traceback__ = None - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - else: - # save match among all matches, to retry longest to shortest - matches.append((loc2, e)) - - if matches: - matches.sort(key=lambda x: -x[0]) - for _,e in matches: - try: - return e._parse( instring, loc, doActions ) - except ParseException as err: - err.__traceback__ = None - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - - if maxException is not None: - maxException.msg = self.errmsg - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - - def __ixor__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #Or( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " ^ ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class MatchFirst(ParseExpression): - """ - Requires that at least one C{ParseExpression} is found. - If two expressions match, the first one listed is the one that will match. - May be constructed using the C{'|'} operator. - - Example:: - # construct MatchFirst using '|' operator - - # watch the order of expressions to match - number = Word(nums) | Combine(Word(nums) + '.' + Word(nums)) - print(number.searchString("123 3.1416 789")) # Fail! -> [['123'], ['3'], ['1416'], ['789']] - - # put more selective expression first - number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums) - print(number.searchString("123 3.1416 789")) # Better -> [['123'], ['3.1416'], ['789']] - """ - def __init__( self, exprs, savelist = False ): - super(MatchFirst,self).__init__(exprs, savelist) - if self.exprs: - self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) - else: - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - maxExcLoc = -1 - maxException = None - for e in self.exprs: - try: - ret = e._parse( instring, loc, doActions ) - return ret - except ParseException as err: - if err.loc > maxExcLoc: - maxException = err - maxExcLoc = err.loc - except IndexError: - if len(instring) > maxExcLoc: - maxException = ParseException(instring,len(instring),e.errmsg,self) - maxExcLoc = len(instring) - - # only got here if no expression matched, raise exception for match that made it the furthest - else: - if maxException is not None: - maxException.msg = self.errmsg - raise maxException - else: - raise ParseException(instring, loc, "no defined alternatives to match", self) - - def __ior__(self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass( other ) - return self.append( other ) #MatchFirst( [ self, other ] ) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " | ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class Each(ParseExpression): - """ - Requires all given C{ParseExpression}s to be found, but in any order. - Expressions may be separated by whitespace. - May be constructed using the C{'&'} operator. - - Example:: - color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN") - shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON") - integer = Word(nums) - shape_attr = "shape:" + shape_type("shape") - posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn") - color_attr = "color:" + color("color") - size_attr = "size:" + integer("size") - - # use Each (using operator '&') to accept attributes in any order - # (shape and posn are required, color and size are optional) - shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr) - - shape_spec.runTests(''' - shape: SQUARE color: BLACK posn: 100, 120 - shape: CIRCLE size: 50 color: BLUE posn: 50,80 - color:GREEN size:20 shape:TRIANGLE posn:20,40 - ''' - ) - prints:: - shape: SQUARE color: BLACK posn: 100, 120 - ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']] - - color: BLACK - - posn: ['100', ',', '120'] - - x: 100 - - y: 120 - - shape: SQUARE - - - shape: CIRCLE size: 50 color: BLUE posn: 50,80 - ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']] - - color: BLUE - - posn: ['50', ',', '80'] - - x: 50 - - y: 80 - - shape: CIRCLE - - size: 50 - - - color: GREEN size: 20 shape: TRIANGLE posn: 20,40 - ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']] - - color: GREEN - - posn: ['20', ',', '40'] - - x: 20 - - y: 40 - - shape: TRIANGLE - - size: 20 - """ - def __init__( self, exprs, savelist = True ): - super(Each,self).__init__(exprs, savelist) - self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) - self.skipWhitespace = True - self.initExprGroups = True - - def parseImpl( self, instring, loc, doActions=True ): - if self.initExprGroups: - self.opt1map = dict((id(e.expr),e) for e in self.exprs if isinstance(e,Optional)) - opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ] - opt2 = [ e for e in self.exprs if e.mayReturnEmpty and not isinstance(e,Optional)] - self.optionals = opt1 + opt2 - self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ] - self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ] - self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ] - self.required += self.multirequired - self.initExprGroups = False - tmpLoc = loc - tmpReqd = self.required[:] - tmpOpt = self.optionals[:] - matchOrder = [] - - keepMatching = True - while keepMatching: - tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired - failed = [] - for e in tmpExprs: - try: - tmpLoc = e.tryParse( instring, tmpLoc ) - except ParseException: - failed.append(e) - else: - matchOrder.append(self.opt1map.get(id(e),e)) - if e in tmpReqd: - tmpReqd.remove(e) - elif e in tmpOpt: - tmpOpt.remove(e) - if len(failed) == len(tmpExprs): - keepMatching = False - - if tmpReqd: - missing = ", ".join(_ustr(e) for e in tmpReqd) - raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing ) - - # add any unmatched Optionals, in case they have default values defined - matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt] - - resultlist = [] - for e in matchOrder: - loc,results = e._parse(instring,loc,doActions) - resultlist.append(results) - - finalResults = sum(resultlist, ParseResults([])) - return loc, finalResults - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + " & ".join(_ustr(e) for e in self.exprs) + "}" - - return self.strRepr - - def checkRecursion( self, parseElementList ): - subRecCheckList = parseElementList[:] + [ self ] - for e in self.exprs: - e.checkRecursion( subRecCheckList ) - - -class ParseElementEnhance(ParserElement): - """ - Abstract subclass of C{ParserElement}, for combining and post-processing parsed tokens. - """ - def __init__( self, expr, savelist=False ): - super(ParseElementEnhance,self).__init__(savelist) - if isinstance( expr, basestring ): - if issubclass(ParserElement._literalStringClass, Token): - expr = ParserElement._literalStringClass(expr) - else: - expr = ParserElement._literalStringClass(Literal(expr)) - self.expr = expr - self.strRepr = None - if expr is not None: - self.mayIndexError = expr.mayIndexError - self.mayReturnEmpty = expr.mayReturnEmpty - self.setWhitespaceChars( expr.whiteChars ) - self.skipWhitespace = expr.skipWhitespace - self.saveAsList = expr.saveAsList - self.callPreparse = expr.callPreparse - self.ignoreExprs.extend(expr.ignoreExprs) - - def parseImpl( self, instring, loc, doActions=True ): - if self.expr is not None: - return self.expr._parse( instring, loc, doActions, callPreParse=False ) - else: - raise ParseException("",loc,self.errmsg,self) - - def leaveWhitespace( self ): - self.skipWhitespace = False - self.expr = self.expr.copy() - if self.expr is not None: - self.expr.leaveWhitespace() - return self - - def ignore( self, other ): - if isinstance( other, Suppress ): - if other not in self.ignoreExprs: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - else: - super( ParseElementEnhance, self).ignore( other ) - if self.expr is not None: - self.expr.ignore( self.ignoreExprs[-1] ) - return self - - def streamline( self ): - super(ParseElementEnhance,self).streamline() - if self.expr is not None: - self.expr.streamline() - return self - - def checkRecursion( self, parseElementList ): - if self in parseElementList: - raise RecursiveGrammarException( parseElementList+[self] ) - subRecCheckList = parseElementList[:] + [ self ] - if self.expr is not None: - self.expr.checkRecursion( subRecCheckList ) - - def validate( self, validateTrace=[] ): - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion( [] ) - - def __str__( self ): - try: - return super(ParseElementEnhance,self).__str__() - except Exception: - pass - - if self.strRepr is None and self.expr is not None: - self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) ) - return self.strRepr - - -class FollowedBy(ParseElementEnhance): - """ - Lookahead matching of the given parse expression. C{FollowedBy} - does I{not} advance the parsing position within the input string, it only - verifies that the specified parse expression matches at the current - position. C{FollowedBy} always returns a null token list. - - Example:: - # use FollowedBy to match a label only if it is followed by a ':' - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - - OneOrMore(attr_expr).parseString("shape: SQUARE color: BLACK posn: upper left").pprint() - prints:: - [['shape', 'SQUARE'], ['color', 'BLACK'], ['posn', 'upper left']] - """ - def __init__( self, expr ): - super(FollowedBy,self).__init__(expr) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - self.expr.tryParse( instring, loc ) - return loc, [] - - -class NotAny(ParseElementEnhance): - """ - Lookahead to disallow matching with the given parse expression. C{NotAny} - does I{not} advance the parsing position within the input string, it only - verifies that the specified parse expression does I{not} match at the current - position. Also, C{NotAny} does I{not} skip over leading whitespace. C{NotAny} - always returns a null token list. May be constructed using the '~' operator. - - Example:: - - """ - def __init__( self, expr ): - super(NotAny,self).__init__(expr) - #~ self.leaveWhitespace() - self.skipWhitespace = False # do NOT use self.leaveWhitespace(), don't want to propagate to exprs - self.mayReturnEmpty = True - self.errmsg = "Found unwanted token, "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - if self.expr.canParseNext(instring, loc): - raise ParseException(instring, loc, self.errmsg, self) - return loc, [] - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "~{" + _ustr(self.expr) + "}" - - return self.strRepr - -class _MultipleMatch(ParseElementEnhance): - def __init__( self, expr, stopOn=None): - super(_MultipleMatch, self).__init__(expr) - self.saveAsList = True - ender = stopOn - if isinstance(ender, basestring): - ender = ParserElement._literalStringClass(ender) - self.not_ender = ~ender if ender is not None else None - - def parseImpl( self, instring, loc, doActions=True ): - self_expr_parse = self.expr._parse - self_skip_ignorables = self._skipIgnorables - check_ender = self.not_ender is not None - if check_ender: - try_not_ender = self.not_ender.tryParse - - # must be at least one (but first see if we are the stopOn sentinel; - # if so, fail) - if check_ender: - try_not_ender(instring, loc) - loc, tokens = self_expr_parse( instring, loc, doActions, callPreParse=False ) - try: - hasIgnoreExprs = (not not self.ignoreExprs) - while 1: - if check_ender: - try_not_ender(instring, loc) - if hasIgnoreExprs: - preloc = self_skip_ignorables( instring, loc ) - else: - preloc = loc - loc, tmptokens = self_expr_parse( instring, preloc, doActions ) - if tmptokens or tmptokens.haskeys(): - tokens += tmptokens - except (ParseException,IndexError): - pass - - return loc, tokens - -class OneOrMore(_MultipleMatch): - """ - Repetition of one or more of the given expression. - - Parameters: - - expr - expression that must match one or more times - - stopOn - (default=C{None}) - expression for a terminating sentinel - (only required if the sentinel would ordinarily match the repetition - expression) - - Example:: - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) - - text = "shape: SQUARE posn: upper left color: BLACK" - OneOrMore(attr_expr).parseString(text).pprint() # Fail! read 'color' as data instead of next label -> [['shape', 'SQUARE color']] - - # use stopOn attribute for OneOrMore to avoid reading label string as part of the data - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - OneOrMore(attr_expr).parseString(text).pprint() # Better -> [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'BLACK']] - - # could also be written as - (attr_expr * (1,)).parseString(text).pprint() - """ - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "{" + _ustr(self.expr) + "}..." - - return self.strRepr - -class ZeroOrMore(_MultipleMatch): - """ - Optional repetition of zero or more of the given expression. - - Parameters: - - expr - expression that must match zero or more times - - stopOn - (default=C{None}) - expression for a terminating sentinel - (only required if the sentinel would ordinarily match the repetition - expression) - - Example: similar to L{OneOrMore} - """ - def __init__( self, expr, stopOn=None): - super(ZeroOrMore,self).__init__(expr, stopOn=stopOn) - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - try: - return super(ZeroOrMore, self).parseImpl(instring, loc, doActions) - except (ParseException,IndexError): - return loc, [] - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]..." - - return self.strRepr - -class _NullToken(object): - def __bool__(self): - return False - __nonzero__ = __bool__ - def __str__(self): - return "" - -_optionalNotMatched = _NullToken() -class Optional(ParseElementEnhance): - """ - Optional matching of the given expression. - - Parameters: - - expr - expression that must match zero or more times - - default (optional) - value to be returned if the optional expression is not found. - - Example:: - # US postal code can be a 5-digit zip, plus optional 4-digit qualifier - zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4))) - zip.runTests(''' - # traditional ZIP code - 12345 - - # ZIP+4 form - 12101-0001 - - # invalid ZIP - 98765- - ''') - prints:: - # traditional ZIP code - 12345 - ['12345'] - - # ZIP+4 form - 12101-0001 - ['12101-0001'] - - # invalid ZIP - 98765- - ^ - FAIL: Expected end of text (at char 5), (line:1, col:6) - """ - def __init__( self, expr, default=_optionalNotMatched ): - super(Optional,self).__init__( expr, savelist=False ) - self.saveAsList = self.expr.saveAsList - self.defaultValue = default - self.mayReturnEmpty = True - - def parseImpl( self, instring, loc, doActions=True ): - try: - loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) - except (ParseException,IndexError): - if self.defaultValue is not _optionalNotMatched: - if self.expr.resultsName: - tokens = ParseResults([ self.defaultValue ]) - tokens[self.expr.resultsName] = self.defaultValue - else: - tokens = [ self.defaultValue ] - else: - tokens = [] - return loc, tokens - - def __str__( self ): - if hasattr(self,"name"): - return self.name - - if self.strRepr is None: - self.strRepr = "[" + _ustr(self.expr) + "]" - - return self.strRepr - -class SkipTo(ParseElementEnhance): - """ - Token for skipping over all undefined text until the matched expression is found. - - Parameters: - - expr - target expression marking the end of the data to be skipped - - include - (default=C{False}) if True, the target expression is also parsed - (the skipped text and target expression are returned as a 2-element list). - - ignore - (default=C{None}) used to define grammars (typically quoted strings and - comments) that might contain false matches to the target expression - - failOn - (default=C{None}) define expressions that are not allowed to be - included in the skipped test; if found before the target expression is found, - the SkipTo is not a match - - Example:: - report = ''' - Outstanding Issues Report - 1 Jan 2000 - - # | Severity | Description | Days Open - -----+----------+-------------------------------------------+----------- - 101 | Critical | Intermittent system crash | 6 - 94 | Cosmetic | Spelling error on Login ('log|n') | 14 - 79 | Minor | System slow when running too many reports | 47 - ''' - integer = Word(nums) - SEP = Suppress('|') - # use SkipTo to simply match everything up until the next SEP - # - ignore quoted strings, so that a '|' character inside a quoted string does not match - # - parse action will call token.strip() for each matched token, i.e., the description body - string_data = SkipTo(SEP, ignore=quotedString) - string_data.setParseAction(tokenMap(str.strip)) - ticket_expr = (integer("issue_num") + SEP - + string_data("sev") + SEP - + string_data("desc") + SEP - + integer("days_open")) - - for tkt in ticket_expr.searchString(report): - print tkt.dump() - prints:: - ['101', 'Critical', 'Intermittent system crash', '6'] - - days_open: 6 - - desc: Intermittent system crash - - issue_num: 101 - - sev: Critical - ['94', 'Cosmetic', "Spelling error on Login ('log|n')", '14'] - - days_open: 14 - - desc: Spelling error on Login ('log|n') - - issue_num: 94 - - sev: Cosmetic - ['79', 'Minor', 'System slow when running too many reports', '47'] - - days_open: 47 - - desc: System slow when running too many reports - - issue_num: 79 - - sev: Minor - """ - def __init__( self, other, include=False, ignore=None, failOn=None ): - super( SkipTo, self ).__init__( other ) - self.ignoreExpr = ignore - self.mayReturnEmpty = True - self.mayIndexError = False - self.includeMatch = include - self.asList = False - if isinstance(failOn, basestring): - self.failOn = ParserElement._literalStringClass(failOn) - else: - self.failOn = failOn - self.errmsg = "No match found for "+_ustr(self.expr) - - def parseImpl( self, instring, loc, doActions=True ): - startloc = loc - instrlen = len(instring) - expr = self.expr - expr_parse = self.expr._parse - self_failOn_canParseNext = self.failOn.canParseNext if self.failOn is not None else None - self_ignoreExpr_tryParse = self.ignoreExpr.tryParse if self.ignoreExpr is not None else None - - tmploc = loc - while tmploc <= instrlen: - if self_failOn_canParseNext is not None: - # break if failOn expression matches - if self_failOn_canParseNext(instring, tmploc): - break - - if self_ignoreExpr_tryParse is not None: - # advance past ignore expressions - while 1: - try: - tmploc = self_ignoreExpr_tryParse(instring, tmploc) - except ParseBaseException: - break - - try: - expr_parse(instring, tmploc, doActions=False, callPreParse=False) - except (ParseException, IndexError): - # no match, advance loc in string - tmploc += 1 - else: - # matched skipto expr, done - break - - else: - # ran off the end of the input string without matching skipto expr, fail - raise ParseException(instring, loc, self.errmsg, self) - - # build up return values - loc = tmploc - skiptext = instring[startloc:loc] - skipresult = ParseResults(skiptext) - - if self.includeMatch: - loc, mat = expr_parse(instring,loc,doActions,callPreParse=False) - skipresult += mat - - return loc, skipresult - -class Forward(ParseElementEnhance): - """ - Forward declaration of an expression to be defined later - - used for recursive grammars, such as algebraic infix notation. - When the expression is known, it is assigned to the C{Forward} variable using the '<<' operator. - - Note: take care when assigning to C{Forward} not to overlook precedence of operators. - Specifically, '|' has a lower precedence than '<<', so that:: - fwdExpr << a | b | c - will actually be evaluated as:: - (fwdExpr << a) | b | c - thereby leaving b and c out as parseable alternatives. It is recommended that you - explicitly group the values inserted into the C{Forward}:: - fwdExpr << (a | b | c) - Converting to use the '<<=' operator instead will avoid this problem. - - See L{ParseResults.pprint} for an example of a recursive parser created using - C{Forward}. - """ - def __init__( self, other=None ): - super(Forward,self).__init__( other, savelist=False ) - - def __lshift__( self, other ): - if isinstance( other, basestring ): - other = ParserElement._literalStringClass(other) - self.expr = other - self.strRepr = None - self.mayIndexError = self.expr.mayIndexError - self.mayReturnEmpty = self.expr.mayReturnEmpty - self.setWhitespaceChars( self.expr.whiteChars ) - self.skipWhitespace = self.expr.skipWhitespace - self.saveAsList = self.expr.saveAsList - self.ignoreExprs.extend(self.expr.ignoreExprs) - return self - - def __ilshift__(self, other): - return self << other - - def leaveWhitespace( self ): - self.skipWhitespace = False - return self - - def streamline( self ): - if not self.streamlined: - self.streamlined = True - if self.expr is not None: - self.expr.streamline() - return self - - def validate( self, validateTrace=[] ): - if self not in validateTrace: - tmp = validateTrace[:]+[self] - if self.expr is not None: - self.expr.validate(tmp) - self.checkRecursion([]) - - def __str__( self ): - if hasattr(self,"name"): - return self.name - return self.__class__.__name__ + ": ..." - - # stubbed out for now - creates awful memory and perf issues - self._revertClass = self.__class__ - self.__class__ = _ForwardNoRecurse - try: - if self.expr is not None: - retString = _ustr(self.expr) - else: - retString = "None" - finally: - self.__class__ = self._revertClass - return self.__class__.__name__ + ": " + retString - - def copy(self): - if self.expr is not None: - return super(Forward,self).copy() - else: - ret = Forward() - ret <<= self - return ret - -class _ForwardNoRecurse(Forward): - def __str__( self ): - return "..." - -class TokenConverter(ParseElementEnhance): - """ - Abstract subclass of C{ParseExpression}, for converting parsed results. - """ - def __init__( self, expr, savelist=False ): - super(TokenConverter,self).__init__( expr )#, savelist ) - self.saveAsList = False - -class Combine(TokenConverter): - """ - Converter to concatenate all matching tokens to a single string. - By default, the matching patterns must also be contiguous in the input string; - this can be disabled by specifying C{'adjacent=False'} in the constructor. - - Example:: - real = Word(nums) + '.' + Word(nums) - print(real.parseString('3.1416')) # -> ['3', '.', '1416'] - # will also erroneously match the following - print(real.parseString('3. 1416')) # -> ['3', '.', '1416'] - - real = Combine(Word(nums) + '.' + Word(nums)) - print(real.parseString('3.1416')) # -> ['3.1416'] - # no match when there are internal spaces - print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...) - """ - def __init__( self, expr, joinString="", adjacent=True ): - super(Combine,self).__init__( expr ) - # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself - if adjacent: - self.leaveWhitespace() - self.adjacent = adjacent - self.skipWhitespace = True - self.joinString = joinString - self.callPreparse = True - - def ignore( self, other ): - if self.adjacent: - ParserElement.ignore(self, other) - else: - super( Combine, self).ignore( other ) - return self - - def postParse( self, instring, loc, tokenlist ): - retToks = tokenlist.copy() - del retToks[:] - retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults) - - if self.resultsName and retToks.haskeys(): - return [ retToks ] - else: - return retToks - -class Group(TokenConverter): - """ - Converter to return the matched tokens as a list - useful for returning tokens of C{L{ZeroOrMore}} and C{L{OneOrMore}} expressions. - - Example:: - ident = Word(alphas) - num = Word(nums) - term = ident | num - func = ident + Optional(delimitedList(term)) - print(func.parseString("fn a,b,100")) # -> ['fn', 'a', 'b', '100'] - - func = ident + Group(Optional(delimitedList(term))) - print(func.parseString("fn a,b,100")) # -> ['fn', ['a', 'b', '100']] - """ - def __init__( self, expr ): - super(Group,self).__init__( expr ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - return [ tokenlist ] - -class Dict(TokenConverter): - """ - Converter to return a repetitive expression as a list, but also as a dictionary. - Each element can also be referenced using the first token in the expression as its key. - Useful for tabular report scraping when the first column can be used as a item key. - - Example:: - data_word = Word(alphas) - label = data_word + FollowedBy(':') - attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) - - text = "shape: SQUARE posn: upper left color: light blue texture: burlap" - attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - - # print attributes as plain groups - print(OneOrMore(attr_expr).parseString(text).dump()) - - # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names - result = Dict(OneOrMore(Group(attr_expr))).parseString(text) - print(result.dump()) - - # access named fields as dict entries, or output as dict - print(result['shape']) - print(result.asDict()) - prints:: - ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap'] - - [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] - - color: light blue - - posn: upper left - - shape: SQUARE - - texture: burlap - SQUARE - {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'} - See more examples at L{ParseResults} of accessing fields by results name. - """ - def __init__( self, expr ): - super(Dict,self).__init__( expr ) - self.saveAsList = True - - def postParse( self, instring, loc, tokenlist ): - for i,tok in enumerate(tokenlist): - if len(tok) == 0: - continue - ikey = tok[0] - if isinstance(ikey,int): - ikey = _ustr(tok[0]).strip() - if len(tok)==1: - tokenlist[ikey] = _ParseResultsWithOffset("",i) - elif len(tok)==2 and not isinstance(tok[1],ParseResults): - tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i) - else: - dictvalue = tok.copy() #ParseResults(i) - del dictvalue[0] - if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.haskeys()): - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i) - else: - tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i) - - if self.resultsName: - return [ tokenlist ] - else: - return tokenlist - - -class Suppress(TokenConverter): - """ - Converter for ignoring the results of a parsed expression. - - Example:: - source = "a, b, c,d" - wd = Word(alphas) - wd_list1 = wd + ZeroOrMore(',' + wd) - print(wd_list1.parseString(source)) - - # often, delimiters that are useful during parsing are just in the - # way afterward - use Suppress to keep them out of the parsed output - wd_list2 = wd + ZeroOrMore(Suppress(',') + wd) - print(wd_list2.parseString(source)) - prints:: - ['a', ',', 'b', ',', 'c', ',', 'd'] - ['a', 'b', 'c', 'd'] - (See also L{delimitedList}.) - """ - def postParse( self, instring, loc, tokenlist ): - return [] - - def suppress( self ): - return self - - -class OnlyOnce(object): - """ - Wrapper for parse actions, to ensure they are only called once. - """ - def __init__(self, methodCall): - self.callable = _trim_arity(methodCall) - self.called = False - def __call__(self,s,l,t): - if not self.called: - results = self.callable(s,l,t) - self.called = True - return results - raise ParseException(s,l,"") - def reset(self): - self.called = False - -def traceParseAction(f): - """ - Decorator for debugging parse actions. - - When the parse action is called, this decorator will print C{">> entering I{method-name}(line:I{current_source_line}, I{parse_location}, I{matched_tokens})".} - When the parse action completes, the decorator will print C{"<<"} followed by the returned value, or any exception that the parse action raised. - - Example:: - wd = Word(alphas) - - @traceParseAction - def remove_duplicate_chars(tokens): - return ''.join(sorted(set(''.join(tokens))) - - wds = OneOrMore(wd).setParseAction(remove_duplicate_chars) - print(wds.parseString("slkdjs sld sldd sdlf sdljf")) - prints:: - >>entering remove_duplicate_chars(line: 'slkdjs sld sldd sdlf sdljf', 0, (['slkdjs', 'sld', 'sldd', 'sdlf', 'sdljf'], {})) - <<leaving remove_duplicate_chars (ret: 'dfjkls') - ['dfjkls'] - """ - f = _trim_arity(f) - def z(*paArgs): - thisFunc = f.__name__ - s,l,t = paArgs[-3:] - if len(paArgs)>3: - thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc - sys.stderr.write( ">>entering %s(line: '%s', %d, %r)\n" % (thisFunc,line(l,s),l,t) ) - try: - ret = f(*paArgs) - except Exception as exc: - sys.stderr.write( "<<leaving %s (exception: %s)\n" % (thisFunc,exc) ) - raise - sys.stderr.write( "<<leaving %s (ret: %r)\n" % (thisFunc,ret) ) - return ret - try: - z.__name__ = f.__name__ - except AttributeError: - pass - return z - -# -# global helpers -# -def delimitedList( expr, delim=",", combine=False ): - """ - Helper to define a delimited list of expressions - the delimiter defaults to ','. - By default, the list elements and delimiters can have intervening whitespace, and - comments, but this can be overridden by passing C{combine=True} in the constructor. - If C{combine} is set to C{True}, the matching tokens are returned as a single token - string, with the delimiters included; otherwise, the matching tokens are returned - as a list of tokens, with the delimiters suppressed. - - Example:: - delimitedList(Word(alphas)).parseString("aa,bb,cc") # -> ['aa', 'bb', 'cc'] - delimitedList(Word(hexnums), delim=':', combine=True).parseString("AA:BB:CC:DD:EE") # -> ['AA:BB:CC:DD:EE'] - """ - dlName = _ustr(expr)+" ["+_ustr(delim)+" "+_ustr(expr)+"]..." - if combine: - return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName) - else: - return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName) - -def countedArray( expr, intExpr=None ): - """ - Helper to define a counted list of expressions. - This helper defines a pattern of the form:: - integer expr expr expr... - where the leading integer tells how many expr expressions follow. - The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed. - - If C{intExpr} is specified, it should be a pyparsing expression that produces an integer value. - - Example:: - countedArray(Word(alphas)).parseString('2 ab cd ef') # -> ['ab', 'cd'] - - # in this parser, the leading integer value is given in binary, - # '10' indicating that 2 values are in the array - binaryConstant = Word('01').setParseAction(lambda t: int(t[0], 2)) - countedArray(Word(alphas), intExpr=binaryConstant).parseString('10 ab cd ef') # -> ['ab', 'cd'] - """ - arrayExpr = Forward() - def countFieldParseAction(s,l,t): - n = t[0] - arrayExpr << (n and Group(And([expr]*n)) or Group(empty)) - return [] - if intExpr is None: - intExpr = Word(nums).setParseAction(lambda t:int(t[0])) - else: - intExpr = intExpr.copy() - intExpr.setName("arrayLen") - intExpr.addParseAction(countFieldParseAction, callDuringTry=True) - return ( intExpr + arrayExpr ).setName('(len) ' + _ustr(expr) + '...') - -def _flatten(L): - ret = [] - for i in L: - if isinstance(i,list): - ret.extend(_flatten(i)) - else: - ret.append(i) - return ret - -def matchPreviousLiteral(expr): - """ - Helper to define an expression that is indirectly defined from - the tokens matched in a previous expression, that is, it looks - for a 'repeat' of a previous expression. For example:: - first = Word(nums) - second = matchPreviousLiteral(first) - matchExpr = first + ":" + second - will match C{"1:1"}, but not C{"1:2"}. Because this matches a - previous literal, will also match the leading C{"1:1"} in C{"1:10"}. - If this is not desired, use C{matchPreviousExpr}. - Do I{not} use with packrat parsing enabled. - """ - rep = Forward() - def copyTokenToRepeater(s,l,t): - if t: - if len(t) == 1: - rep << t[0] - else: - # flatten t tokens - tflat = _flatten(t.asList()) - rep << And(Literal(tt) for tt in tflat) - else: - rep << Empty() - expr.addParseAction(copyTokenToRepeater, callDuringTry=True) - rep.setName('(prev) ' + _ustr(expr)) - return rep - -def matchPreviousExpr(expr): - """ - Helper to define an expression that is indirectly defined from - the tokens matched in a previous expression, that is, it looks - for a 'repeat' of a previous expression. For example:: - first = Word(nums) - second = matchPreviousExpr(first) - matchExpr = first + ":" + second - will match C{"1:1"}, but not C{"1:2"}. Because this matches by - expressions, will I{not} match the leading C{"1:1"} in C{"1:10"}; - the expressions are evaluated first, and then compared, so - C{"1"} is compared with C{"10"}. - Do I{not} use with packrat parsing enabled. - """ - rep = Forward() - e2 = expr.copy() - rep <<= e2 - def copyTokenToRepeater(s,l,t): - matchTokens = _flatten(t.asList()) - def mustMatchTheseTokens(s,l,t): - theseTokens = _flatten(t.asList()) - if theseTokens != matchTokens: - raise ParseException("",0,"") - rep.setParseAction( mustMatchTheseTokens, callDuringTry=True ) - expr.addParseAction(copyTokenToRepeater, callDuringTry=True) - rep.setName('(prev) ' + _ustr(expr)) - return rep - -def _escapeRegexRangeChars(s): - #~ escape these chars: ^-] - for c in r"\^-]": - s = s.replace(c,_bslash+c) - s = s.replace("\n",r"\n") - s = s.replace("\t",r"\t") - return _ustr(s) - -def oneOf( strs, caseless=False, useRegex=True ): - """ - Helper to quickly define a set of alternative Literals, and makes sure to do - longest-first testing when there is a conflict, regardless of the input order, - but returns a C{L{MatchFirst}} for best performance. - - Parameters: - - strs - a string of space-delimited literals, or a collection of string literals - - caseless - (default=C{False}) - treat all literals as caseless - - useRegex - (default=C{True}) - as an optimization, will generate a Regex - object; otherwise, will generate a C{MatchFirst} object (if C{caseless=True}, or - if creating a C{Regex} raises an exception) - - Example:: - comp_oper = oneOf("< = > <= >= !=") - var = Word(alphas) - number = Word(nums) - term = var | number - comparison_expr = term + comp_oper + term - print(comparison_expr.searchString("B = 12 AA=23 B<=AA AA>12")) - prints:: - [['B', '=', '12'], ['AA', '=', '23'], ['B', '<=', 'AA'], ['AA', '>', '12']] - """ - if caseless: - isequal = ( lambda a,b: a.upper() == b.upper() ) - masks = ( lambda a,b: b.upper().startswith(a.upper()) ) - parseElementClass = CaselessLiteral - else: - isequal = ( lambda a,b: a == b ) - masks = ( lambda a,b: b.startswith(a) ) - parseElementClass = Literal - - symbols = [] - if isinstance(strs,basestring): - symbols = strs.split() - elif isinstance(strs, collections.Iterable): - symbols = list(strs) - else: - warnings.warn("Invalid argument to oneOf, expected string or iterable", - SyntaxWarning, stacklevel=2) - if not symbols: - return NoMatch() - - i = 0 - while i < len(symbols)-1: - cur = symbols[i] - for j,other in enumerate(symbols[i+1:]): - if ( isequal(other, cur) ): - del symbols[i+j+1] - break - elif ( masks(cur, other) ): - del symbols[i+j+1] - symbols.insert(i,other) - cur = other - break - else: - i += 1 - - if not caseless and useRegex: - #~ print (strs,"->", "|".join( [ _escapeRegexChars(sym) for sym in symbols] )) - try: - if len(symbols)==len("".join(symbols)): - return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols)) - else: - return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols)) - except Exception: - warnings.warn("Exception creating Regex for oneOf, building MatchFirst", - SyntaxWarning, stacklevel=2) - - - # last resort, just use MatchFirst - return MatchFirst(parseElementClass(sym) for sym in symbols).setName(' | '.join(symbols)) - -def dictOf( key, value ): - """ - Helper to easily and clearly define a dictionary by specifying the respective patterns - for the key and value. Takes care of defining the C{L{Dict}}, C{L{ZeroOrMore}}, and C{L{Group}} tokens - in the proper order. The key pattern can include delimiting markers or punctuation, - as long as they are suppressed, thereby leaving the significant key text. The value - pattern can include named results, so that the C{Dict} results can include named token - fields. - - Example:: - text = "shape: SQUARE posn: upper left color: light blue texture: burlap" - attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) - print(OneOrMore(attr_expr).parseString(text).dump()) - - attr_label = label - attr_value = Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join) - - # similar to Dict, but simpler call format - result = dictOf(attr_label, attr_value).parseString(text) - print(result.dump()) - print(result['shape']) - print(result.shape) # object attribute access works too - print(result.asDict()) - prints:: - [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] - - color: light blue - - posn: upper left - - shape: SQUARE - - texture: burlap - SQUARE - SQUARE - {'color': 'light blue', 'shape': 'SQUARE', 'posn': 'upper left', 'texture': 'burlap'} - """ - return Dict( ZeroOrMore( Group ( key + value ) ) ) - -def originalTextFor(expr, asString=True): - """ - Helper to return the original, untokenized text for a given expression. Useful to - restore the parsed fields of an HTML start tag into the raw tag text itself, or to - revert separate tokens with intervening whitespace back to the original matching - input text. By default, returns astring containing the original parsed text. - - If the optional C{asString} argument is passed as C{False}, then the return value is a - C{L{ParseResults}} containing any results names that were originally matched, and a - single token containing the original matched text from the input string. So if - the expression passed to C{L{originalTextFor}} contains expressions with defined - results names, you must set C{asString} to C{False} if you want to preserve those - results name values. - - Example:: - src = "this is test <b> bold <i>text</i> </b> normal text " - for tag in ("b","i"): - opener,closer = makeHTMLTags(tag) - patt = originalTextFor(opener + SkipTo(closer) + closer) - print(patt.searchString(src)[0]) - prints:: - ['<b> bold <i>text</i> </b>'] - ['<i>text</i>'] - """ - locMarker = Empty().setParseAction(lambda s,loc,t: loc) - endlocMarker = locMarker.copy() - endlocMarker.callPreparse = False - matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end") - if asString: - extractText = lambda s,l,t: s[t._original_start:t._original_end] - else: - def extractText(s,l,t): - t[:] = [s[t.pop('_original_start'):t.pop('_original_end')]] - matchExpr.setParseAction(extractText) - matchExpr.ignoreExprs = expr.ignoreExprs - return matchExpr - -def ungroup(expr): - """ - Helper to undo pyparsing's default grouping of And expressions, even - if all but one are non-empty. - """ - return TokenConverter(expr).setParseAction(lambda t:t[0]) - -def locatedExpr(expr): - """ - Helper to decorate a returned token with its starting and ending locations in the input string. - This helper adds the following results names: - - locn_start = location where matched expression begins - - locn_end = location where matched expression ends - - value = the actual parsed results - - Be careful if the input text contains C{<TAB>} characters, you may want to call - C{L{ParserElement.parseWithTabs}} - - Example:: - wd = Word(alphas) - for match in locatedExpr(wd).searchString("ljsdf123lksdjjf123lkkjj1222"): - print(match) - prints:: - [[0, 'ljsdf', 5]] - [[8, 'lksdjjf', 15]] - [[18, 'lkkjj', 23]] - """ - locator = Empty().setParseAction(lambda s,l,t: l) - return Group(locator("locn_start") + expr("value") + locator.copy().leaveWhitespace()("locn_end")) - - -# convenience constants for positional expressions -empty = Empty().setName("empty") -lineStart = LineStart().setName("lineStart") -lineEnd = LineEnd().setName("lineEnd") -stringStart = StringStart().setName("stringStart") -stringEnd = StringEnd().setName("stringEnd") - -_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1]) -_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16))) -_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8))) -_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | Word(printables, excludeChars=r'\]', exact=1) | Regex(r"\w", re.UNICODE) -_charRange = Group(_singleChar + Suppress("-") + _singleChar) -_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]" - -def srange(s): - r""" - Helper to easily define string ranges for use in Word construction. Borrows - syntax from regexp '[]' string range definitions:: - srange("[0-9]") -> "0123456789" - srange("[a-z]") -> "abcdefghijklmnopqrstuvwxyz" - srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_" - The input string must be enclosed in []'s, and the returned string is the expanded - character set joined into a single string. - The values enclosed in the []'s may be: - - a single character - - an escaped character with a leading backslash (such as C{\-} or C{\]}) - - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) - (C{\0x##} is also supported for backwards compatibility) - - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character) - - a range of any of the above, separated by a dash (C{'a-z'}, etc.) - - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.) - """ - _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1)) - try: - return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body) - except Exception: - return "" - -def matchOnlyAtCol(n): - """ - Helper method for defining parse actions that require matching at a specific - column in the input text. - """ - def verifyCol(strg,locn,toks): - if col(locn,strg) != n: - raise ParseException(strg,locn,"matched token not at column %d" % n) - return verifyCol - -def replaceWith(replStr): - """ - Helper method for common parse actions that simply return a literal value. Especially - useful when used with C{L{transformString<ParserElement.transformString>}()}. - - Example:: - num = Word(nums).setParseAction(lambda toks: int(toks[0])) - na = oneOf("N/A NA").setParseAction(replaceWith(math.nan)) - term = na | num - - OneOrMore(term).parseString("324 234 N/A 234") # -> [324, 234, nan, 234] - """ - return lambda s,l,t: [replStr] - -def removeQuotes(s,l,t): - """ - Helper parse action for removing quotation marks from parsed quoted strings. - - Example:: - # by default, quotation marks are included in parsed results - quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["'Now is the Winter of our Discontent'"] - - # use removeQuotes to strip quotation marks from parsed results - quotedString.setParseAction(removeQuotes) - quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["Now is the Winter of our Discontent"] - """ - return t[0][1:-1] - -def tokenMap(func, *args): - """ - Helper to define a parse action by mapping a function to all elements of a ParseResults list.If any additional - args are passed, they are forwarded to the given function as additional arguments after - the token, as in C{hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))}, which will convert the - parsed data to an integer using base 16. - - Example (compare the last to example in L{ParserElement.transformString}:: - hex_ints = OneOrMore(Word(hexnums)).setParseAction(tokenMap(int, 16)) - hex_ints.runTests(''' - 00 11 22 aa FF 0a 0d 1a - ''') - - upperword = Word(alphas).setParseAction(tokenMap(str.upper)) - OneOrMore(upperword).runTests(''' - my kingdom for a horse - ''') - - wd = Word(alphas).setParseAction(tokenMap(str.title)) - OneOrMore(wd).setParseAction(' '.join).runTests(''' - now is the winter of our discontent made glorious summer by this sun of york - ''') - prints:: - 00 11 22 aa FF 0a 0d 1a - [0, 17, 34, 170, 255, 10, 13, 26] - - my kingdom for a horse - ['MY', 'KINGDOM', 'FOR', 'A', 'HORSE'] - - now is the winter of our discontent made glorious summer by this sun of york - ['Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York'] - """ - def pa(s,l,t): - return [func(tokn, *args) for tokn in t] - - try: - func_name = getattr(func, '__name__', - getattr(func, '__class__').__name__) - except Exception: - func_name = str(func) - pa.__name__ = func_name - - return pa - -upcaseTokens = tokenMap(lambda t: _ustr(t).upper()) -"""(Deprecated) Helper parse action to convert tokens to upper case. Deprecated in favor of L{pyparsing_common.upcaseTokens}""" - -downcaseTokens = tokenMap(lambda t: _ustr(t).lower()) -"""(Deprecated) Helper parse action to convert tokens to lower case. Deprecated in favor of L{pyparsing_common.downcaseTokens}""" - -def _makeTags(tagStr, xml): - """Internal helper to construct opening and closing tag expressions, given a tag name""" - if isinstance(tagStr,basestring): - resname = tagStr - tagStr = Keyword(tagStr, caseless=not xml) - else: - resname = tagStr.name - - tagAttrName = Word(alphas,alphanums+"_-:") - if (xml): - tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes ) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - else: - printablesLessRAbrack = "".join(c for c in printables if c not in ">") - tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack) - openTag = Suppress("<") + tagStr("tag") + \ - Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \ - Optional( Suppress("=") + tagAttrValue ) ))) + \ - Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") - closeTag = Combine(_L("</") + tagStr + ">") - - openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % resname) - closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("</%s>" % resname) - openTag.tag = resname - closeTag.tag = resname - return openTag, closeTag - -def makeHTMLTags(tagStr): - """ - Helper to construct opening and closing tag expressions for HTML, given a tag name. Matches - tags in either upper or lower case, attributes with namespaces and with quoted or unquoted values. - - Example:: - text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>' - # makeHTMLTags returns pyparsing expressions for the opening and closing tags as a 2-tuple - a,a_end = makeHTMLTags("A") - link_expr = a + SkipTo(a_end)("link_text") + a_end - - for link in link_expr.searchString(text): - # attributes in the <A> tag (like "href" shown here) are also accessible as named results - print(link.link_text, '->', link.href) - prints:: - pyparsing -> http://pyparsing.wikispaces.com - """ - return _makeTags( tagStr, False ) - -def makeXMLTags(tagStr): - """ - Helper to construct opening and closing tag expressions for XML, given a tag name. Matches - tags only in the given upper/lower case. - - Example: similar to L{makeHTMLTags} - """ - return _makeTags( tagStr, True ) - -def withAttribute(*args,**attrDict): - """ - Helper to create a validating parse action to be used with start tags created - with C{L{makeXMLTags}} or C{L{makeHTMLTags}}. Use C{withAttribute} to qualify a starting tag - with a required attribute value, to avoid false matches on common tags such as - C{<TD>} or C{<DIV>}. - - Call C{withAttribute} with a series of attribute names and values. Specify the list - of filter attributes names and values as: - - keyword arguments, as in C{(align="right")}, or - - as an explicit dict with C{**} operator, when an attribute name is also a Python - reserved word, as in C{**{"class":"Customer", "align":"right"}} - - a list of name-value tuples, as in ( ("ns1:class", "Customer"), ("ns2:align","right") ) - For attribute names with a namespace prefix, you must use the second form. Attribute - names are matched insensitive to upper/lower case. - - If just testing for C{class} (with or without a namespace), use C{L{withClass}}. - - To verify that the attribute exists, but without specifying a value, pass - C{withAttribute.ANY_VALUE} as the value. - - Example:: - html = ''' - <div> - Some text - <div type="grid">1 4 0 1 0</div> - <div type="graph">1,3 2,3 1,1</div> - <div>this has no type</div> - </div> - - ''' - div,div_end = makeHTMLTags("div") - - # only match div tag having a type attribute with value "grid" - div_grid = div().setParseAction(withAttribute(type="grid")) - grid_expr = div_grid + SkipTo(div | div_end)("body") - for grid_header in grid_expr.searchString(html): - print(grid_header.body) - - # construct a match with any div tag having a type attribute, regardless of the value - div_any_type = div().setParseAction(withAttribute(type=withAttribute.ANY_VALUE)) - div_expr = div_any_type + SkipTo(div | div_end)("body") - for div_header in div_expr.searchString(html): - print(div_header.body) - prints:: - 1 4 0 1 0 - - 1 4 0 1 0 - 1,3 2,3 1,1 - """ - if args: - attrs = args[:] - else: - attrs = attrDict.items() - attrs = [(k,v) for k,v in attrs] - def pa(s,l,tokens): - for attrName,attrValue in attrs: - if attrName not in tokens: - raise ParseException(s,l,"no matching attribute " + attrName) - if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue: - raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" % - (attrName, tokens[attrName], attrValue)) - return pa -withAttribute.ANY_VALUE = object() - -def withClass(classname, namespace=''): - """ - Simplified version of C{L{withAttribute}} when matching on a div class - made - difficult because C{class} is a reserved word in Python. - - Example:: - html = ''' - <div> - Some text - <div class="grid">1 4 0 1 0</div> - <div class="graph">1,3 2,3 1,1</div> - <div>this <div> has no class</div> - </div> - - ''' - div,div_end = makeHTMLTags("div") - div_grid = div().setParseAction(withClass("grid")) - - grid_expr = div_grid + SkipTo(div | div_end)("body") - for grid_header in grid_expr.searchString(html): - print(grid_header.body) - - div_any_type = div().setParseAction(withClass(withAttribute.ANY_VALUE)) - div_expr = div_any_type + SkipTo(div | div_end)("body") - for div_header in div_expr.searchString(html): - print(div_header.body) - prints:: - 1 4 0 1 0 - - 1 4 0 1 0 - 1,3 2,3 1,1 - """ - classattr = "%s:class" % namespace if namespace else "class" - return withAttribute(**{classattr : classname}) - -opAssoc = _Constants() -opAssoc.LEFT = object() -opAssoc.RIGHT = object() - -def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ): - """ - Helper method for constructing grammars of expressions made up of - operators working in a precedence hierarchy. Operators may be unary or - binary, left- or right-associative. Parse actions can also be attached - to operator expressions. The generated parser will also recognize the use - of parentheses to override operator precedences (see example below). - - Note: if you define a deep operator list, you may see performance issues - when using infixNotation. See L{ParserElement.enablePackrat} for a - mechanism to potentially improve your parser performance. - - Parameters: - - baseExpr - expression representing the most basic element for the nested - - opList - list of tuples, one for each operator precedence level in the - expression grammar; each tuple is of the form - (opExpr, numTerms, rightLeftAssoc, parseAction), where: - - opExpr is the pyparsing expression for the operator; - may also be a string, which will be converted to a Literal; - if numTerms is 3, opExpr is a tuple of two expressions, for the - two operators separating the 3 terms - - numTerms is the number of terms for this operator (must - be 1, 2, or 3) - - rightLeftAssoc is the indicator whether the operator is - right or left associative, using the pyparsing-defined - constants C{opAssoc.RIGHT} and C{opAssoc.LEFT}. - - parseAction is the parse action to be associated with - expressions matching this operator expression (the - parse action tuple member may be omitted) - - lpar - expression for matching left-parentheses (default=C{Suppress('(')}) - - rpar - expression for matching right-parentheses (default=C{Suppress(')')}) - - Example:: - # simple example of four-function arithmetic with ints and variable names - integer = pyparsing_common.signed_integer - varname = pyparsing_common.identifier - - arith_expr = infixNotation(integer | varname, - [ - ('-', 1, opAssoc.RIGHT), - (oneOf('* /'), 2, opAssoc.LEFT), - (oneOf('+ -'), 2, opAssoc.LEFT), - ]) - - arith_expr.runTests(''' - 5+3*6 - (5+3)*6 - -2--11 - ''', fullDump=False) - prints:: - 5+3*6 - [[5, '+', [3, '*', 6]]] - - (5+3)*6 - [[[5, '+', 3], '*', 6]] - - -2--11 - [[['-', 2], '-', ['-', 11]]] - """ - ret = Forward() - lastExpr = baseExpr | ( lpar + ret + rpar ) - for i,operDef in enumerate(opList): - opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4] - termName = "%s term" % opExpr if arity < 3 else "%s%s term" % opExpr - if arity == 3: - if opExpr is None or len(opExpr) != 2: - raise ValueError("if numterms=3, opExpr must be a tuple or list of two expressions") - opExpr1, opExpr2 = opExpr - thisExpr = Forward().setName(termName) - if rightLeftAssoc == opAssoc.LEFT: - if arity == 1: - matchExpr = FollowedBy(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) ) - else: - matchExpr = FollowedBy(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \ - Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - elif rightLeftAssoc == opAssoc.RIGHT: - if arity == 1: - # try to avoid LR with this extra test - if not isinstance(opExpr, Optional): - opExpr = Optional(opExpr) - matchExpr = FollowedBy(opExpr.expr + thisExpr) + Group( opExpr + thisExpr ) - elif arity == 2: - if opExpr is not None: - matchExpr = FollowedBy(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) ) - else: - matchExpr = FollowedBy(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) ) - elif arity == 3: - matchExpr = FollowedBy(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \ - Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr ) - else: - raise ValueError("operator must be unary (1), binary (2), or ternary (3)") - else: - raise ValueError("operator must indicate right or left associativity") - if pa: - matchExpr.setParseAction( pa ) - thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) - lastExpr = thisExpr - ret <<= lastExpr - return ret - -operatorPrecedence = infixNotation -"""(Deprecated) Former name of C{L{infixNotation}}, will be dropped in a future release.""" - -dblQuotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"').setName("string enclosed in double quotes") -sglQuotedString = Combine(Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("string enclosed in single quotes") -quotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"'| - Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("quotedString using single or double quotes") -unicodeString = Combine(_L('u') + quotedString.copy()).setName("unicode string literal") - -def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()): - """ - Helper method for defining nested lists enclosed in opening and closing - delimiters ("(" and ")" are the default). - - Parameters: - - opener - opening character for a nested list (default=C{"("}); can also be a pyparsing expression - - closer - closing character for a nested list (default=C{")"}); can also be a pyparsing expression - - content - expression for items within the nested lists (default=C{None}) - - ignoreExpr - expression for ignoring opening and closing delimiters (default=C{quotedString}) - - If an expression is not provided for the content argument, the nested - expression will capture all whitespace-delimited content between delimiters - as a list of separate values. - - Use the C{ignoreExpr} argument to define expressions that may contain - opening or closing characters that should not be treated as opening - or closing characters for nesting, such as quotedString or a comment - expression. Specify multiple expressions using an C{L{Or}} or C{L{MatchFirst}}. - The default is L{quotedString}, but if no expressions are to be ignored, - then pass C{None} for this argument. - - Example:: - data_type = oneOf("void int short long char float double") - decl_data_type = Combine(data_type + Optional(Word('*'))) - ident = Word(alphas+'_', alphanums+'_') - number = pyparsing_common.number - arg = Group(decl_data_type + ident) - LPAR,RPAR = map(Suppress, "()") - - code_body = nestedExpr('{', '}', ignoreExpr=(quotedString | cStyleComment)) - - c_function = (decl_data_type("type") - + ident("name") - + LPAR + Optional(delimitedList(arg), [])("args") + RPAR - + code_body("body")) - c_function.ignore(cStyleComment) - - source_code = ''' - int is_odd(int x) { - return (x%2); - } - - int dec_to_hex(char hchar) { - if (hchar >= '0' && hchar <= '9') { - return (ord(hchar)-ord('0')); - } else { - return (10+ord(hchar)-ord('A')); - } - } - ''' - for func in c_function.searchString(source_code): - print("%(name)s (%(type)s) args: %(args)s" % func) - - prints:: - is_odd (int) args: [['int', 'x']] - dec_to_hex (int) args: [['char', 'hchar']] - """ - if opener == closer: - raise ValueError("opening and closing strings cannot be the same") - if content is None: - if isinstance(opener,basestring) and isinstance(closer,basestring): - if len(opener) == 1 and len(closer)==1: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS - ).setParseAction(lambda t:t[0].strip())) - else: - if ignoreExpr is not None: - content = (Combine(OneOrMore(~ignoreExpr + - ~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) + - CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) - ).setParseAction(lambda t:t[0].strip())) - else: - raise ValueError("opening and closing arguments must be strings if no content expression is given") - ret = Forward() - if ignoreExpr is not None: - ret <<= Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) ) - else: - ret <<= Group( Suppress(opener) + ZeroOrMore( ret | content ) + Suppress(closer) ) - ret.setName('nested %s%s expression' % (opener,closer)) - return ret - -def indentedBlock(blockStatementExpr, indentStack, indent=True): - """ - Helper method for defining space-delimited indentation blocks, such as - those used to define block statements in Python source code. - - Parameters: - - blockStatementExpr - expression defining syntax of statement that - is repeated within the indented block - - indentStack - list created by caller to manage indentation stack - (multiple statementWithIndentedBlock expressions within a single grammar - should share a common indentStack) - - indent - boolean indicating whether block must be indented beyond the - the current level; set to False for block of left-most statements - (default=C{True}) - - A valid block must contain at least one C{blockStatement}. - - Example:: - data = ''' - def A(z): - A1 - B = 100 - G = A2 - A2 - A3 - B - def BB(a,b,c): - BB1 - def BBA(): - bba1 - bba2 - bba3 - C - D - def spam(x,y): - def eggs(z): - pass - ''' - - - indentStack = [1] - stmt = Forward() - - identifier = Word(alphas, alphanums) - funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":") - func_body = indentedBlock(stmt, indentStack) - funcDef = Group( funcDecl + func_body ) - - rvalue = Forward() - funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")") - rvalue << (funcCall | identifier | Word(nums)) - assignment = Group(identifier + "=" + rvalue) - stmt << ( funcDef | assignment | identifier ) - - module_body = OneOrMore(stmt) - - parseTree = module_body.parseString(data) - parseTree.pprint() - prints:: - [['def', - 'A', - ['(', 'z', ')'], - ':', - [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], - 'B', - ['def', - 'BB', - ['(', 'a', 'b', 'c', ')'], - ':', - [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], - 'C', - 'D', - ['def', - 'spam', - ['(', 'x', 'y', ')'], - ':', - [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] - """ - def checkPeerIndent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if curCol != indentStack[-1]: - if curCol > indentStack[-1]: - raise ParseFatalException(s,l,"illegal nesting") - raise ParseException(s,l,"not a peer entry") - - def checkSubIndent(s,l,t): - curCol = col(l,s) - if curCol > indentStack[-1]: - indentStack.append( curCol ) - else: - raise ParseException(s,l,"not a subentry") - - def checkUnindent(s,l,t): - if l >= len(s): return - curCol = col(l,s) - if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]): - raise ParseException(s,l,"not an unindent") - indentStack.pop() - - NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress()) - INDENT = (Empty() + Empty().setParseAction(checkSubIndent)).setName('INDENT') - PEER = Empty().setParseAction(checkPeerIndent).setName('') - UNDENT = Empty().setParseAction(checkUnindent).setName('UNINDENT') - if indent: - smExpr = Group( Optional(NL) + - #~ FollowedBy(blockStatementExpr) + - INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT) - else: - smExpr = Group( Optional(NL) + - (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) ) - blockStatementExpr.ignore(_bslash + LineEnd()) - return smExpr.setName('indented block') - -alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]") -punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]") - -anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:").setName('any tag')) -_htmlEntityMap = dict(zip("gt lt amp nbsp quot apos".split(),'><& "\'')) -commonHTMLEntity = Regex('&(?P<entity>' + '|'.join(_htmlEntityMap.keys()) +");").setName("common HTML entity") -def replaceHTMLEntity(t): - """Helper parser action to replace common HTML entities with their special characters""" - return _htmlEntityMap.get(t.entity) - -# it's easy to get these comment structures wrong - they're very common, so may as well make them available -cStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/').setName("C style comment") -"Comment of the form C{/* ... */}" - -htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment") -"Comment of the form C{<!-- ... -->}" - -restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line") -dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment") -"Comment of the form C{// ... (to end of line)}" - -cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment") -"Comment of either form C{L{cStyleComment}} or C{L{dblSlashComment}}" - -javaStyleComment = cppStyleComment -"Same as C{L{cppStyleComment}}" - -pythonStyleComment = Regex(r"#.*").setName("Python style comment") -"Comment of the form C{# ... (to end of line)}" - -_commasepitem = Combine(OneOrMore(Word(printables, excludeChars=',') + - Optional( Word(" \t") + - ~Literal(",") + ~LineEnd() ) ) ).streamline().setName("commaItem") -commaSeparatedList = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("commaSeparatedList") -"""(Deprecated) Predefined expression of 1 or more printable words or quoted strings, separated by commas. - This expression is deprecated in favor of L{pyparsing_common.comma_separated_list}.""" - -# some other useful expressions - using lower-case class name since we are really using this as a namespace -class pyparsing_common: - """ - Here are some common low-level expressions that may be useful in jump-starting parser development: - - numeric forms (L{integers<integer>}, L{reals<real>}, L{scientific notation<sci_real>}) - - common L{programming identifiers<identifier>} - - network addresses (L{MAC<mac_address>}, L{IPv4<ipv4_address>}, L{IPv6<ipv6_address>}) - - ISO8601 L{dates<iso8601_date>} and L{datetime<iso8601_datetime>} - - L{UUID<uuid>} - - L{comma-separated list<comma_separated_list>} - Parse actions: - - C{L{convertToInteger}} - - C{L{convertToFloat}} - - C{L{convertToDate}} - - C{L{convertToDatetime}} - - C{L{stripHTMLTags}} - - C{L{upcaseTokens}} - - C{L{downcaseTokens}} - - Example:: - pyparsing_common.number.runTests(''' - # any int or real number, returned as the appropriate type - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - ''') - - pyparsing_common.fnumber.runTests(''' - # any int or real number, returned as float - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - ''') - - pyparsing_common.hex_integer.runTests(''' - # hex numbers - 100 - FF - ''') - - pyparsing_common.fraction.runTests(''' - # fractions - 1/2 - -3/4 - ''') - - pyparsing_common.mixed_integer.runTests(''' - # mixed fractions - 1 - 1/2 - -3/4 - 1-3/4 - ''') - - import uuid - pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) - pyparsing_common.uuid.runTests(''' - # uuid - 12345678-1234-5678-1234-567812345678 - ''') - prints:: - # any int or real number, returned as the appropriate type - 100 - [100] - - -100 - [-100] - - +100 - [100] - - 3.14159 - [3.14159] - - 6.02e23 - [6.02e+23] - - 1e-12 - [1e-12] - - # any int or real number, returned as float - 100 - [100.0] - - -100 - [-100.0] - - +100 - [100.0] - - 3.14159 - [3.14159] - - 6.02e23 - [6.02e+23] - - 1e-12 - [1e-12] - - # hex numbers - 100 - [256] - - FF - [255] - - # fractions - 1/2 - [0.5] - - -3/4 - [-0.75] - - # mixed fractions - 1 - [1] - - 1/2 - [0.5] - - -3/4 - [-0.75] - - 1-3/4 - [1.75] - - # uuid - 12345678-1234-5678-1234-567812345678 - [UUID('12345678-1234-5678-1234-567812345678')] - """ - - convertToInteger = tokenMap(int) - """ - Parse action for converting parsed integers to Python int - """ - - convertToFloat = tokenMap(float) - """ - Parse action for converting parsed numbers to Python float - """ - - integer = Word(nums).setName("integer").setParseAction(convertToInteger) - """expression that parses an unsigned integer, returns an int""" - - hex_integer = Word(hexnums).setName("hex integer").setParseAction(tokenMap(int,16)) - """expression that parses a hexadecimal integer, returns an int""" - - signed_integer = Regex(r'[+-]?\d+').setName("signed integer").setParseAction(convertToInteger) - """expression that parses an integer with optional leading sign, returns an int""" - - fraction = (signed_integer().setParseAction(convertToFloat) + '/' + signed_integer().setParseAction(convertToFloat)).setName("fraction") - """fractional expression of an integer divided by an integer, returns a float""" - fraction.addParseAction(lambda t: t[0]/t[-1]) - - mixed_integer = (fraction | signed_integer + Optional(Optional('-').suppress() + fraction)).setName("fraction or mixed integer-fraction") - """mixed integer of the form 'integer - fraction', with optional leading integer, returns float""" - mixed_integer.addParseAction(sum) - - real = Regex(r'[+-]?\d+\.\d*').setName("real number").setParseAction(convertToFloat) - """expression that parses a floating point number and returns a float""" - - sci_real = Regex(r'[+-]?\d+([eE][+-]?\d+|\.\d*([eE][+-]?\d+)?)').setName("real number with scientific notation").setParseAction(convertToFloat) - """expression that parses a floating point number with optional scientific notation and returns a float""" - - # streamlining this expression makes the docs nicer-looking - number = (sci_real | real | signed_integer).streamline() - """any numeric expression, returns the corresponding Python type""" - - fnumber = Regex(r'[+-]?\d+\.?\d*([eE][+-]?\d+)?').setName("fnumber").setParseAction(convertToFloat) - """any int or real number, returned as float""" - - identifier = Word(alphas+'_', alphanums+'_').setName("identifier") - """typical code identifier (leading alpha or '_', followed by 0 or more alphas, nums, or '_')""" - - ipv4_address = Regex(r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}').setName("IPv4 address") - "IPv4 address (C{0.0.0.0 - 255.255.255.255})" - - _ipv6_part = Regex(r'[0-9a-fA-F]{1,4}').setName("hex_integer") - _full_ipv6_address = (_ipv6_part + (':' + _ipv6_part)*7).setName("full IPv6 address") - _short_ipv6_address = (Optional(_ipv6_part + (':' + _ipv6_part)*(0,6)) + "::" + Optional(_ipv6_part + (':' + _ipv6_part)*(0,6))).setName("short IPv6 address") - _short_ipv6_address.addCondition(lambda t: sum(1 for tt in t if pyparsing_common._ipv6_part.matches(tt)) < 8) - _mixed_ipv6_address = ("::ffff:" + ipv4_address).setName("mixed IPv6 address") - ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address") - "IPv6 address (long, short, or mixed form)" - - mac_address = Regex(r'[0-9a-fA-F]{2}([:.-])[0-9a-fA-F]{2}(?:\1[0-9a-fA-F]{2}){4}').setName("MAC address") - "MAC address xx:xx:xx:xx:xx (may also have '-' or '.' delimiters)" - - @staticmethod - def convertToDate(fmt="%Y-%m-%d"): - """ - Helper to create a parse action for converting parsed date string to Python datetime.date - - Params - - - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%d"}) - - Example:: - date_expr = pyparsing_common.iso8601_date.copy() - date_expr.setParseAction(pyparsing_common.convertToDate()) - print(date_expr.parseString("1999-12-31")) - prints:: - [datetime.date(1999, 12, 31)] - """ - def cvt_fn(s,l,t): - try: - return datetime.strptime(t[0], fmt).date() - except ValueError as ve: - raise ParseException(s, l, str(ve)) - return cvt_fn - - @staticmethod - def convertToDatetime(fmt="%Y-%m-%dT%H:%M:%S.%f"): - """ - Helper to create a parse action for converting parsed datetime string to Python datetime.datetime - - Params - - - fmt - format to be passed to datetime.strptime (default=C{"%Y-%m-%dT%H:%M:%S.%f"}) - - Example:: - dt_expr = pyparsing_common.iso8601_datetime.copy() - dt_expr.setParseAction(pyparsing_common.convertToDatetime()) - print(dt_expr.parseString("1999-12-31T23:59:59.999")) - prints:: - [datetime.datetime(1999, 12, 31, 23, 59, 59, 999000)] - """ - def cvt_fn(s,l,t): - try: - return datetime.strptime(t[0], fmt) - except ValueError as ve: - raise ParseException(s, l, str(ve)) - return cvt_fn - - iso8601_date = Regex(r'(?P<year>\d{4})(?:-(?P<month>\d\d)(?:-(?P<day>\d\d))?)?').setName("ISO8601 date") - "ISO8601 date (C{yyyy-mm-dd})" - - iso8601_datetime = Regex(r'(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d)[T ](?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d(\.\d*)?)?)?(?P<tz>Z|[+-]\d\d:?\d\d)?').setName("ISO8601 datetime") - "ISO8601 datetime (C{yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)}) - trailing seconds, milliseconds, and timezone optional; accepts separating C{'T'} or C{' '}" - - uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID") - "UUID (C{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})" - - _html_stripper = anyOpenTag.suppress() | anyCloseTag.suppress() - @staticmethod - def stripHTMLTags(s, l, tokens): - """ - Parse action to remove HTML tags from web page HTML source - - Example:: - # strip HTML links from normal text - text = '<td>More info at the <a href="http://pyparsing.wikispaces.com">pyparsing</a> wiki page</td>' - td,td_end = makeHTMLTags("TD") - table_text = td + SkipTo(td_end).setParseAction(pyparsing_common.stripHTMLTags)("body") + td_end - - print(table_text.parseString(text).body) # -> 'More info at the pyparsing wiki page' - """ - return pyparsing_common._html_stripper.transformString(tokens[0]) - - _commasepitem = Combine(OneOrMore(~Literal(",") + ~LineEnd() + Word(printables, excludeChars=',') - + Optional( White(" \t") ) ) ).streamline().setName("commaItem") - comma_separated_list = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("comma separated list") - """Predefined expression of 1 or more printable words or quoted strings, separated by commas.""" - - upcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).upper())) - """Parse action to convert tokens to upper case.""" - - downcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).lower())) - """Parse action to convert tokens to lower case.""" - - -if __name__ == "__main__": - - selectToken = CaselessLiteral("select") - fromToken = CaselessLiteral("from") - - ident = Word(alphas, alphanums + "_$") - - columnName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) - columnNameList = Group(delimitedList(columnName)).setName("columns") - columnSpec = ('*' | columnNameList) - - tableName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) - tableNameList = Group(delimitedList(tableName)).setName("tables") - - simpleSQL = selectToken("command") + columnSpec("columns") + fromToken + tableNameList("tables") - - # demo runTests method, including embedded comments in test string - simpleSQL.runTests(""" - # '*' as column list and dotted table name - select * from SYS.XYZZY - - # caseless match on "SELECT", and casts back to "select" - SELECT * from XYZZY, ABC - - # list of column names, and mixed case SELECT keyword - Select AA,BB,CC from Sys.dual - - # multiple tables - Select A, B, C from Sys.dual, Table2 - - # invalid SELECT keyword - should fail - Xelect A, B, C from Sys.dual - - # incomplete command - should fail - Select - - # invalid column name - should fail - Select ^^^ frox Sys.dual - - """) - - pyparsing_common.number.runTests(""" - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - """) - - # any int or real number, returned as float - pyparsing_common.fnumber.runTests(""" - 100 - -100 - +100 - 3.14159 - 6.02e23 - 1e-12 - """) - - pyparsing_common.hex_integer.runTests(""" - 100 - FF - """) - - import uuid - pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) - pyparsing_common.uuid.runTests(""" - 12345678-1234-5678-1234-567812345678 - """) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/six.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/six.py deleted file mode 100644 index 190c0239..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/_vendor/six.py +++ /dev/null @@ -1,868 +0,0 @@ -"""Utilities for writing code that runs on Python 2 and 3""" - -# Copyright (c) 2010-2015 Benjamin Peterson -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from __future__ import absolute_import - -import functools -import itertools -import operator -import sys -import types - -__author__ = "Benjamin Peterson <benjamin@python.org>" -__version__ = "1.10.0" - - -# Useful for very coarse version differentiation. -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 -PY34 = sys.version_info[0:2] >= (3, 4) - -if PY3: - string_types = str, - integer_types = int, - class_types = type, - text_type = str - binary_type = bytes - - MAXSIZE = sys.maxsize -else: - string_types = basestring, - integer_types = (int, long) - class_types = (type, types.ClassType) - text_type = unicode - binary_type = str - - if sys.platform.startswith("java"): - # Jython always uses 32 bits. - MAXSIZE = int((1 << 31) - 1) - else: - # It's possible to have sizeof(long) != sizeof(Py_ssize_t). - class X(object): - - def __len__(self): - return 1 << 31 - try: - len(X()) - except OverflowError: - # 32-bit - MAXSIZE = int((1 << 31) - 1) - else: - # 64-bit - MAXSIZE = int((1 << 63) - 1) - del X - - -def _add_doc(func, doc): - """Add documentation to a function.""" - func.__doc__ = doc - - -def _import_module(name): - """Import module, returning the module after the last dot.""" - __import__(name) - return sys.modules[name] - - -class _LazyDescr(object): - - def __init__(self, name): - self.name = name - - def __get__(self, obj, tp): - result = self._resolve() - setattr(obj, self.name, result) # Invokes __set__. - try: - # This is a bit ugly, but it avoids running this again by - # removing this descriptor. - delattr(obj.__class__, self.name) - except AttributeError: - pass - return result - - -class MovedModule(_LazyDescr): - - def __init__(self, name, old, new=None): - super(MovedModule, self).__init__(name) - if PY3: - if new is None: - new = name - self.mod = new - else: - self.mod = old - - def _resolve(self): - return _import_module(self.mod) - - def __getattr__(self, attr): - _module = self._resolve() - value = getattr(_module, attr) - setattr(self, attr, value) - return value - - -class _LazyModule(types.ModuleType): - - def __init__(self, name): - super(_LazyModule, self).__init__(name) - self.__doc__ = self.__class__.__doc__ - - def __dir__(self): - attrs = ["__doc__", "__name__"] - attrs += [attr.name for attr in self._moved_attributes] - return attrs - - # Subclasses should override this - _moved_attributes = [] - - -class MovedAttribute(_LazyDescr): - - def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): - super(MovedAttribute, self).__init__(name) - if PY3: - if new_mod is None: - new_mod = name - self.mod = new_mod - if new_attr is None: - if old_attr is None: - new_attr = name - else: - new_attr = old_attr - self.attr = new_attr - else: - self.mod = old_mod - if old_attr is None: - old_attr = name - self.attr = old_attr - - def _resolve(self): - module = _import_module(self.mod) - return getattr(module, self.attr) - - -class _SixMetaPathImporter(object): - - """ - A meta path importer to import six.moves and its submodules. - - This class implements a PEP302 finder and loader. It should be compatible - with Python 2.5 and all existing versions of Python3 - """ - - def __init__(self, six_module_name): - self.name = six_module_name - self.known_modules = {} - - def _add_module(self, mod, *fullnames): - for fullname in fullnames: - self.known_modules[self.name + "." + fullname] = mod - - def _get_module(self, fullname): - return self.known_modules[self.name + "." + fullname] - - def find_module(self, fullname, path=None): - if fullname in self.known_modules: - return self - return None - - def __get_module(self, fullname): - try: - return self.known_modules[fullname] - except KeyError: - raise ImportError("This loader does not know module " + fullname) - - def load_module(self, fullname): - try: - # in case of a reload - return sys.modules[fullname] - except KeyError: - pass - mod = self.__get_module(fullname) - if isinstance(mod, MovedModule): - mod = mod._resolve() - else: - mod.__loader__ = self - sys.modules[fullname] = mod - return mod - - def is_package(self, fullname): - """ - Return true, if the named module is a package. - - We need this method to get correct spec objects with - Python 3.4 (see PEP451) - """ - return hasattr(self.__get_module(fullname), "__path__") - - def get_code(self, fullname): - """Return None - - Required, if is_package is implemented""" - self.__get_module(fullname) # eventually raises ImportError - return None - get_source = get_code # same as get_code - -_importer = _SixMetaPathImporter(__name__) - - -class _MovedItems(_LazyModule): - - """Lazy loading of moved objects""" - __path__ = [] # mark as package - - -_moved_attributes = [ - MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), - MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), - MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), - MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), - MovedAttribute("intern", "__builtin__", "sys"), - MovedAttribute("map", "itertools", "builtins", "imap", "map"), - MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), - MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), - MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), - MovedAttribute("reduce", "__builtin__", "functools"), - MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), - MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("UserDict", "UserDict", "collections"), - MovedAttribute("UserList", "UserList", "collections"), - MovedAttribute("UserString", "UserString", "collections"), - MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), - MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), - MovedModule("copyreg", "copy_reg"), - MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), - MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), - MovedModule("html_parser", "HTMLParser", "html.parser"), - MovedModule("http_client", "httplib", "http.client"), - MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), - MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), - MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), - MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), - MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), - MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), - MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), - MovedModule("cPickle", "cPickle", "pickle"), - MovedModule("queue", "Queue"), - MovedModule("reprlib", "repr"), - MovedModule("socketserver", "SocketServer"), - MovedModule("_thread", "thread", "_thread"), - MovedModule("tkinter", "Tkinter"), - MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), - MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), - MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), - MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), - MovedModule("tkinter_tix", "Tix", "tkinter.tix"), - MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), - MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), - MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), - MovedModule("tkinter_colorchooser", "tkColorChooser", - "tkinter.colorchooser"), - MovedModule("tkinter_commondialog", "tkCommonDialog", - "tkinter.commondialog"), - MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), - MovedModule("tkinter_font", "tkFont", "tkinter.font"), - MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), - MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", - "tkinter.simpledialog"), - MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), - MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), - MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), - MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), - MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), - MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), -] -# Add windows specific modules. -if sys.platform == "win32": - _moved_attributes += [ - MovedModule("winreg", "_winreg"), - ] - -for attr in _moved_attributes: - setattr(_MovedItems, attr.name, attr) - if isinstance(attr, MovedModule): - _importer._add_module(attr, "moves." + attr.name) -del attr - -_MovedItems._moved_attributes = _moved_attributes - -moves = _MovedItems(__name__ + ".moves") -_importer._add_module(moves, "moves") - - -class Module_six_moves_urllib_parse(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_parse""" - - -_urllib_parse_moved_attributes = [ - MovedAttribute("ParseResult", "urlparse", "urllib.parse"), - MovedAttribute("SplitResult", "urlparse", "urllib.parse"), - MovedAttribute("parse_qs", "urlparse", "urllib.parse"), - MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), - MovedAttribute("urldefrag", "urlparse", "urllib.parse"), - MovedAttribute("urljoin", "urlparse", "urllib.parse"), - MovedAttribute("urlparse", "urlparse", "urllib.parse"), - MovedAttribute("urlsplit", "urlparse", "urllib.parse"), - MovedAttribute("urlunparse", "urlparse", "urllib.parse"), - MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), - MovedAttribute("quote", "urllib", "urllib.parse"), - MovedAttribute("quote_plus", "urllib", "urllib.parse"), - MovedAttribute("unquote", "urllib", "urllib.parse"), - MovedAttribute("unquote_plus", "urllib", "urllib.parse"), - MovedAttribute("urlencode", "urllib", "urllib.parse"), - MovedAttribute("splitquery", "urllib", "urllib.parse"), - MovedAttribute("splittag", "urllib", "urllib.parse"), - MovedAttribute("splituser", "urllib", "urllib.parse"), - MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), - MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), - MovedAttribute("uses_params", "urlparse", "urllib.parse"), - MovedAttribute("uses_query", "urlparse", "urllib.parse"), - MovedAttribute("uses_relative", "urlparse", "urllib.parse"), -] -for attr in _urllib_parse_moved_attributes: - setattr(Module_six_moves_urllib_parse, attr.name, attr) -del attr - -Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes - -_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), - "moves.urllib_parse", "moves.urllib.parse") - - -class Module_six_moves_urllib_error(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_error""" - - -_urllib_error_moved_attributes = [ - MovedAttribute("URLError", "urllib2", "urllib.error"), - MovedAttribute("HTTPError", "urllib2", "urllib.error"), - MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), -] -for attr in _urllib_error_moved_attributes: - setattr(Module_six_moves_urllib_error, attr.name, attr) -del attr - -Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes - -_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), - "moves.urllib_error", "moves.urllib.error") - - -class Module_six_moves_urllib_request(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_request""" - - -_urllib_request_moved_attributes = [ - MovedAttribute("urlopen", "urllib2", "urllib.request"), - MovedAttribute("install_opener", "urllib2", "urllib.request"), - MovedAttribute("build_opener", "urllib2", "urllib.request"), - MovedAttribute("pathname2url", "urllib", "urllib.request"), - MovedAttribute("url2pathname", "urllib", "urllib.request"), - MovedAttribute("getproxies", "urllib", "urllib.request"), - MovedAttribute("Request", "urllib2", "urllib.request"), - MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), - MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), - MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), - MovedAttribute("BaseHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), - MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), - MovedAttribute("FileHandler", "urllib2", "urllib.request"), - MovedAttribute("FTPHandler", "urllib2", "urllib.request"), - MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), - MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), - MovedAttribute("urlretrieve", "urllib", "urllib.request"), - MovedAttribute("urlcleanup", "urllib", "urllib.request"), - MovedAttribute("URLopener", "urllib", "urllib.request"), - MovedAttribute("FancyURLopener", "urllib", "urllib.request"), - MovedAttribute("proxy_bypass", "urllib", "urllib.request"), -] -for attr in _urllib_request_moved_attributes: - setattr(Module_six_moves_urllib_request, attr.name, attr) -del attr - -Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes - -_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), - "moves.urllib_request", "moves.urllib.request") - - -class Module_six_moves_urllib_response(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_response""" - - -_urllib_response_moved_attributes = [ - MovedAttribute("addbase", "urllib", "urllib.response"), - MovedAttribute("addclosehook", "urllib", "urllib.response"), - MovedAttribute("addinfo", "urllib", "urllib.response"), - MovedAttribute("addinfourl", "urllib", "urllib.response"), -] -for attr in _urllib_response_moved_attributes: - setattr(Module_six_moves_urllib_response, attr.name, attr) -del attr - -Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes - -_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), - "moves.urllib_response", "moves.urllib.response") - - -class Module_six_moves_urllib_robotparser(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_robotparser""" - - -_urllib_robotparser_moved_attributes = [ - MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), -] -for attr in _urllib_robotparser_moved_attributes: - setattr(Module_six_moves_urllib_robotparser, attr.name, attr) -del attr - -Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes - -_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), - "moves.urllib_robotparser", "moves.urllib.robotparser") - - -class Module_six_moves_urllib(types.ModuleType): - - """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" - __path__ = [] # mark as package - parse = _importer._get_module("moves.urllib_parse") - error = _importer._get_module("moves.urllib_error") - request = _importer._get_module("moves.urllib_request") - response = _importer._get_module("moves.urllib_response") - robotparser = _importer._get_module("moves.urllib_robotparser") - - def __dir__(self): - return ['parse', 'error', 'request', 'response', 'robotparser'] - -_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), - "moves.urllib") - - -def add_move(move): - """Add an item to six.moves.""" - setattr(_MovedItems, move.name, move) - - -def remove_move(name): - """Remove item from six.moves.""" - try: - delattr(_MovedItems, name) - except AttributeError: - try: - del moves.__dict__[name] - except KeyError: - raise AttributeError("no such move, %r" % (name,)) - - -if PY3: - _meth_func = "__func__" - _meth_self = "__self__" - - _func_closure = "__closure__" - _func_code = "__code__" - _func_defaults = "__defaults__" - _func_globals = "__globals__" -else: - _meth_func = "im_func" - _meth_self = "im_self" - - _func_closure = "func_closure" - _func_code = "func_code" - _func_defaults = "func_defaults" - _func_globals = "func_globals" - - -try: - advance_iterator = next -except NameError: - def advance_iterator(it): - return it.next() -next = advance_iterator - - -try: - callable = callable -except NameError: - def callable(obj): - return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) - - -if PY3: - def get_unbound_function(unbound): - return unbound - - create_bound_method = types.MethodType - - def create_unbound_method(func, cls): - return func - - Iterator = object -else: - def get_unbound_function(unbound): - return unbound.im_func - - def create_bound_method(func, obj): - return types.MethodType(func, obj, obj.__class__) - - def create_unbound_method(func, cls): - return types.MethodType(func, None, cls) - - class Iterator(object): - - def next(self): - return type(self).__next__(self) - - callable = callable -_add_doc(get_unbound_function, - """Get the function out of a possibly unbound function""") - - -get_method_function = operator.attrgetter(_meth_func) -get_method_self = operator.attrgetter(_meth_self) -get_function_closure = operator.attrgetter(_func_closure) -get_function_code = operator.attrgetter(_func_code) -get_function_defaults = operator.attrgetter(_func_defaults) -get_function_globals = operator.attrgetter(_func_globals) - - -if PY3: - def iterkeys(d, **kw): - return iter(d.keys(**kw)) - - def itervalues(d, **kw): - return iter(d.values(**kw)) - - def iteritems(d, **kw): - return iter(d.items(**kw)) - - def iterlists(d, **kw): - return iter(d.lists(**kw)) - - viewkeys = operator.methodcaller("keys") - - viewvalues = operator.methodcaller("values") - - viewitems = operator.methodcaller("items") -else: - def iterkeys(d, **kw): - return d.iterkeys(**kw) - - def itervalues(d, **kw): - return d.itervalues(**kw) - - def iteritems(d, **kw): - return d.iteritems(**kw) - - def iterlists(d, **kw): - return d.iterlists(**kw) - - viewkeys = operator.methodcaller("viewkeys") - - viewvalues = operator.methodcaller("viewvalues") - - viewitems = operator.methodcaller("viewitems") - -_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") -_add_doc(itervalues, "Return an iterator over the values of a dictionary.") -_add_doc(iteritems, - "Return an iterator over the (key, value) pairs of a dictionary.") -_add_doc(iterlists, - "Return an iterator over the (key, [values]) pairs of a dictionary.") - - -if PY3: - def b(s): - return s.encode("latin-1") - - def u(s): - return s - unichr = chr - import struct - int2byte = struct.Struct(">B").pack - del struct - byte2int = operator.itemgetter(0) - indexbytes = operator.getitem - iterbytes = iter - import io - StringIO = io.StringIO - BytesIO = io.BytesIO - _assertCountEqual = "assertCountEqual" - if sys.version_info[1] <= 1: - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" - else: - _assertRaisesRegex = "assertRaisesRegex" - _assertRegex = "assertRegex" -else: - def b(s): - return s - # Workaround for standalone backslash - - def u(s): - return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") - unichr = unichr - int2byte = chr - - def byte2int(bs): - return ord(bs[0]) - - def indexbytes(buf, i): - return ord(buf[i]) - iterbytes = functools.partial(itertools.imap, ord) - import StringIO - StringIO = BytesIO = StringIO.StringIO - _assertCountEqual = "assertItemsEqual" - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" -_add_doc(b, """Byte literal""") -_add_doc(u, """Text literal""") - - -def assertCountEqual(self, *args, **kwargs): - return getattr(self, _assertCountEqual)(*args, **kwargs) - - -def assertRaisesRegex(self, *args, **kwargs): - return getattr(self, _assertRaisesRegex)(*args, **kwargs) - - -def assertRegex(self, *args, **kwargs): - return getattr(self, _assertRegex)(*args, **kwargs) - - -if PY3: - exec_ = getattr(moves.builtins, "exec") - - def reraise(tp, value, tb=None): - if value is None: - value = tp() - if value.__traceback__ is not tb: - raise value.with_traceback(tb) - raise value - -else: - def exec_(_code_, _globs_=None, _locs_=None): - """Execute code in a namespace.""" - if _globs_ is None: - frame = sys._getframe(1) - _globs_ = frame.f_globals - if _locs_ is None: - _locs_ = frame.f_locals - del frame - elif _locs_ is None: - _locs_ = _globs_ - exec("""exec _code_ in _globs_, _locs_""") - - exec_("""def reraise(tp, value, tb=None): - raise tp, value, tb -""") - - -if sys.version_info[:2] == (3, 2): - exec_("""def raise_from(value, from_value): - if from_value is None: - raise value - raise value from from_value -""") -elif sys.version_info[:2] > (3, 2): - exec_("""def raise_from(value, from_value): - raise value from from_value -""") -else: - def raise_from(value, from_value): - raise value - - -print_ = getattr(moves.builtins, "print", None) -if print_ is None: - def print_(*args, **kwargs): - """The new-style print function for Python 2.4 and 2.5.""" - fp = kwargs.pop("file", sys.stdout) - if fp is None: - return - - def write(data): - if not isinstance(data, basestring): - data = str(data) - # If the file has an encoding, encode unicode with it. - if (isinstance(fp, file) and - isinstance(data, unicode) and - fp.encoding is not None): - errors = getattr(fp, "errors", None) - if errors is None: - errors = "strict" - data = data.encode(fp.encoding, errors) - fp.write(data) - want_unicode = False - sep = kwargs.pop("sep", None) - if sep is not None: - if isinstance(sep, unicode): - want_unicode = True - elif not isinstance(sep, str): - raise TypeError("sep must be None or a string") - end = kwargs.pop("end", None) - if end is not None: - if isinstance(end, unicode): - want_unicode = True - elif not isinstance(end, str): - raise TypeError("end must be None or a string") - if kwargs: - raise TypeError("invalid keyword arguments to print()") - if not want_unicode: - for arg in args: - if isinstance(arg, unicode): - want_unicode = True - break - if want_unicode: - newline = unicode("\n") - space = unicode(" ") - else: - newline = "\n" - space = " " - if sep is None: - sep = space - if end is None: - end = newline - for i, arg in enumerate(args): - if i: - write(sep) - write(arg) - write(end) -if sys.version_info[:2] < (3, 3): - _print = print_ - - def print_(*args, **kwargs): - fp = kwargs.get("file", sys.stdout) - flush = kwargs.pop("flush", False) - _print(*args, **kwargs) - if flush and fp is not None: - fp.flush() - -_add_doc(reraise, """Reraise an exception.""") - -if sys.version_info[0:2] < (3, 4): - def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, - updated=functools.WRAPPER_UPDATES): - def wrapper(f): - f = functools.wraps(wrapped, assigned, updated)(f) - f.__wrapped__ = wrapped - return f - return wrapper -else: - wraps = functools.wraps - - -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', (), {}) - - -def add_metaclass(metaclass): - """Class decorator for creating a class with a metaclass.""" - def wrapper(cls): - orig_vars = cls.__dict__.copy() - slots = orig_vars.get('__slots__') - if slots is not None: - if isinstance(slots, str): - slots = [slots] - for slots_var in slots: - orig_vars.pop(slots_var) - orig_vars.pop('__dict__', None) - orig_vars.pop('__weakref__', None) - return metaclass(cls.__name__, cls.__bases__, orig_vars) - return wrapper - - -def python_2_unicode_compatible(klass): - """ - A decorator that defines __unicode__ and __str__ methods under Python 2. - Under Python 3 it does nothing. - - To support Python 2 and 3 with a single code base, define a __str__ method - returning text and apply this decorator to the class. - """ - if PY2: - if '__str__' not in klass.__dict__: - raise ValueError("@python_2_unicode_compatible cannot be applied " - "to %s because it doesn't define __str__()." % - klass.__name__) - klass.__unicode__ = klass.__str__ - klass.__str__ = lambda self: self.__unicode__().encode('utf-8') - return klass - - -# Complete the moves implementation. -# This code is at the end of this module to speed up module loading. -# Turn this module into a package. -__path__ = [] # required for PEP 302 and PEP 451 -__package__ = __name__ # see PEP 366 @ReservedAssignment -if globals().get("__spec__") is not None: - __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable -# Remove other six meta path importers, since they cause problems. This can -# happen if six is removed from sys.modules and then reloaded. (Setuptools does -# this for some reason.) -if sys.meta_path: - for i, importer in enumerate(sys.meta_path): - # Here's some real nastiness: Another "instance" of the six module might - # be floating around. Therefore, we can't use isinstance() to check for - # the six meta path importer, since the other six instance will have - # inserted an importer with different class. - if (type(importer).__name__ == "_SixMetaPathImporter" and - importer.name == __name__): - del sys.meta_path[i] - break - del i, importer -# Finally, add the importer to the meta path import hook. -sys.meta_path.append(_importer) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/extern/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/extern/__init__.py deleted file mode 100644 index b4156fec..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/extern/__init__.py +++ /dev/null @@ -1,73 +0,0 @@ -import sys - - -class VendorImporter: - """ - A PEP 302 meta path importer for finding optionally-vendored - or otherwise naturally-installed packages from root_name. - """ - - def __init__(self, root_name, vendored_names=(), vendor_pkg=None): - self.root_name = root_name - self.vendored_names = set(vendored_names) - self.vendor_pkg = vendor_pkg or root_name.replace('extern', '_vendor') - - @property - def search_path(self): - """ - Search first the vendor package then as a natural package. - """ - yield self.vendor_pkg + '.' - yield '' - - def find_module(self, fullname, path=None): - """ - Return self when fullname starts with root_name and the - target module is one vendored through this importer. - """ - root, base, target = fullname.partition(self.root_name + '.') - if root: - return - if not any(map(target.startswith, self.vendored_names)): - return - return self - - def load_module(self, fullname): - """ - Iterate over the search path to locate and load fullname. - """ - root, base, target = fullname.partition(self.root_name + '.') - for prefix in self.search_path: - try: - extant = prefix + target - __import__(extant) - mod = sys.modules[extant] - sys.modules[fullname] = mod - # mysterious hack: - # Remove the reference to the extant package/module - # on later Python versions to cause relative imports - # in the vendor package to resolve the same modules - # as those going through this importer. - if sys.version_info > (3, 3): - del sys.modules[extant] - return mod - except ImportError: - pass - else: - raise ImportError( - "The '{target}' package is required; " - "normally this is bundled with this package so if you get " - "this warning, consult the packager of your " - "distribution.".format(**locals()) - ) - - def install(self): - """ - Install this importer into sys.meta_path if not already present. - """ - if self not in sys.meta_path: - sys.meta_path.append(self) - - -names = 'packaging', 'pyparsing', 'six', 'appdirs' -VendorImporter(__name__, names).install() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 6fc8deae9fccaa734123b957ddc15ac69ea074b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2434 zcmZ`)-EJF26rR~XuQyIW2qm<FXe1D=r6x`(hz1HOq7|w@R@GJo3~06SjGcAXyW5#@ z5}S>XaKshjj)&k0xaTqEmaD!3SDZ6zCuyUOwP(ijbLRYf=bKxrtI-et{L=foNyxwC zLi1pJ7d~|Z1Sgzkq({CY+~Mvi;qKh&Q6BajL4_-vxij+Sgu<@Jq}_ZDCrG!Ca@kxM z+=Wlw10e{UB|V4Jo;v`I1JKF6Q`+-{&wU=8k~!@Ke3dtN2(t~|<k2bVg?xp#pl@;q zZdo&HPeslP`CwcYQVTgdjTp2q*u(n|*{z)q*jVU<m5JVG>0%2T6p{_noTvGa6{Sv# zJjt@@)}d7-xK#jK3cWAnQK|&X6Frf3Pns(Y1HnOM{~#F(#Rjq%Gg%Zm&Xcj&wx_#& z3>-G>(d{qcQ}2VQXhmY8Y30mu<Wz3CS<#WpDTe^UjK>K$=5~95I0lDu(}-)!+P-O? z-D6xOv{_r)Z0}a4Aw`)bePN<{AubPwZO?d0WCMw&$N)tM;x8g2=>9wElrlX`wCEfr zvNI?$E~M)0^3Ltu(eBPiyZKF?^WgzkM|<&f_;GoA2ih?2Jn58axwSV*GrlEw7T>&8 z?sveZNvVq>QysWDmO>R1*%zu)yV8l{G*5LLZ<kXOF8`nz3hg2^pb?#IJbfXf+sl1@ zihH18@4$!HQtKcpG6K+Tkf#Vf$4VDs=*_;d*+4)%7K!ZdL)xX%3=+%g04>vqQ#nf% zOP0xAuG9%d6^3pb(rr^4KIouU>KNKU$`$x)R+PObM!>y>=2;y0EjqjUl2;ct_7Nc1 zFbH_Sg5@?002t^TMd#-9NB6`%@lO28m79ou?P$01M;`3(=Kv@5A<kA7KC|D>Tz>>f zkvT&Qup@MHFv&8+Dg!J_t=Lft)p3R_mgF46adsXy4TWaof=@ERQpJjV89t~3y)TQ& za36YDS(ey&(Bvw((QOB&S;Ac@7Mlg4ag%&%+;LKxs5S$wu<&dLHnb*O+G#utr}5B4 z<LxC%n4mVQjywWr5q>P|xVCfyW>pIW@z<#bzc=8!l!glj`iLoPSRQ!Lrr~!OTuOt3 zi8wAH@XkH*(~}c_`bp(i-Uc}dASJ<^Qlh<)Uj<jlNuz4mF};Ix0rw9)*{fGSBUR%u zWL!56B3V*EFD2iTXPe)__btqFcN7kYZqCUcbWVSz+yhhxv#-xm^8g3}N|zOfLSoJ! z$rk38?{vYkqL0g%(X2@LS>|8L&vOLe?9V5l;M&i1WKXUw3ji}N#j{B&1^<-gg&ZRj zF7mC|-X!P9hZaN@1Pf+ls$l7WO^XRb_}HbRMCQP{H(0;O)g-Gcaj_o=*Y1{#r%KCo zZ-QXi?zSCy70k1u9m&^mY^e<E%S6Bqme=DLC~*oDSZ80E7Q{q>2B4flVOHt~;=YuH zGy%K-<3yVP<CCd&Sl9BKs2cf1B6j3ks6QyB7^KIRjFVggVher=br{<P>fVJzY7+$U z)@h46G=yJ7qacFbqiZyB92&TnaCkw*C7!c5#28dW0~s7N<T~~vcr6fV_PKRtkIqq1 zKT<E2BujGu1Vm^XUqnk#n4Y}QEXkxu_>_UGO62++9No4n--dfl^X!ZXlClJTeg*$E z77yfII8}3>2aLY{689}OwQ08<;X8n21o?wp*2#l$D~_K{5=&F?uMx+*=*O|dvNT~S zi&98El?VZO1;u+PuA#7Oa4wLRB~~_K#_~bvdCr>O3Zqu|j$J`+!p9tt3BxH6mBOK` z(qq#AcR4&7ZBK5Yrfn1*6gwc=zKu_<#YZ=kypD^nvc!aUY8OApN6fx@p}Tg^qyGco CuYvvm diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/DESCRIPTION.rst b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/DESCRIPTION.rst deleted file mode 100644 index 00d3fed9..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,589 +0,0 @@ -pytz - World Timezone Definitions for Python -============================================ - -:Author: Stuart Bishop <stuart@stuartbishop.net> - -Introduction -~~~~~~~~~~~~ - -pytz brings the Olson tz database into Python. This library allows -accurate and cross platform timezone calculations using Python 2.4 -or higher. It also solves the issue of ambiguous times at the end -of daylight saving time, which you can read more about in the Python -Library Reference (``datetime.tzinfo``). - -Almost all of the Olson timezones are supported. - -.. note:: - - This library differs from the documented Python API for - tzinfo implementations; if you want to create local wallclock - times you need to use the ``localize()`` method documented in this - document. In addition, if you perform date arithmetic on local - times that cross DST boundaries, the result may be in an incorrect - timezone (ie. subtract 1 minute from 2002-10-27 1:00 EST and you get - 2002-10-27 0:59 EST instead of the correct 2002-10-27 1:59 EDT). A - ``normalize()`` method is provided to correct this. Unfortunately these - issues cannot be resolved without modifying the Python datetime - implementation (see PEP-431). - - -Installation -~~~~~~~~~~~~ - -This package can either be installed from a .egg file using setuptools, -or from the tarball using the standard Python distutils. - -If you are installing from a tarball, run the following command as an -administrative user:: - - python setup.py install - -If you are installing using setuptools, you don't even need to download -anything as the latest version will be downloaded for you -from the Python package index:: - - easy_install --upgrade pytz - -If you already have the .egg file, you can use that too:: - - easy_install pytz-2008g-py2.6.egg - - -Example & Usage -~~~~~~~~~~~~~~~ - -Localized times and date arithmetic ------------------------------------ - ->>> from datetime import datetime, timedelta ->>> from pytz import timezone ->>> import pytz ->>> utc = pytz.utc ->>> utc.zone -'UTC' ->>> eastern = timezone('US/Eastern') ->>> eastern.zone -'US/Eastern' ->>> amsterdam = timezone('Europe/Amsterdam') ->>> fmt = '%Y-%m-%d %H:%M:%S %Z%z' - -This library only supports two ways of building a localized time. The -first is to use the ``localize()`` method provided by the pytz library. -This is used to localize a naive datetime (datetime with no timezone -information): - ->>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) ->>> print(loc_dt.strftime(fmt)) -2002-10-27 06:00:00 EST-0500 - -The second way of building a localized time is by converting an existing -localized time using the standard ``astimezone()`` method: - ->>> ams_dt = loc_dt.astimezone(amsterdam) ->>> ams_dt.strftime(fmt) -'2002-10-27 12:00:00 CET+0100' - -Unfortunately using the tzinfo argument of the standard datetime -constructors ''does not work'' with pytz for many timezones. - ->>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) -'2002-10-27 12:00:00 LMT+0020' - -It is safe for timezones without daylight saving transitions though, such -as UTC: - ->>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt) -'2002-10-27 12:00:00 UTC+0000' - -The preferred way of dealing with times is to always work in UTC, -converting to localtime only when generating output to be read -by humans. - ->>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) ->>> loc_dt = utc_dt.astimezone(eastern) ->>> loc_dt.strftime(fmt) -'2002-10-27 01:00:00 EST-0500' - -This library also allows you to do date arithmetic using local -times, although it is more complicated than working in UTC as you -need to use the ``normalize()`` method to handle daylight saving time -and other timezone transitions. In this example, ``loc_dt`` is set -to the instant when daylight saving time ends in the US/Eastern -timezone. - ->>> before = loc_dt - timedelta(minutes=10) ->>> before.strftime(fmt) -'2002-10-27 00:50:00 EST-0500' ->>> eastern.normalize(before).strftime(fmt) -'2002-10-27 01:50:00 EDT-0400' ->>> after = eastern.normalize(before + timedelta(minutes=20)) ->>> after.strftime(fmt) -'2002-10-27 01:10:00 EST-0500' - -Creating local times is also tricky, and the reason why working with -local times is not recommended. Unfortunately, you cannot just pass -a ``tzinfo`` argument when constructing a datetime (see the next -section for more details) - ->>> dt = datetime(2002, 10, 27, 1, 30, 0) ->>> dt1 = eastern.localize(dt, is_dst=True) ->>> dt1.strftime(fmt) -'2002-10-27 01:30:00 EDT-0400' ->>> dt2 = eastern.localize(dt, is_dst=False) ->>> dt2.strftime(fmt) -'2002-10-27 01:30:00 EST-0500' - -Converting between timezones is more easily done, using the -standard astimezone method. - ->>> utc_dt = utc.localize(datetime.utcfromtimestamp(1143408899)) ->>> utc_dt.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' ->>> au_tz = timezone('Australia/Sydney') ->>> au_dt = utc_dt.astimezone(au_tz) ->>> au_dt.strftime(fmt) -'2006-03-27 08:34:59 AEDT+1100' ->>> utc_dt2 = au_dt.astimezone(utc) ->>> utc_dt2.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' ->>> utc_dt == utc_dt2 -True - -You can take shortcuts when dealing with the UTC side of timezone -conversions. ``normalize()`` and ``localize()`` are not really -necessary when there are no daylight saving time transitions to -deal with. - ->>> utc_dt = datetime.utcfromtimestamp(1143408899).replace(tzinfo=utc) ->>> utc_dt.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' ->>> au_tz = timezone('Australia/Sydney') ->>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz)) ->>> au_dt.strftime(fmt) -'2006-03-27 08:34:59 AEDT+1100' ->>> utc_dt2 = au_dt.astimezone(utc) ->>> utc_dt2.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' - - -``tzinfo`` API --------------- - -The ``tzinfo`` instances returned by the ``timezone()`` function have -been extended to cope with ambiguous times by adding an ``is_dst`` -parameter to the ``utcoffset()``, ``dst()`` && ``tzname()`` methods. - ->>> tz = timezone('America/St_Johns') - ->>> normal = datetime(2009, 9, 1) ->>> ambiguous = datetime(2009, 10, 31, 23, 30) - -The ``is_dst`` parameter is ignored for most timestamps. It is only used -during DST transition ambiguous periods to resolve that ambiguity. - ->>> tz.utcoffset(normal, is_dst=True) -datetime.timedelta(-1, 77400) ->>> tz.dst(normal, is_dst=True) -datetime.timedelta(0, 3600) ->>> tz.tzname(normal, is_dst=True) -'NDT' - ->>> tz.utcoffset(ambiguous, is_dst=True) -datetime.timedelta(-1, 77400) ->>> tz.dst(ambiguous, is_dst=True) -datetime.timedelta(0, 3600) ->>> tz.tzname(ambiguous, is_dst=True) -'NDT' - ->>> tz.utcoffset(normal, is_dst=False) -datetime.timedelta(-1, 77400) ->>> tz.dst(normal, is_dst=False) -datetime.timedelta(0, 3600) ->>> tz.tzname(normal, is_dst=False) -'NDT' - ->>> tz.utcoffset(ambiguous, is_dst=False) -datetime.timedelta(-1, 73800) ->>> tz.dst(ambiguous, is_dst=False) -datetime.timedelta(0) ->>> tz.tzname(ambiguous, is_dst=False) -'NST' - -If ``is_dst`` is not specified, ambiguous timestamps will raise -an ``pytz.exceptions.AmbiguousTimeError`` exception. - ->>> tz.utcoffset(normal) -datetime.timedelta(-1, 77400) ->>> tz.dst(normal) -datetime.timedelta(0, 3600) ->>> tz.tzname(normal) -'NDT' - ->>> import pytz.exceptions ->>> try: -... tz.utcoffset(ambiguous) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous) -pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00 ->>> try: -... tz.dst(ambiguous) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous) -pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00 ->>> try: -... tz.tzname(ambiguous) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous) -pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00 - - -Problems with Localtime -~~~~~~~~~~~~~~~~~~~~~~~ - -The major problem we have to deal with is that certain datetimes -may occur twice in a year. For example, in the US/Eastern timezone -on the last Sunday morning in October, the following sequence -happens: - - - 01:00 EDT occurs - - 1 hour later, instead of 2:00am the clock is turned back 1 hour - and 01:00 happens again (this time 01:00 EST) - -In fact, every instant between 01:00 and 02:00 occurs twice. This means -that if you try and create a time in the 'US/Eastern' timezone -the standard datetime syntax, there is no way to specify if you meant -before of after the end-of-daylight-saving-time transition. Using the -pytz custom syntax, the best you can do is make an educated guess: - ->>> loc_dt = eastern.localize(datetime(2002, 10, 27, 1, 30, 00)) ->>> loc_dt.strftime(fmt) -'2002-10-27 01:30:00 EST-0500' - -As you can see, the system has chosen one for you and there is a 50% -chance of it being out by one hour. For some applications, this does -not matter. However, if you are trying to schedule meetings with people -in different timezones or analyze log files it is not acceptable. - -The best and simplest solution is to stick with using UTC. The pytz -package encourages using UTC for internal timezone representation by -including a special UTC implementation based on the standard Python -reference implementation in the Python documentation. - -The UTC timezone unpickles to be the same instance, and pickles to a -smaller size than other pytz tzinfo instances. The UTC implementation -can be obtained as pytz.utc, pytz.UTC, or pytz.timezone('UTC'). - ->>> import pickle, pytz ->>> dt = datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc) ->>> naive = dt.replace(tzinfo=None) ->>> p = pickle.dumps(dt, 1) ->>> naive_p = pickle.dumps(naive, 1) ->>> len(p) - len(naive_p) -17 ->>> new = pickle.loads(p) ->>> new == dt -True ->>> new is dt -False ->>> new.tzinfo is dt.tzinfo -True ->>> pytz.utc is pytz.UTC is pytz.timezone('UTC') -True - -Note that some other timezones are commonly thought of as the same (GMT, -Greenwich, Universal, etc.). The definition of UTC is distinct from these -other timezones, and they are not equivalent. For this reason, they will -not compare the same in Python. - ->>> utc == pytz.timezone('GMT') -False - -See the section `What is UTC`_, below. - -If you insist on working with local times, this library provides a -facility for constructing them unambiguously: - ->>> loc_dt = datetime(2002, 10, 27, 1, 30, 00) ->>> est_dt = eastern.localize(loc_dt, is_dst=True) ->>> edt_dt = eastern.localize(loc_dt, is_dst=False) ->>> print(est_dt.strftime(fmt) + ' / ' + edt_dt.strftime(fmt)) -2002-10-27 01:30:00 EDT-0400 / 2002-10-27 01:30:00 EST-0500 - -If you pass None as the is_dst flag to localize(), pytz will refuse to -guess and raise exceptions if you try to build ambiguous or non-existent -times. - -For example, 1:30am on 27th Oct 2002 happened twice in the US/Eastern -timezone when the clocks where put back at the end of Daylight Saving -Time: - ->>> dt = datetime(2002, 10, 27, 1, 30, 00) ->>> try: -... eastern.localize(dt, is_dst=None) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % dt) -pytz.exceptions.AmbiguousTimeError: 2002-10-27 01:30:00 - -Similarly, 2:30am on 7th April 2002 never happened at all in the -US/Eastern timezone, as the clocks where put forward at 2:00am skipping -the entire hour: - ->>> dt = datetime(2002, 4, 7, 2, 30, 00) ->>> try: -... eastern.localize(dt, is_dst=None) -... except pytz.exceptions.NonExistentTimeError: -... print('pytz.exceptions.NonExistentTimeError: %s' % dt) -pytz.exceptions.NonExistentTimeError: 2002-04-07 02:30:00 - -Both of these exceptions share a common base class to make error handling -easier: - ->>> isinstance(pytz.AmbiguousTimeError(), pytz.InvalidTimeError) -True ->>> isinstance(pytz.NonExistentTimeError(), pytz.InvalidTimeError) -True - - -A special case is where countries change their timezone definitions -with no daylight savings time switch. For example, in 1915 Warsaw -switched from Warsaw time to Central European time with no daylight savings -transition. So at the stroke of midnight on August 5th 1915 the clocks -were wound back 24 minutes creating an ambiguous time period that cannot -be specified without referring to the timezone abbreviation or the -actual UTC offset. In this case midnight happened twice, neither time -during a daylight saving time period. pytz handles this transition by -treating the ambiguous period before the switch as daylight savings -time, and the ambiguous period after as standard time. - - ->>> warsaw = pytz.timezone('Europe/Warsaw') ->>> amb_dt1 = warsaw.localize(datetime(1915, 8, 4, 23, 59, 59), is_dst=True) ->>> amb_dt1.strftime(fmt) -'1915-08-04 23:59:59 WMT+0124' ->>> amb_dt2 = warsaw.localize(datetime(1915, 8, 4, 23, 59, 59), is_dst=False) ->>> amb_dt2.strftime(fmt) -'1915-08-04 23:59:59 CET+0100' ->>> switch_dt = warsaw.localize(datetime(1915, 8, 5, 00, 00, 00), is_dst=False) ->>> switch_dt.strftime(fmt) -'1915-08-05 00:00:00 CET+0100' ->>> str(switch_dt - amb_dt1) -'0:24:01' ->>> str(switch_dt - amb_dt2) -'0:00:01' - -The best way of creating a time during an ambiguous time period is -by converting from another timezone such as UTC: - ->>> utc_dt = datetime(1915, 8, 4, 22, 36, tzinfo=pytz.utc) ->>> utc_dt.astimezone(warsaw).strftime(fmt) -'1915-08-04 23:36:00 CET+0100' - -The standard Python way of handling all these ambiguities is not to -handle them, such as demonstrated in this example using the US/Eastern -timezone definition from the Python documentation (Note that this -implementation only works for dates between 1987 and 2006 - it is -included for tests only!): - ->>> from pytz.reference import Eastern # pytz.reference only for tests ->>> dt = datetime(2002, 10, 27, 0, 30, tzinfo=Eastern) ->>> str(dt) -'2002-10-27 00:30:00-04:00' ->>> str(dt + timedelta(hours=1)) -'2002-10-27 01:30:00-05:00' ->>> str(dt + timedelta(hours=2)) -'2002-10-27 02:30:00-05:00' ->>> str(dt + timedelta(hours=3)) -'2002-10-27 03:30:00-05:00' - -Notice the first two results? At first glance you might think they are -correct, but taking the UTC offset into account you find that they are -actually two hours appart instead of the 1 hour we asked for. - ->>> from pytz.reference import UTC # pytz.reference only for tests ->>> str(dt.astimezone(UTC)) -'2002-10-27 04:30:00+00:00' ->>> str((dt + timedelta(hours=1)).astimezone(UTC)) -'2002-10-27 06:30:00+00:00' - - -Country Information -~~~~~~~~~~~~~~~~~~~ - -A mechanism is provided to access the timezones commonly in use -for a particular country, looked up using the ISO 3166 country code. -It returns a list of strings that can be used to retrieve the relevant -tzinfo instance using ``pytz.timezone()``: - ->>> print(' '.join(pytz.country_timezones['nz'])) -Pacific/Auckland Pacific/Chatham - -The Olson database comes with a ISO 3166 country code to English country -name mapping that pytz exposes as a dictionary: - ->>> print(pytz.country_names['nz']) -New Zealand - - -What is UTC -~~~~~~~~~~~ - -'UTC' is `Coordinated Universal Time`_. It is a successor to, but distinct -from, Greenwich Mean Time (GMT) and the various definitions of Universal -Time. UTC is now the worldwide standard for regulating clocks and time -measurement. - -All other timezones are defined relative to UTC, and include offsets like -UTC+0800 - hours to add or subtract from UTC to derive the local time. No -daylight saving time occurs in UTC, making it a useful timezone to perform -date arithmetic without worrying about the confusion and ambiguities caused -by daylight saving time transitions, your country changing its timezone, or -mobile computers that roam through multiple timezones. - -.. _Coordinated Universal Time: https://en.wikipedia.org/wiki/Coordinated_Universal_Time - - -Helpers -~~~~~~~ - -There are two lists of timezones provided. - -``all_timezones`` is the exhaustive list of the timezone names that can -be used. - ->>> from pytz import all_timezones ->>> len(all_timezones) >= 500 -True ->>> 'Etc/Greenwich' in all_timezones -True - -``common_timezones`` is a list of useful, current timezones. It doesn't -contain deprecated zones or historical zones, except for a few I've -deemed in common usage, such as US/Eastern (open a bug report if you -think other timezones are deserving of being included here). It is also -a sequence of strings. - ->>> from pytz import common_timezones ->>> len(common_timezones) < len(all_timezones) -True ->>> 'Etc/Greenwich' in common_timezones -False ->>> 'Australia/Melbourne' in common_timezones -True ->>> 'US/Eastern' in common_timezones -True ->>> 'Canada/Eastern' in common_timezones -True ->>> 'Australia/Yancowinna' in all_timezones -True ->>> 'Australia/Yancowinna' in common_timezones -False - -Both ``common_timezones`` and ``all_timezones`` are alphabetically -sorted: - ->>> common_timezones_dupe = common_timezones[:] ->>> common_timezones_dupe.sort() ->>> common_timezones == common_timezones_dupe -True ->>> all_timezones_dupe = all_timezones[:] ->>> all_timezones_dupe.sort() ->>> all_timezones == all_timezones_dupe -True - -``all_timezones`` and ``common_timezones`` are also available as sets. - ->>> from pytz import all_timezones_set, common_timezones_set ->>> 'US/Eastern' in all_timezones_set -True ->>> 'US/Eastern' in common_timezones_set -True ->>> 'Australia/Victoria' in common_timezones_set -False - -You can also retrieve lists of timezones used by particular countries -using the ``country_timezones()`` function. It requires an ISO-3166 -two letter country code. - ->>> from pytz import country_timezones ->>> print(' '.join(country_timezones('ch'))) -Europe/Zurich ->>> print(' '.join(country_timezones('CH'))) -Europe/Zurich - - -Internationalization - i18n/l10n -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Pytz is an interface to the IANA database, which uses ASCII names. The `Unicode Consortium's Unicode Locales (CLDR) <http://cldr.unicode.org>`_ -project provides translations. Thomas Khyn's -`l18n <https://pypi.python.org/pypi/l18n>`_ package can be used to access -these translations from Python. - - -License -~~~~~~~ - -MIT license. - -This code is also available as part of Zope 3 under the Zope Public -License, Version 2.1 (ZPL). - -I'm happy to relicense this code if necessary for inclusion in other -open source projects. - - -Latest Versions -~~~~~~~~~~~~~~~ - -This package will be updated after releases of the Olson timezone -database. The latest version can be downloaded from the `Python Package -Index <http://pypi.python.org/pypi/pytz/>`_. The code that is used -to generate this distribution is hosted on launchpad.net and available -using git:: - - git clone https://git.launchpad.net/pytz - -A mirror on github is also available at https://github.com/stub42/pytz - -Announcements of new releases are made on -`Launchpad <https://launchpad.net/pytz>`_, and the -`Atom feed <http://feeds.launchpad.net/pytz/announcements.atom>`_ -hosted there. - - -Bugs, Feature Requests & Patches -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Bugs can be reported using `Launchpad <https://bugs.launchpad.net/pytz>`__. - - -Issues & Limitations -~~~~~~~~~~~~~~~~~~~~ - -- Offsets from UTC are rounded to the nearest whole minute, so timezones - such as Europe/Amsterdam pre 1937 will be up to 30 seconds out. This - is a limitation of the Python datetime library. - -- If you think a timezone definition is incorrect, I probably can't fix - it. pytz is a direct translation of the Olson timezone database, and - changes to the timezone definitions need to be made to this source. - If you find errors they should be reported to the time zone mailing - list, linked from http://www.iana.org/time-zones. - - -Further Reading -~~~~~~~~~~~~~~~ - -More info than you want to know about timezones: -http://www.twinsun.com/tz/tz-link.htm - - -Contact -~~~~~~~ - -Stuart Bishop <stuart@stuartbishop.net> - - - - diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/INSTALLER b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/METADATA b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/METADATA deleted file mode 100644 index 1ab7a867..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/METADATA +++ /dev/null @@ -1,622 +0,0 @@ -Metadata-Version: 2.0 -Name: pytz -Version: 2018.3 -Summary: World timezone definitions, modern and historical -Home-page: http://pythonhosted.org/pytz -Author: Stuart Bishop -Author-email: stuart@stuartbishop.net -License: MIT -Download-URL: http://pypi.python.org/pypi/pytz -Description-Content-Type: UNKNOWN -Keywords: timezone,tzinfo,datetime,olson,time -Platform: Independant -Classifier: Development Status :: 6 - Mature -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Natural Language :: English -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.4 -Classifier: Programming Language :: Python :: 2.5 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.0 -Classifier: Programming Language :: Python :: 3.1 -Classifier: Programming Language :: Python :: 3.2 -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 - -pytz - World Timezone Definitions for Python -============================================ - -:Author: Stuart Bishop <stuart@stuartbishop.net> - -Introduction -~~~~~~~~~~~~ - -pytz brings the Olson tz database into Python. This library allows -accurate and cross platform timezone calculations using Python 2.4 -or higher. It also solves the issue of ambiguous times at the end -of daylight saving time, which you can read more about in the Python -Library Reference (``datetime.tzinfo``). - -Almost all of the Olson timezones are supported. - -.. note:: - - This library differs from the documented Python API for - tzinfo implementations; if you want to create local wallclock - times you need to use the ``localize()`` method documented in this - document. In addition, if you perform date arithmetic on local - times that cross DST boundaries, the result may be in an incorrect - timezone (ie. subtract 1 minute from 2002-10-27 1:00 EST and you get - 2002-10-27 0:59 EST instead of the correct 2002-10-27 1:59 EDT). A - ``normalize()`` method is provided to correct this. Unfortunately these - issues cannot be resolved without modifying the Python datetime - implementation (see PEP-431). - - -Installation -~~~~~~~~~~~~ - -This package can either be installed from a .egg file using setuptools, -or from the tarball using the standard Python distutils. - -If you are installing from a tarball, run the following command as an -administrative user:: - - python setup.py install - -If you are installing using setuptools, you don't even need to download -anything as the latest version will be downloaded for you -from the Python package index:: - - easy_install --upgrade pytz - -If you already have the .egg file, you can use that too:: - - easy_install pytz-2008g-py2.6.egg - - -Example & Usage -~~~~~~~~~~~~~~~ - -Localized times and date arithmetic ------------------------------------ - ->>> from datetime import datetime, timedelta ->>> from pytz import timezone ->>> import pytz ->>> utc = pytz.utc ->>> utc.zone -'UTC' ->>> eastern = timezone('US/Eastern') ->>> eastern.zone -'US/Eastern' ->>> amsterdam = timezone('Europe/Amsterdam') ->>> fmt = '%Y-%m-%d %H:%M:%S %Z%z' - -This library only supports two ways of building a localized time. The -first is to use the ``localize()`` method provided by the pytz library. -This is used to localize a naive datetime (datetime with no timezone -information): - ->>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) ->>> print(loc_dt.strftime(fmt)) -2002-10-27 06:00:00 EST-0500 - -The second way of building a localized time is by converting an existing -localized time using the standard ``astimezone()`` method: - ->>> ams_dt = loc_dt.astimezone(amsterdam) ->>> ams_dt.strftime(fmt) -'2002-10-27 12:00:00 CET+0100' - -Unfortunately using the tzinfo argument of the standard datetime -constructors ''does not work'' with pytz for many timezones. - ->>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt) -'2002-10-27 12:00:00 LMT+0020' - -It is safe for timezones without daylight saving transitions though, such -as UTC: - ->>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt) -'2002-10-27 12:00:00 UTC+0000' - -The preferred way of dealing with times is to always work in UTC, -converting to localtime only when generating output to be read -by humans. - ->>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) ->>> loc_dt = utc_dt.astimezone(eastern) ->>> loc_dt.strftime(fmt) -'2002-10-27 01:00:00 EST-0500' - -This library also allows you to do date arithmetic using local -times, although it is more complicated than working in UTC as you -need to use the ``normalize()`` method to handle daylight saving time -and other timezone transitions. In this example, ``loc_dt`` is set -to the instant when daylight saving time ends in the US/Eastern -timezone. - ->>> before = loc_dt - timedelta(minutes=10) ->>> before.strftime(fmt) -'2002-10-27 00:50:00 EST-0500' ->>> eastern.normalize(before).strftime(fmt) -'2002-10-27 01:50:00 EDT-0400' ->>> after = eastern.normalize(before + timedelta(minutes=20)) ->>> after.strftime(fmt) -'2002-10-27 01:10:00 EST-0500' - -Creating local times is also tricky, and the reason why working with -local times is not recommended. Unfortunately, you cannot just pass -a ``tzinfo`` argument when constructing a datetime (see the next -section for more details) - ->>> dt = datetime(2002, 10, 27, 1, 30, 0) ->>> dt1 = eastern.localize(dt, is_dst=True) ->>> dt1.strftime(fmt) -'2002-10-27 01:30:00 EDT-0400' ->>> dt2 = eastern.localize(dt, is_dst=False) ->>> dt2.strftime(fmt) -'2002-10-27 01:30:00 EST-0500' - -Converting between timezones is more easily done, using the -standard astimezone method. - ->>> utc_dt = utc.localize(datetime.utcfromtimestamp(1143408899)) ->>> utc_dt.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' ->>> au_tz = timezone('Australia/Sydney') ->>> au_dt = utc_dt.astimezone(au_tz) ->>> au_dt.strftime(fmt) -'2006-03-27 08:34:59 AEDT+1100' ->>> utc_dt2 = au_dt.astimezone(utc) ->>> utc_dt2.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' ->>> utc_dt == utc_dt2 -True - -You can take shortcuts when dealing with the UTC side of timezone -conversions. ``normalize()`` and ``localize()`` are not really -necessary when there are no daylight saving time transitions to -deal with. - ->>> utc_dt = datetime.utcfromtimestamp(1143408899).replace(tzinfo=utc) ->>> utc_dt.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' ->>> au_tz = timezone('Australia/Sydney') ->>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz)) ->>> au_dt.strftime(fmt) -'2006-03-27 08:34:59 AEDT+1100' ->>> utc_dt2 = au_dt.astimezone(utc) ->>> utc_dt2.strftime(fmt) -'2006-03-26 21:34:59 UTC+0000' - - -``tzinfo`` API --------------- - -The ``tzinfo`` instances returned by the ``timezone()`` function have -been extended to cope with ambiguous times by adding an ``is_dst`` -parameter to the ``utcoffset()``, ``dst()`` && ``tzname()`` methods. - ->>> tz = timezone('America/St_Johns') - ->>> normal = datetime(2009, 9, 1) ->>> ambiguous = datetime(2009, 10, 31, 23, 30) - -The ``is_dst`` parameter is ignored for most timestamps. It is only used -during DST transition ambiguous periods to resolve that ambiguity. - ->>> tz.utcoffset(normal, is_dst=True) -datetime.timedelta(-1, 77400) ->>> tz.dst(normal, is_dst=True) -datetime.timedelta(0, 3600) ->>> tz.tzname(normal, is_dst=True) -'NDT' - ->>> tz.utcoffset(ambiguous, is_dst=True) -datetime.timedelta(-1, 77400) ->>> tz.dst(ambiguous, is_dst=True) -datetime.timedelta(0, 3600) ->>> tz.tzname(ambiguous, is_dst=True) -'NDT' - ->>> tz.utcoffset(normal, is_dst=False) -datetime.timedelta(-1, 77400) ->>> tz.dst(normal, is_dst=False) -datetime.timedelta(0, 3600) ->>> tz.tzname(normal, is_dst=False) -'NDT' - ->>> tz.utcoffset(ambiguous, is_dst=False) -datetime.timedelta(-1, 73800) ->>> tz.dst(ambiguous, is_dst=False) -datetime.timedelta(0) ->>> tz.tzname(ambiguous, is_dst=False) -'NST' - -If ``is_dst`` is not specified, ambiguous timestamps will raise -an ``pytz.exceptions.AmbiguousTimeError`` exception. - ->>> tz.utcoffset(normal) -datetime.timedelta(-1, 77400) ->>> tz.dst(normal) -datetime.timedelta(0, 3600) ->>> tz.tzname(normal) -'NDT' - ->>> import pytz.exceptions ->>> try: -... tz.utcoffset(ambiguous) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous) -pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00 ->>> try: -... tz.dst(ambiguous) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous) -pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00 ->>> try: -... tz.tzname(ambiguous) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % ambiguous) -pytz.exceptions.AmbiguousTimeError: 2009-10-31 23:30:00 - - -Problems with Localtime -~~~~~~~~~~~~~~~~~~~~~~~ - -The major problem we have to deal with is that certain datetimes -may occur twice in a year. For example, in the US/Eastern timezone -on the last Sunday morning in October, the following sequence -happens: - - - 01:00 EDT occurs - - 1 hour later, instead of 2:00am the clock is turned back 1 hour - and 01:00 happens again (this time 01:00 EST) - -In fact, every instant between 01:00 and 02:00 occurs twice. This means -that if you try and create a time in the 'US/Eastern' timezone -the standard datetime syntax, there is no way to specify if you meant -before of after the end-of-daylight-saving-time transition. Using the -pytz custom syntax, the best you can do is make an educated guess: - ->>> loc_dt = eastern.localize(datetime(2002, 10, 27, 1, 30, 00)) ->>> loc_dt.strftime(fmt) -'2002-10-27 01:30:00 EST-0500' - -As you can see, the system has chosen one for you and there is a 50% -chance of it being out by one hour. For some applications, this does -not matter. However, if you are trying to schedule meetings with people -in different timezones or analyze log files it is not acceptable. - -The best and simplest solution is to stick with using UTC. The pytz -package encourages using UTC for internal timezone representation by -including a special UTC implementation based on the standard Python -reference implementation in the Python documentation. - -The UTC timezone unpickles to be the same instance, and pickles to a -smaller size than other pytz tzinfo instances. The UTC implementation -can be obtained as pytz.utc, pytz.UTC, or pytz.timezone('UTC'). - ->>> import pickle, pytz ->>> dt = datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc) ->>> naive = dt.replace(tzinfo=None) ->>> p = pickle.dumps(dt, 1) ->>> naive_p = pickle.dumps(naive, 1) ->>> len(p) - len(naive_p) -17 ->>> new = pickle.loads(p) ->>> new == dt -True ->>> new is dt -False ->>> new.tzinfo is dt.tzinfo -True ->>> pytz.utc is pytz.UTC is pytz.timezone('UTC') -True - -Note that some other timezones are commonly thought of as the same (GMT, -Greenwich, Universal, etc.). The definition of UTC is distinct from these -other timezones, and they are not equivalent. For this reason, they will -not compare the same in Python. - ->>> utc == pytz.timezone('GMT') -False - -See the section `What is UTC`_, below. - -If you insist on working with local times, this library provides a -facility for constructing them unambiguously: - ->>> loc_dt = datetime(2002, 10, 27, 1, 30, 00) ->>> est_dt = eastern.localize(loc_dt, is_dst=True) ->>> edt_dt = eastern.localize(loc_dt, is_dst=False) ->>> print(est_dt.strftime(fmt) + ' / ' + edt_dt.strftime(fmt)) -2002-10-27 01:30:00 EDT-0400 / 2002-10-27 01:30:00 EST-0500 - -If you pass None as the is_dst flag to localize(), pytz will refuse to -guess and raise exceptions if you try to build ambiguous or non-existent -times. - -For example, 1:30am on 27th Oct 2002 happened twice in the US/Eastern -timezone when the clocks where put back at the end of Daylight Saving -Time: - ->>> dt = datetime(2002, 10, 27, 1, 30, 00) ->>> try: -... eastern.localize(dt, is_dst=None) -... except pytz.exceptions.AmbiguousTimeError: -... print('pytz.exceptions.AmbiguousTimeError: %s' % dt) -pytz.exceptions.AmbiguousTimeError: 2002-10-27 01:30:00 - -Similarly, 2:30am on 7th April 2002 never happened at all in the -US/Eastern timezone, as the clocks where put forward at 2:00am skipping -the entire hour: - ->>> dt = datetime(2002, 4, 7, 2, 30, 00) ->>> try: -... eastern.localize(dt, is_dst=None) -... except pytz.exceptions.NonExistentTimeError: -... print('pytz.exceptions.NonExistentTimeError: %s' % dt) -pytz.exceptions.NonExistentTimeError: 2002-04-07 02:30:00 - -Both of these exceptions share a common base class to make error handling -easier: - ->>> isinstance(pytz.AmbiguousTimeError(), pytz.InvalidTimeError) -True ->>> isinstance(pytz.NonExistentTimeError(), pytz.InvalidTimeError) -True - - -A special case is where countries change their timezone definitions -with no daylight savings time switch. For example, in 1915 Warsaw -switched from Warsaw time to Central European time with no daylight savings -transition. So at the stroke of midnight on August 5th 1915 the clocks -were wound back 24 minutes creating an ambiguous time period that cannot -be specified without referring to the timezone abbreviation or the -actual UTC offset. In this case midnight happened twice, neither time -during a daylight saving time period. pytz handles this transition by -treating the ambiguous period before the switch as daylight savings -time, and the ambiguous period after as standard time. - - ->>> warsaw = pytz.timezone('Europe/Warsaw') ->>> amb_dt1 = warsaw.localize(datetime(1915, 8, 4, 23, 59, 59), is_dst=True) ->>> amb_dt1.strftime(fmt) -'1915-08-04 23:59:59 WMT+0124' ->>> amb_dt2 = warsaw.localize(datetime(1915, 8, 4, 23, 59, 59), is_dst=False) ->>> amb_dt2.strftime(fmt) -'1915-08-04 23:59:59 CET+0100' ->>> switch_dt = warsaw.localize(datetime(1915, 8, 5, 00, 00, 00), is_dst=False) ->>> switch_dt.strftime(fmt) -'1915-08-05 00:00:00 CET+0100' ->>> str(switch_dt - amb_dt1) -'0:24:01' ->>> str(switch_dt - amb_dt2) -'0:00:01' - -The best way of creating a time during an ambiguous time period is -by converting from another timezone such as UTC: - ->>> utc_dt = datetime(1915, 8, 4, 22, 36, tzinfo=pytz.utc) ->>> utc_dt.astimezone(warsaw).strftime(fmt) -'1915-08-04 23:36:00 CET+0100' - -The standard Python way of handling all these ambiguities is not to -handle them, such as demonstrated in this example using the US/Eastern -timezone definition from the Python documentation (Note that this -implementation only works for dates between 1987 and 2006 - it is -included for tests only!): - ->>> from pytz.reference import Eastern # pytz.reference only for tests ->>> dt = datetime(2002, 10, 27, 0, 30, tzinfo=Eastern) ->>> str(dt) -'2002-10-27 00:30:00-04:00' ->>> str(dt + timedelta(hours=1)) -'2002-10-27 01:30:00-05:00' ->>> str(dt + timedelta(hours=2)) -'2002-10-27 02:30:00-05:00' ->>> str(dt + timedelta(hours=3)) -'2002-10-27 03:30:00-05:00' - -Notice the first two results? At first glance you might think they are -correct, but taking the UTC offset into account you find that they are -actually two hours appart instead of the 1 hour we asked for. - ->>> from pytz.reference import UTC # pytz.reference only for tests ->>> str(dt.astimezone(UTC)) -'2002-10-27 04:30:00+00:00' ->>> str((dt + timedelta(hours=1)).astimezone(UTC)) -'2002-10-27 06:30:00+00:00' - - -Country Information -~~~~~~~~~~~~~~~~~~~ - -A mechanism is provided to access the timezones commonly in use -for a particular country, looked up using the ISO 3166 country code. -It returns a list of strings that can be used to retrieve the relevant -tzinfo instance using ``pytz.timezone()``: - ->>> print(' '.join(pytz.country_timezones['nz'])) -Pacific/Auckland Pacific/Chatham - -The Olson database comes with a ISO 3166 country code to English country -name mapping that pytz exposes as a dictionary: - ->>> print(pytz.country_names['nz']) -New Zealand - - -What is UTC -~~~~~~~~~~~ - -'UTC' is `Coordinated Universal Time`_. It is a successor to, but distinct -from, Greenwich Mean Time (GMT) and the various definitions of Universal -Time. UTC is now the worldwide standard for regulating clocks and time -measurement. - -All other timezones are defined relative to UTC, and include offsets like -UTC+0800 - hours to add or subtract from UTC to derive the local time. No -daylight saving time occurs in UTC, making it a useful timezone to perform -date arithmetic without worrying about the confusion and ambiguities caused -by daylight saving time transitions, your country changing its timezone, or -mobile computers that roam through multiple timezones. - -.. _Coordinated Universal Time: https://en.wikipedia.org/wiki/Coordinated_Universal_Time - - -Helpers -~~~~~~~ - -There are two lists of timezones provided. - -``all_timezones`` is the exhaustive list of the timezone names that can -be used. - ->>> from pytz import all_timezones ->>> len(all_timezones) >= 500 -True ->>> 'Etc/Greenwich' in all_timezones -True - -``common_timezones`` is a list of useful, current timezones. It doesn't -contain deprecated zones or historical zones, except for a few I've -deemed in common usage, such as US/Eastern (open a bug report if you -think other timezones are deserving of being included here). It is also -a sequence of strings. - ->>> from pytz import common_timezones ->>> len(common_timezones) < len(all_timezones) -True ->>> 'Etc/Greenwich' in common_timezones -False ->>> 'Australia/Melbourne' in common_timezones -True ->>> 'US/Eastern' in common_timezones -True ->>> 'Canada/Eastern' in common_timezones -True ->>> 'Australia/Yancowinna' in all_timezones -True ->>> 'Australia/Yancowinna' in common_timezones -False - -Both ``common_timezones`` and ``all_timezones`` are alphabetically -sorted: - ->>> common_timezones_dupe = common_timezones[:] ->>> common_timezones_dupe.sort() ->>> common_timezones == common_timezones_dupe -True ->>> all_timezones_dupe = all_timezones[:] ->>> all_timezones_dupe.sort() ->>> all_timezones == all_timezones_dupe -True - -``all_timezones`` and ``common_timezones`` are also available as sets. - ->>> from pytz import all_timezones_set, common_timezones_set ->>> 'US/Eastern' in all_timezones_set -True ->>> 'US/Eastern' in common_timezones_set -True ->>> 'Australia/Victoria' in common_timezones_set -False - -You can also retrieve lists of timezones used by particular countries -using the ``country_timezones()`` function. It requires an ISO-3166 -two letter country code. - ->>> from pytz import country_timezones ->>> print(' '.join(country_timezones('ch'))) -Europe/Zurich ->>> print(' '.join(country_timezones('CH'))) -Europe/Zurich - - -Internationalization - i18n/l10n -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Pytz is an interface to the IANA database, which uses ASCII names. The `Unicode Consortium's Unicode Locales (CLDR) <http://cldr.unicode.org>`_ -project provides translations. Thomas Khyn's -`l18n <https://pypi.python.org/pypi/l18n>`_ package can be used to access -these translations from Python. - - -License -~~~~~~~ - -MIT license. - -This code is also available as part of Zope 3 under the Zope Public -License, Version 2.1 (ZPL). - -I'm happy to relicense this code if necessary for inclusion in other -open source projects. - - -Latest Versions -~~~~~~~~~~~~~~~ - -This package will be updated after releases of the Olson timezone -database. The latest version can be downloaded from the `Python Package -Index <http://pypi.python.org/pypi/pytz/>`_. The code that is used -to generate this distribution is hosted on launchpad.net and available -using git:: - - git clone https://git.launchpad.net/pytz - -A mirror on github is also available at https://github.com/stub42/pytz - -Announcements of new releases are made on -`Launchpad <https://launchpad.net/pytz>`_, and the -`Atom feed <http://feeds.launchpad.net/pytz/announcements.atom>`_ -hosted there. - - -Bugs, Feature Requests & Patches -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Bugs can be reported using `Launchpad <https://bugs.launchpad.net/pytz>`__. - - -Issues & Limitations -~~~~~~~~~~~~~~~~~~~~ - -- Offsets from UTC are rounded to the nearest whole minute, so timezones - such as Europe/Amsterdam pre 1937 will be up to 30 seconds out. This - is a limitation of the Python datetime library. - -- If you think a timezone definition is incorrect, I probably can't fix - it. pytz is a direct translation of the Olson timezone database, and - changes to the timezone definitions need to be made to this source. - If you find errors they should be reported to the time zone mailing - list, linked from http://www.iana.org/time-zones. - - -Further Reading -~~~~~~~~~~~~~~~ - -More info than you want to know about timezones: -http://www.twinsun.com/tz/tz-link.htm - - -Contact -~~~~~~~ - -Stuart Bishop <stuart@stuartbishop.net> - - - - diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/RECORD b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/RECORD deleted file mode 100644 index 61e79675..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/RECORD +++ /dev/null @@ -1,618 +0,0 @@ -pytz/__init__.py,sha256=HLT2xAEuJnK1FFTsEt6mINvFdtbDY57pp3gJaXzXH98,34206 -pytz/exceptions.py,sha256=_GCDPHpBk2r-CQIg3Kcyw8RCsLm2teJdnzT85bl5VsM,1329 -pytz/lazy.py,sha256=FVP_l131SClnqW_mrL_XCCGWhwZbK4q6sUKSJrhU-I4,5264 -pytz/reference.py,sha256=zUtCki7JFEmrzrjNsfMD7YL0lWDxynKc1Ubo4iXSs74,3778 -pytz/tzfile.py,sha256=g2CMhXZ1PX2slgg5_Kk9TvmIkVKeOjbuONHEfZP6jMk,4745 -pytz/tzinfo.py,sha256=SfaVN7gM9YbpXRY_fwaZN_afF_ToCWG9lzNoDhwoCOs,19343 -pytz/zoneinfo/CET,sha256=PAApBF9vgLxahPG7jtNiMEVHWcVFeOuajBldFPRCITw,2102 -pytz/zoneinfo/CST6CDT,sha256=ROi1aeYAJ2R_mAGjPQtDvgEGptP2zQWWd-DtZcm4uDE,2294 -pytz/zoneinfo/Cuba,sha256=eHH4daiBn0FcKSUZ2xWQVWoNwabOaRv0969V5nFvuJQ,2437 -pytz/zoneinfo/EET,sha256=C_bSZpq0XBOhyb5Hw1GXL-tnF3C5CmHZ0xP8YLchsrQ,1876 -pytz/zoneinfo/EST,sha256=yedfESpJj_ADRFUcPFxKYr0V1cIY7pUfQ2OrIYxdiOs,127 -pytz/zoneinfo/EST5EDT,sha256=ec4n4DonUgkeiknMfnzMmsIC1sUt1dIkVx_oImL77sg,2294 -pytz/zoneinfo/Egypt,sha256=J5u-H6YtpnOHxjWTtgu2VSUu9cjxic9DRpCHdArytPw,1972 -pytz/zoneinfo/Eire,sha256=_xmXLVYbO2qb2w7Gmj7TtZylzNGxSSnim_htdXJV7sI,3543 -pytz/zoneinfo/Factory,sha256=RsnkmUKmJyK5vxc3_LgTDdFgk4-qfANYYu8CY3w3qh0,148 -pytz/zoneinfo/GB,sha256=sUxIYBnjyyWc-CNaDWpLw_9s-nJqFl8eot9APIrjG4Y,3687 -pytz/zoneinfo/GB-Eire,sha256=sUxIYBnjyyWc-CNaDWpLw_9s-nJqFl8eot9APIrjG4Y,3687 -pytz/zoneinfo/GMT,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/GMT+0,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/GMT-0,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/GMT0,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/Greenwich,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/HST,sha256=RASL999hvc9FlywTQmsDnw002AlH1gomAxg7O2vkAn8,128 -pytz/zoneinfo/Hongkong,sha256=l4b75K2bgg9hpWZLO4XdYBqm6RUsk_9OFL1U7_348dU,1189 -pytz/zoneinfo/Iceland,sha256=nNzqaqHu2CdtP2Yg4MD_rpz8w3IsRD6mujkUeXXq-qM,1188 -pytz/zoneinfo/Iran,sha256=53RfdtZdlFhrpyM-e_9UkRiHSA-l4j8cU_5eV0P0seM,1718 -pytz/zoneinfo/Israel,sha256=YAGe4NHetuaZShpclRhh4dufmSpcAn-8TjYX-ULAIc8,2265 -pytz/zoneinfo/Jamaica,sha256=4HgRkHt_dzDZ_cphNjf-99hZrJ_h1GuKfaKAEBeFByU,507 -pytz/zoneinfo/Japan,sha256=TVmM6j_lW0SvvZxvYD90iWDkqYBuHqHof8Lyu5ghQ3c,318 -pytz/zoneinfo/Kwajalein,sha256=CQLqlpOXlUrsuxL6X5HToAlr1EO7rqNqlu5Lk9lXuiU,259 -pytz/zoneinfo/Libya,sha256=j_U_cHKGP7VvHnEzk5K23n5QZ176QzO54DK2d8nJpSc,655 -pytz/zoneinfo/MET,sha256=H_8zGkQU6YCX0zvsGpu_KhVdmRtXrNG7TBH4VZ-05RQ,2102 -pytz/zoneinfo/MST,sha256=-PthAFYIe7PKjs9c3LUwXBZStkn95RL2BrnuGzVW-54,127 -pytz/zoneinfo/MST7MDT,sha256=hUUtAxUmYhF46bJMka9pt-zDDfRwNmaTeJVhNcTnNdA,2294 -pytz/zoneinfo/NZ,sha256=17UXU4eseOKfe5Ah5BFRJ1a-KD7T0YGZQu9dRezzOOQ,2460 -pytz/zoneinfo/NZ-CHAT,sha256=WAGfL6op3H23CBKTIwpyh2kFTdfA0PqelujEKZ5xMU0,2087 -pytz/zoneinfo/Navajo,sha256=9N88x0x50HCiWnkndE06QioF2GKpojShIQXFyWTvsi0,2453 -pytz/zoneinfo/PRC,sha256=lTYiu9frnrqMO56M1dXsmM6moIWp3rHEPknoiaFU00Q,414 -pytz/zoneinfo/PST8PDT,sha256=TY5pvUPo1x8PWOEVWTgU1owaaqRBJVsXs-mpKp1u_EY,2294 -pytz/zoneinfo/Poland,sha256=aOdJPBygUOQTQGKnSqSk_DIVnAQrTJ2NQMi_ydJzxfo,2705 -pytz/zoneinfo/Portugal,sha256=BlJ3y2OSp8XCHaZKgYRl63gGRbljlax12oqWfPXX4m8,3453 -pytz/zoneinfo/ROC,sha256=Jc_QK8hHvcsR5YZEW6iGp2MV8fm-hvfnSUSm6OhkRUM,790 -pytz/zoneinfo/ROK,sha256=It6UZCqXimr0Y9sXXp-ToykuioGnSouSmJvCF0N57dY,531 -pytz/zoneinfo/Singapore,sha256=5pKf3kP_xIu6xAgbMbv3_UJkOzwm-t8yK96t6yPPx0g,424 -pytz/zoneinfo/Turkey,sha256=ldOJ2-YltB_ZTylyeN94QXWsuqtz3jhrzcJAcT43kVI,2166 -pytz/zoneinfo/UCT,sha256=s7dihjysJWmqM_faGSWEr9mWXO63Jj_tSth8GzXkx9g,127 -pytz/zoneinfo/UTC,sha256=PHGzWL6B4TscJOGZoRn9AB2825Dtx9RMLHrhdTIaAhU,127 -pytz/zoneinfo/Universal,sha256=PHGzWL6B4TscJOGZoRn9AB2825Dtx9RMLHrhdTIaAhU,127 -pytz/zoneinfo/W-SU,sha256=AtVVFtD51JeZgmC08Smu5Zhnt3qSC6LKDFixXshYjno,1544 -pytz/zoneinfo/WET,sha256=5efEYxKV5_FwheNTD5n8KYTMfkvbmgfbdwLejBjCqrE,1873 -pytz/zoneinfo/Zulu,sha256=PHGzWL6B4TscJOGZoRn9AB2825Dtx9RMLHrhdTIaAhU,127 -pytz/zoneinfo/iso3166.tab,sha256=_ovReSwOfsa0JQfFijukM-vdrb9MMDHqym2pxB3vN9I,4445 -pytz/zoneinfo/leapseconds,sha256=_UTC3ZyD4sru4wvZDMAfpTjmvCbbdW4W14aSxDcLAgU,2196 -pytz/zoneinfo/posixrules,sha256=X6bczDAzUuEZXENIsYnzCFAU2KVqGXbI6KMr1P7baf0,3545 -pytz/zoneinfo/tzdata.zi,sha256=yzfNkSZ0FyPOYf26_uitFI9elj0sd7RxkAWWVPwj0dk,106443 -pytz/zoneinfo/zone.tab,sha256=ZGAZs-SsBpbFQjbi2U6h4_HjFzyhQPL4TE8hu8KvF3o,19161 -pytz/zoneinfo/zone1970.tab,sha256=LQZHiivjxhuGqRgOYLNyAbN9xYTan0Lv5lbffXa1zbU,17777 -pytz/zoneinfo/Africa/Abidjan,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Accra,sha256=6gqJ7DwlM5D3RhB8PqaTkicNjfDcLSrtbyP0z_hSv5E,842 -pytz/zoneinfo/Africa/Addis_Ababa,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Algiers,sha256=13fo7sueviaWkjSdqmtFskY-SjwtEHzNE5tiBsT6c8w,760 -pytz/zoneinfo/Africa/Asmara,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Asmera,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Bamako,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Bangui,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Banjul,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Bissau,sha256=lhNGThw-Sqv7WxXQvC6V8hK6Nw3XQYJBQnWMgyl39ss,208 -pytz/zoneinfo/Africa/Blantyre,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Brazzaville,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Bujumbura,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Cairo,sha256=J5u-H6YtpnOHxjWTtgu2VSUu9cjxic9DRpCHdArytPw,1972 -pytz/zoneinfo/Africa/Casablanca,sha256=es_hVvjPnP-Xq4-b5rgHkFiY0nZMtd9nFDRCDRfobWM,1643 -pytz/zoneinfo/Africa/Ceuta,sha256=OH0sNUEX_ioi9vO0KeQZOjMdPpPXAHpVxQs7nu3uY94,2059 -pytz/zoneinfo/Africa/Conakry,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Dakar,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Dar_es_Salaam,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Djibouti,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Douala,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/El_Aaiun,sha256=y9Km_PfK3OXHdW4-AawIfk2KoAJcgxWbLwId-cAHdxI,1473 -pytz/zoneinfo/Africa/Freetown,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Gaborone,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Harare,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Johannesburg,sha256=_OxCRwkZBdiKC4aejlx-5rz7p9tsMQFluqlQeLC-Ma8,271 -pytz/zoneinfo/Africa/Juba,sha256=c9mGxwFzx2PpsmLb82cSC8Kk9j8AbB1BLqmtq3fgnaM,683 -pytz/zoneinfo/Africa/Kampala,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Khartoum,sha256=Ulapb3g4LoLbgK2FkSQMOIb8WPmoP-lFBuOhkvvPL04,713 -pytz/zoneinfo/Africa/Kigali,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Kinshasa,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Lagos,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Libreville,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Lome,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Luanda,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Lubumbashi,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Lusaka,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Malabo,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Maputo,sha256=PX5tF8q9qhgUpW3d7AJofhCHvDM0_pIK0miokr8IBRE,171 -pytz/zoneinfo/Africa/Maseru,sha256=_OxCRwkZBdiKC4aejlx-5rz7p9tsMQFluqlQeLC-Ma8,271 -pytz/zoneinfo/Africa/Mbabane,sha256=_OxCRwkZBdiKC4aejlx-5rz7p9tsMQFluqlQeLC-Ma8,271 -pytz/zoneinfo/Africa/Mogadishu,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Monrovia,sha256=P5ZyyYmDr1lbPGJ0z4E1coyIFaT5yY_7oENwdgnl0SI,233 -pytz/zoneinfo/Africa/Nairobi,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Africa/Ndjamena,sha256=sTkcjt0js_c-C_rPi4eIAcWCBspCNJwwsi_Lfo0T3jo,225 -pytz/zoneinfo/Africa/Niamey,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Nouakchott,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Ouagadougou,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Porto-Novo,sha256=5AwzhvOlzYigPIEfow7Kw08xNo-WCueeSpDeKVxbGTg,171 -pytz/zoneinfo/Africa/Sao_Tome,sha256=Map5E0yFog4RDS-pZlph5CYIni9SDIfVz4ms-hCtV5o,234 -pytz/zoneinfo/Africa/Timbuktu,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Africa/Tripoli,sha256=j_U_cHKGP7VvHnEzk5K23n5QZ176QzO54DK2d8nJpSc,655 -pytz/zoneinfo/Africa/Tunis,sha256=7sw0Q20d2WxJ1rZx7WG8WUVI0oCpZ1N6llOEG1N6mpI,710 -pytz/zoneinfo/Africa/Windhoek,sha256=J_O-sdbHdSbf8RXdse_wDHnm2oR50D5VZpEe7ahH9r0,1030 -pytz/zoneinfo/America/Adak,sha256=xFyU0xZBPI9mav9l7R-Den4tOSJi3jHOWfrC6Woe3IE,2365 -pytz/zoneinfo/America/Anchorage,sha256=9d8Kb3-dQ8u9PnTTOiP-aGCA61WWX12SRrboWbPbnRg,2380 -pytz/zoneinfo/America/Anguilla,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Antigua,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Araguaina,sha256=-3_i0G6O5cXZqKVoyMs377sAhoJPONG8TYUF-WO1lw0,910 -pytz/zoneinfo/America/Aruba,sha256=Aj2HeTLzXYiXcvVh954mbIVBuYTgzivSV3I6r8fYg8E,212 -pytz/zoneinfo/America/Asuncion,sha256=Hin3zcUwQZrTHkr8j8Kt9A2Vd_VeIXSjqCNYoCd4DKI,2077 -pytz/zoneinfo/America/Atikokan,sha256=wwImtHK1B7WjC2lVfVbyT8yOlGcRDk0-wVwsUd5dJFw,345 -pytz/zoneinfo/America/Atka,sha256=xFyU0xZBPI9mav9l7R-Den4tOSJi3jHOWfrC6Woe3IE,2365 -pytz/zoneinfo/America/Bahia,sha256=LhwbXiV54VpiO_03dNtwOkm5N3kOaLRKa5mjCMbsumY,1050 -pytz/zoneinfo/America/Bahia_Banderas,sha256=nQ4Nn2FoY1pfmFUKFw1COFT_W2Ys4Nh0w8uncZm_HL0,1588 -pytz/zoneinfo/America/Barbados,sha256=mxp4V6Aa4qOumlHgtAz77ZG6xGhXntPAi1RGYna7sfo,344 -pytz/zoneinfo/America/Belem,sha256=hHSfYHXeWdxivWk0MZSAbP1VJkG5Eqb46WyDyZkUoYc,602 -pytz/zoneinfo/America/Belize,sha256=605XqMZX0MJT704KWvEYySjm5YdVZAgacUVjrd_Usxo,978 -pytz/zoneinfo/America/Blanc-Sablon,sha256=x9ODv7foUzEDD4CRqQVaX0JONnRAfKDHbM4GtaAxb9s,307 -pytz/zoneinfo/America/Boa_Vista,sha256=xXpj8iKAwsRlh0FJVu_I_KrcNu1CJYm0iSncx6tPZoA,658 -pytz/zoneinfo/America/Bogota,sha256=NhHeNPdl8tZewFk-ecZ43jYJJUmJhoDcRjm4xo9xN7o,271 -pytz/zoneinfo/America/Boise,sha256=MzU-8FzN2n3r51fPhl7nvXgDHzjGeXuPv8EfkBD1WhA,2403 -pytz/zoneinfo/America/Buenos_Aires,sha256=hBubypR_Ks2a3Gy1wQFxIE7s7B5G5gQmVPNVyJ3rxD8,1109 -pytz/zoneinfo/America/Cambridge_Bay,sha256=CurtWxBO6ZqxOp9bWnqvf2yaf1m979FdPJlRVRx7X28,2098 -pytz/zoneinfo/America/Campo_Grande,sha256=72crPAY39eZ3MH2idZvCYa-k8H5S_kUZf4WyEfi7k2Q,2016 -pytz/zoneinfo/America/Cancun,sha256=0iMWhz8wl5nG-X_vuKCoiX0N9Os3b4S7C3FgLsJA0E8,816 -pytz/zoneinfo/America/Caracas,sha256=lOjvrojgltbdCr2iZh2CbABPDFh_l3gssvkR7XyULxo,289 -pytz/zoneinfo/America/Catamarca,sha256=6ESo80xxwtBL_axrEekTtfIOqf3bXRRUM9CDEIfxxdY,1109 -pytz/zoneinfo/America/Cayenne,sha256=r43odEf3CTdZpZXMPUA-X6e1H8NSCVnE2lSVb_ushWo,224 -pytz/zoneinfo/America/Cayman,sha256=_E-7oUZToxhvPFtxn3ub99ilgkQBBkz21QggVZLlWp8,203 -pytz/zoneinfo/America/Chicago,sha256=FD8puVcXOkYAgYcjCjgSW9OgOz28ug3B0bhmEzH3FpM,3585 -pytz/zoneinfo/America/Chihuahua,sha256=p9FQ5xbbWxyWuw5QJSuAMG4dnovMK_kKOucHGQbnFRM,1522 -pytz/zoneinfo/America/Coral_Harbour,sha256=wwImtHK1B7WjC2lVfVbyT8yOlGcRDk0-wVwsUd5dJFw,345 -pytz/zoneinfo/America/Cordoba,sha256=JUow-bmwBVg1DQwfQKHZyHOARbt_6I5WyBu7n70WECY,1109 -pytz/zoneinfo/America/Costa_Rica,sha256=Tm_ymnduBTImv1kOvnNIlvkVDWkHTyKhahxxmaFITsU,341 -pytz/zoneinfo/America/Creston,sha256=l7dL7sNxS-UYIZ8kUzzCHt-bU9AfSreSpv4PiJc0Ses,233 -pytz/zoneinfo/America/Cuiaba,sha256=HfZRqJDrg60x5QP6EGl1Vfc1l0rkUBtIc11nzd9fSis,1988 -pytz/zoneinfo/America/Curacao,sha256=Aj2HeTLzXYiXcvVh954mbIVBuYTgzivSV3I6r8fYg8E,212 -pytz/zoneinfo/America/Danmarkshavn,sha256=CH45zW8QtpRLaLHeVXKJ7zN2lGfxspgGuWoWz45Djm4,712 -pytz/zoneinfo/America/Dawson,sha256=LQG0thFN-LDtiqZGVPd3hC8gcpgY8VZqXzQdc-9wk9w,2093 -pytz/zoneinfo/America/Dawson_Creek,sha256=KdAkW8BNrcuxlqO2qBus4WlkURZqdBfVuyqGEPN-xbo,1059 -pytz/zoneinfo/America/Denver,sha256=9N88x0x50HCiWnkndE06QioF2GKpojShIQXFyWTvsi0,2453 -pytz/zoneinfo/America/Detroit,sha256=2QN63tOQ0w4uMPIwIGKtYEJlGyYTkocu93LK1a-u2So,2188 -pytz/zoneinfo/America/Dominica,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Edmonton,sha256=ZnjCP4ZXO2yV5sdIoxeqjOkPaGNrza0Y2wgecJhvtU4,2402 -pytz/zoneinfo/America/Eirunepe,sha256=B3YSePXFiGfGRWJcm4GeoJ5HA9dlZOIxl55I1tLgiBo,690 -pytz/zoneinfo/America/El_Salvador,sha256=YyFbIToxUFv9VF_VKxEhTLYU8T8PVZEfQU7bRChuf4o,250 -pytz/zoneinfo/America/Ensenada,sha256=2Ce5W0-ha4xW2aFjY0HJESZX5WeuhLN6m_yhM64xurs,2356 -pytz/zoneinfo/America/Fort_Nelson,sha256=586aAc3TE9IDUhEkMDQcJi4bkBgt5JD8lcEy2qwRjOc,2249 -pytz/zoneinfo/America/Fort_Wayne,sha256=VcLz_rJB-IQ16YduduLGnd_Q39NqJztVH_SA4s-tmf4,1675 -pytz/zoneinfo/America/Fortaleza,sha256=yjzWzdTsX5RXQs1yqR5Tl1bgrS6sPfpir8ITlwYe6pk,742 -pytz/zoneinfo/America/Glace_Bay,sha256=5q8k47nxJAq7hhj6wybuOh7MzSXS-kk2sqKLCwiA5VA,2206 -pytz/zoneinfo/America/Godthab,sha256=NWzS1OdMlYYit3OFrgUJteqH5pHyEgcjD2_h-mfiIK8,1892 -pytz/zoneinfo/America/Goose_Bay,sha256=8MBsahhBzcN7-zEcEcq6HJdNDWwnclwEtpZX58oRKkk,3219 -pytz/zoneinfo/America/Grand_Turk,sha256=h1R2sPXBY_cCe7LMDJsqKCSKfaAqML9B_yPcmaTM3F4,1881 -pytz/zoneinfo/America/Grenada,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Guadeloupe,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Guatemala,sha256=eVzCXl_-glqLPYbu2YrV-bufbRUt8rYk8OKmOxfw7kM,306 -pytz/zoneinfo/America/Guayaquil,sha256=b1LAz_MhANeX5kAyxM4Z-lqUt1t2ePG-s8DLVJzcAPc,271 -pytz/zoneinfo/America/Guyana,sha256=_6TbnvnIopAjVd5Zs2k6o9q9IeegYFR3K_zXVJAuk0I,266 -pytz/zoneinfo/America/Halifax,sha256=Yn4YIYxvPD9EbElwq-gWRnLip7qUvPhBseBq9QiblOo,3438 -pytz/zoneinfo/America/Havana,sha256=eHH4daiBn0FcKSUZ2xWQVWoNwabOaRv0969V5nFvuJQ,2437 -pytz/zoneinfo/America/Hermosillo,sha256=7G6yHQaPHKjoCp6CUgatG1oEseirst2YHGyQt2hriCA,454 -pytz/zoneinfo/America/Indianapolis,sha256=VcLz_rJB-IQ16YduduLGnd_Q39NqJztVH_SA4s-tmf4,1675 -pytz/zoneinfo/America/Inuvik,sha256=6mTLwL-Sz4jIkXIi8R24g49C4tQTYM2Bu5P2aaK8aFs,1928 -pytz/zoneinfo/America/Iqaluit,sha256=64eXJQuL2MPQmJO08mH_sb7dZohpoFHI4sgPbA1jQIw,2046 -pytz/zoneinfo/America/Jamaica,sha256=4HgRkHt_dzDZ_cphNjf-99hZrJ_h1GuKfaKAEBeFByU,507 -pytz/zoneinfo/America/Jujuy,sha256=Iz9D-JWwjyHNKJGPvbnCKJJRHAmWrGIS4BnD6GaspFU,1081 -pytz/zoneinfo/America/Juneau,sha256=gYWRPuaPfscs2Y787mjRtr0MME4wOi3GE7Bs2X5jM8g,2362 -pytz/zoneinfo/America/Knox_IN,sha256=nnXdbFLFM5yOKxlf-KxqchLixehLK-MCPMNVlywg2FY,2437 -pytz/zoneinfo/America/Kralendijk,sha256=Aj2HeTLzXYiXcvVh954mbIVBuYTgzivSV3I6r8fYg8E,212 -pytz/zoneinfo/America/La_Paz,sha256=HxCwE66oWtVcOz9l1o-gm7pKvn-1MRAYaYgj8KuQmog,257 -pytz/zoneinfo/America/Lima,sha256=X1FNUkWrud58Nfq-1MTMhvbAJ1SM0b4EzISxIoeOGtM,431 -pytz/zoneinfo/America/Los_Angeles,sha256=_qnWb_ZSLmnSIHPcToQXm3ysLjcrOY3C-v39thqesuE,2845 -pytz/zoneinfo/America/Louisville,sha256=d5xqbFZndPlPdU2tiTbqf39q-wKO2cdrdNjzdTVUOe4,2781 -pytz/zoneinfo/America/Lower_Princes,sha256=Aj2HeTLzXYiXcvVh954mbIVBuYTgzivSV3I6r8fYg8E,212 -pytz/zoneinfo/America/Maceio,sha256=MkHOjfAASgy12y6zgAo9_ncMwdJNFE_uJ4YsTddACEA,770 -pytz/zoneinfo/America/Managua,sha256=o8HwC8h57oTmI9JSUvH7j_2M9DzZyLi_Era17agEVoM,463 -pytz/zoneinfo/America/Manaus,sha256=4SE-e5fPpYC0-ccow0_6ZKarJ3sGtViJOymcINNSjmw,630 -pytz/zoneinfo/America/Marigot,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Martinique,sha256=4IfD5K4gI0oIZnrc9qtM0Dqzru5-A1J48nHdsLZc__I,257 -pytz/zoneinfo/America/Matamoros,sha256=Q5jYMd9L_P2br6Iqw1zVXbt9_V8lwThFLorfJ16hFzU,1416 -pytz/zoneinfo/America/Mazatlan,sha256=k0C3GbJQdzJizsYudx0SEQWu0WiDZyPfwwXjC7BM-7E,1564 -pytz/zoneinfo/America/Mendoza,sha256=1Q8kXPHus2UNu91Fcg3caxxeIq7eeYHyC57-LHrGjE0,1109 -pytz/zoneinfo/America/Menominee,sha256=Rs7VgOdINNLGioCmCuBaC3FQFLsrTa1nz5lKwgzirCI,2283 -pytz/zoneinfo/America/Merida,sha256=7Nz0sp97Q5FSuem1WfBNfUunWd2ULC_WhaTuNnmPyNE,1456 -pytz/zoneinfo/America/Metlakatla,sha256=Sa1eT8VJ0NsuLMbc0pNuyxK4WR28OoBv_PhD34JA9qA,1418 -pytz/zoneinfo/America/Mexico_City,sha256=iLw_yxqS7wU-CvSvkFPsvxKFX98Y-FmypU2Cbb-stlU,1618 -pytz/zoneinfo/America/Miquelon,sha256=Ifq8nCyv2O70avkSYEDM7W7yfWSNc9SJUReBQ-a7AGs,1696 -pytz/zoneinfo/America/Moncton,sha256=EwDVqTuzdsvyOokKI-oF-isilIbn631ZWceDQmD7t7c,3163 -pytz/zoneinfo/America/Monterrey,sha256=idrcqFLr9S5EBclYEyJVwl-xlWBNffm4RL9QtIoIZdg,1416 -pytz/zoneinfo/America/Montevideo,sha256=y1QV_QxR8tFy4drYCJCKdvsnYGIcVW-SrcxyDrmyR40,1537 -pytz/zoneinfo/America/Montreal,sha256=hC96ED36ycDCwzycw5KhE9JmrAZMXHSXiDq0G3l84ZQ,3503 -pytz/zoneinfo/America/Montserrat,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Nassau,sha256=TJmdvMbGBFrL7fb9SPW3CyDrjYsL2WEtK-qI3AOqn00,2284 -pytz/zoneinfo/America/New_York,sha256=X6bczDAzUuEZXENIsYnzCFAU2KVqGXbI6KMr1P7baf0,3545 -pytz/zoneinfo/America/Nipigon,sha256=cQDKS_MEQhH_jncNreILaDiA85ZfFG673XLGRKrsfDc,2131 -pytz/zoneinfo/America/Nome,sha256=0xK8eX6xs4TM-6DECCLVCy4KvzfV2qQ90-JV_cdXOwA,2376 -pytz/zoneinfo/America/Noronha,sha256=y06Wj0Fe1T52kQjJ1flxDomHFq90U205twd7BCbzlg0,742 -pytz/zoneinfo/America/Ojinaga,sha256=oH_4_j7jUx-Gavyg95N9hqzsGCb7PqplXVQwDsItxxM,1522 -pytz/zoneinfo/America/Panama,sha256=_E-7oUZToxhvPFtxn3ub99ilgkQBBkz21QggVZLlWp8,203 -pytz/zoneinfo/America/Pangnirtung,sha256=G2pJdlPfkiDDCgIth-wqoTIK-eUbs83Eh1bnLXcKZzg,2108 -pytz/zoneinfo/America/Paramaribo,sha256=VwObMaaLMLoHMZFs_6e5obu1K_dlD3qmIFLomo_J7fY,296 -pytz/zoneinfo/America/Phoenix,sha256=nAE-z4K27R3eI1tfyYP-nSPI1W1hAyP3yUxro817RWQ,353 -pytz/zoneinfo/America/Port-au-Prince,sha256=sLYK0cVXxBWW4PzH_IubOURMeClbFHzuSV4pmFoiXaY,1455 -pytz/zoneinfo/America/Port_of_Spain,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Porto_Acre,sha256=FshszMk8fr_v-uiA5DnOhIBV5CFXiYLVyr74quwV-AI,662 -pytz/zoneinfo/America/Porto_Velho,sha256=Kfjaqo_coJDfcUXmns3JNs0_7azqC3I_XJPaKoyA-XY,602 -pytz/zoneinfo/America/Puerto_Rico,sha256=fu5E4ct6yIX91QQoFcVIvLbKhM_43gB-UrU8C5rVPxk,255 -pytz/zoneinfo/America/Punta_Arenas,sha256=M-JrPIvz3XEAFR08GEKumqjvabFflhqi7uLh3DUIxuU,1911 -pytz/zoneinfo/America/Rainy_River,sha256=mnuN1Mlo3jH-Nf2f4HX62K_BWJIGcRn2OLWu8NIojYM,2131 -pytz/zoneinfo/America/Rankin_Inlet,sha256=s644zPowkevYA3_V4f0nFacgCJMvlFJqFfsap_rnItw,1930 -pytz/zoneinfo/America/Recife,sha256=zrttMMILALxDfU4KjGoMkdsSCjrvLCi8VpYPaCs_www,742 -pytz/zoneinfo/America/Regina,sha256=kp0HRXQHUpY3Ym0J9cqXW08FgB810L-sTjsAJ-_uZ3Y,994 -pytz/zoneinfo/America/Resolute,sha256=xSkUGAdwRyWwWRh7n0WAgPkRtt1DE-dBOdLH2sKHyQE,1930 -pytz/zoneinfo/America/Rio_Branco,sha256=FshszMk8fr_v-uiA5DnOhIBV5CFXiYLVyr74quwV-AI,662 -pytz/zoneinfo/America/Rosario,sha256=JUow-bmwBVg1DQwfQKHZyHOARbt_6I5WyBu7n70WECY,1109 -pytz/zoneinfo/America/Santa_Isabel,sha256=2Ce5W0-ha4xW2aFjY0HJESZX5WeuhLN6m_yhM64xurs,2356 -pytz/zoneinfo/America/Santarem,sha256=eEQNAfTFt8E9Hb5lALpxGI79z5AGmXnICiJNgxyL2Xs,632 -pytz/zoneinfo/America/Santiago,sha256=A0WTAf1TQ-LArMtXwKvnGlyZBA3v4mSkPTK0MENXMe4,2538 -pytz/zoneinfo/America/Santo_Domingo,sha256=rfNJ5McxSqppnEiTxYmwd_bfp9mlTqnq5Fllj5r0Hcc,491 -pytz/zoneinfo/America/Sao_Paulo,sha256=5U8tGHsI7_0tGsnE9m1rwKMTZwSIeShVelx_dMI69Ag,2016 -pytz/zoneinfo/America/Scoresbysund,sha256=xmh3LUkybN43mNFYCJ0vnO1DeI-QQ2Cm3GelOGiyj5Y,1930 -pytz/zoneinfo/America/Shiprock,sha256=9N88x0x50HCiWnkndE06QioF2GKpojShIQXFyWTvsi0,2453 -pytz/zoneinfo/America/Sitka,sha256=unm4ns2OZNukEZ8sWvI3MWdVfEvHG3sTSrJS4LdIX9s,2350 -pytz/zoneinfo/America/St_Barthelemy,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/St_Johns,sha256=K5YKWNbT9qJycH-UH1WxW4uj_Q_VX4aA6oSvax6YuuA,3664 -pytz/zoneinfo/America/St_Kitts,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/St_Lucia,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/St_Thomas,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/St_Vincent,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Swift_Current,sha256=a2Ap8ErAfDguINMV2npy2SBNgT74NYXwQlYuf2eIp48,574 -pytz/zoneinfo/America/Tegucigalpa,sha256=_SlanMaJqWZ4a24OydDxAXlqyLTwSm9SmxkpN986IRU,278 -pytz/zoneinfo/America/Thule,sha256=mkdKH8dkNDRw0xA2nNv21wB-phERbiW-po9g3fWmzWg,1528 -pytz/zoneinfo/America/Thunder_Bay,sha256=rvReFHQ2n1Lhr7HNfzEunwNcoTaGCSzyNRo1MTPhzuY,2211 -pytz/zoneinfo/America/Tijuana,sha256=2Ce5W0-ha4xW2aFjY0HJESZX5WeuhLN6m_yhM64xurs,2356 -pytz/zoneinfo/America/Toronto,sha256=hC96ED36ycDCwzycw5KhE9JmrAZMXHSXiDq0G3l84ZQ,3503 -pytz/zoneinfo/America/Tortola,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Vancouver,sha256=i0FLmiC-Ca1hIU3ustv_O7G9Hp01Gnms6udX-g--kd0,2901 -pytz/zoneinfo/America/Virgin,sha256=smWcJn91VcBkBQVmAjTL4Nf-6tOl4p9BJy4oodfRiWI,170 -pytz/zoneinfo/America/Whitehorse,sha256=GGT-M9UeWHgKXIQApH58QubmZVq-SagswRpGEFkFgxM,2093 -pytz/zoneinfo/America/Winnipeg,sha256=d75cCPb46-UzD7hqYMREfqJUliBgn072p6emjRoS2dY,2891 -pytz/zoneinfo/America/Yakutat,sha256=B_GJ9JhzsTkpiey94Z0Z0zzWwWlTv35rknyi8QQPcQY,2314 -pytz/zoneinfo/America/Yellowknife,sha256=MUDef-QTb7SSDou47Y1wclbnjGcu384WV64iZy3mh2g,1980 -pytz/zoneinfo/America/Argentina/Buenos_Aires,sha256=hBubypR_Ks2a3Gy1wQFxIE7s7B5G5gQmVPNVyJ3rxD8,1109 -pytz/zoneinfo/America/Argentina/Catamarca,sha256=6ESo80xxwtBL_axrEekTtfIOqf3bXRRUM9CDEIfxxdY,1109 -pytz/zoneinfo/America/Argentina/ComodRivadavia,sha256=6ESo80xxwtBL_axrEekTtfIOqf3bXRRUM9CDEIfxxdY,1109 -pytz/zoneinfo/America/Argentina/Cordoba,sha256=JUow-bmwBVg1DQwfQKHZyHOARbt_6I5WyBu7n70WECY,1109 -pytz/zoneinfo/America/Argentina/Jujuy,sha256=Iz9D-JWwjyHNKJGPvbnCKJJRHAmWrGIS4BnD6GaspFU,1081 -pytz/zoneinfo/America/Argentina/La_Rioja,sha256=7cgtkiW4rjypEeqxT4IBqJFpKM-rIz4YL4B-cVzxhDU,1123 -pytz/zoneinfo/America/Argentina/Mendoza,sha256=1Q8kXPHus2UNu91Fcg3caxxeIq7eeYHyC57-LHrGjE0,1109 -pytz/zoneinfo/America/Argentina/Rio_Gallegos,sha256=92IGeyXMfmFBsGpurnd2TKzMy_6HFvE3DDPhaewuFyM,1109 -pytz/zoneinfo/America/Argentina/Salta,sha256=He7enBTtC03G5aQBEMcFYIPI_tVXuEqtwPoqBFQR5WA,1081 -pytz/zoneinfo/America/Argentina/San_Juan,sha256=EAwACwO5oOGcd42ega2OXCw020t9okxV1nwK2AUKZ8U,1123 -pytz/zoneinfo/America/Argentina/San_Luis,sha256=qxWxFBuHsTgeXK04b8N0tamiypIlBNpbhIB0-rkemrw,1139 -pytz/zoneinfo/America/Argentina/Tucuman,sha256=amI7vNIUTx5DiSd3CEveTiYTrm8iv5Le324dxuaCSLM,1137 -pytz/zoneinfo/America/Argentina/Ushuaia,sha256=AvmpZCaCPHvyX_FaHyQQaeLLFZadSNDGzDGq0Tp9D0k,1109 -pytz/zoneinfo/America/Indiana/Indianapolis,sha256=VcLz_rJB-IQ16YduduLGnd_Q39NqJztVH_SA4s-tmf4,1675 -pytz/zoneinfo/America/Indiana/Knox,sha256=nnXdbFLFM5yOKxlf-KxqchLixehLK-MCPMNVlywg2FY,2437 -pytz/zoneinfo/America/Indiana/Marengo,sha256=ZLuHZpp8FhRUsoPlhV4o3nZVRQaAzEA-6gVy5YDrJiU,1731 -pytz/zoneinfo/America/Indiana/Petersburg,sha256=PrXdUQ1nf5EY7EvKeJLbTtGBci-6-U75yxpEFxhAAyE,1913 -pytz/zoneinfo/America/Indiana/Tell_City,sha256=JoxThon0gV-Grh0QC0sHKnhdXmiwPecbdPQ3E1vFKEM,1735 -pytz/zoneinfo/America/Indiana/Vevay,sha256=XPcorCZ8zlG93xh1IZvw6ADVqqF3lNwsdAgpN3P1FuU,1423 -pytz/zoneinfo/America/Indiana/Vincennes,sha256=ip2zj3V1-eKmJMlGYSiSfK7w7qfpo4QWec1usSmwGdM,1703 -pytz/zoneinfo/America/Indiana/Winamac,sha256=0tyRkge425W9gq_2i4pJim077CwzIgulOB68oXHcwJU,1787 -pytz/zoneinfo/America/Kentucky/Louisville,sha256=d5xqbFZndPlPdU2tiTbqf39q-wKO2cdrdNjzdTVUOe4,2781 -pytz/zoneinfo/America/Kentucky/Monticello,sha256=uHCB5Gu-aIgWp-A8_cW07-EL1rkstaeA32sMhq9MGjc,2361 -pytz/zoneinfo/America/North_Dakota/Beulah,sha256=9gTrQvAZf17e_NbUMFGgtk5uEyfb0tPPqU0DSLI-H6g,2389 -pytz/zoneinfo/America/North_Dakota/Center,sha256=CO_qSvmitqWrJehhFs_PS5PBa6m3si92LZyzSB7POsg,2389 -pytz/zoneinfo/America/North_Dakota/New_Salem,sha256=xaQ-tndsMmsSUPkU8A6eAOEhubUfY2ZfkPJFN22iAXo,2389 -pytz/zoneinfo/Antarctica/Casey,sha256=Iugeekw_fyGr0Wg8Jb8wvyVhOxKogLYVnh29SnQMhZw,314 -pytz/zoneinfo/Antarctica/Davis,sha256=jex3sqIzidMMaApvsCQcrjLxwMcb8o_eFnm9sDWik5s,311 -pytz/zoneinfo/Antarctica/DumontDUrville,sha256=htHnKnytHZgX9X1FbjkYS3SUNqAng6Jy8hCZlK3fvVU,216 -pytz/zoneinfo/Antarctica/Macquarie,sha256=7cyqtCrc_H-khy_yK2P9wSijNU-n1EP4lbj3BozteI8,1543 -pytz/zoneinfo/Antarctica/Mawson,sha256=r6Suw22f-RmSlwtMZF4DiBDyXY5YEYpWVo28kiZwRUM,225 -pytz/zoneinfo/Antarctica/McMurdo,sha256=17UXU4eseOKfe5Ah5BFRJ1a-KD7T0YGZQu9dRezzOOQ,2460 -pytz/zoneinfo/Antarctica/Palmer,sha256=qj_H3RsfFZm_ce0yiuXbqB4JrD46kUaJ5-pf863CgYM,1432 -pytz/zoneinfo/Antarctica/Rothera,sha256=5n2et4tT06QVhlQCdY7KSVxpw0ftDKfVoCOMX3rAHYs,186 -pytz/zoneinfo/Antarctica/South_Pole,sha256=17UXU4eseOKfe5Ah5BFRJ1a-KD7T0YGZQu9dRezzOOQ,2460 -pytz/zoneinfo/Antarctica/Syowa,sha256=rvdl7Js_riztu68rUlUFAIqiTy9OBquuP3cKlnc4eHk,187 -pytz/zoneinfo/Antarctica/Troll,sha256=HYvf52cpJymYGZOmT9ii90WyQFjIvLzyG_OwttUHXC0,1176 -pytz/zoneinfo/Antarctica/Vostok,sha256=kD0gENiga-IM1XAA6J2S5vgwfco4EClCFaWM18fIY-I,187 -pytz/zoneinfo/Arctic/Longyearbyen,sha256=D6TmNdorF4-j6hP_OCnHAoRM-L1p4WvKjh0029kknQE,2251 -pytz/zoneinfo/Asia/Aden,sha256=MQLBdV2aZLLis2M4G79S1qAeuGak0s39DPfggyUXCU0,187 -pytz/zoneinfo/Asia/Almaty,sha256=RAFijG0qNkMO_d3sPZrrn_CR6F2qIdB4MpjN3-cMOMQ,1031 -pytz/zoneinfo/Asia/Amman,sha256=uhih-CP3fkeOcDDuuC3dcaXz-ubv31YyW3d2MEkS2gg,1877 -pytz/zoneinfo/Asia/Anadyr,sha256=tLiARdZiTiHLIzx8Yibt7oivtj4MqNTj31gNdKbIo0w,1222 -pytz/zoneinfo/Asia/Aqtau,sha256=4ueceTcbDIYBzI2p3GExRbYHIenFdDEO1Lf6mum6ows,1017 -pytz/zoneinfo/Asia/Aqtobe,sha256=zNKrBxj8imN7tEV25Mo_8mcVHMQIHcaX5p69Qm2-TB0,1047 -pytz/zoneinfo/Asia/Ashgabat,sha256=RihKzwD87pkYhu6Hn1B_lwvvQQWgXV4zBzagKzKdM3U,651 -pytz/zoneinfo/Asia/Ashkhabad,sha256=RihKzwD87pkYhu6Hn1B_lwvvQQWgXV4zBzagKzKdM3U,651 -pytz/zoneinfo/Asia/Atyrau,sha256=RIEq2hzMSatC3QTjxevo-fWSaCdlsOQAlyZiw0726TE,1025 -pytz/zoneinfo/Asia/Baghdad,sha256=lCupYy1WTx4p9g51p-31mNOwAVFezdfUA7FH5b9wPLE,1004 -pytz/zoneinfo/Asia/Bahrain,sha256=8V1FW1A6HZuZqbwV8n4Nh9m_PKyBAHCfajFA5jurVr0,225 -pytz/zoneinfo/Asia/Baku,sha256=jv_6GX9u4HR9YPSzfbiCPS9xLz33NQv7QEYWQdnnyjE,1269 -pytz/zoneinfo/Asia/Bangkok,sha256=z4ZnA6BbBnBp2wX4dYTVyKNIm8qtPkG7ASYJkEkVwRs,220 -pytz/zoneinfo/Asia/Barnaul,sha256=tVZVLYgcdynyGk-xDF5144ha_AjlOUYdQNbk41nc3X8,1255 -pytz/zoneinfo/Asia/Beirut,sha256=q9-lCe2YJFWHPBA1li2GQq6LiKt19_GppM9-6lzhIO8,2175 -pytz/zoneinfo/Asia/Bishkek,sha256=i0Sc9krX1GuuQZZ4f0cBK_0Imar9fKx3-HlN13MLQe4,1045 -pytz/zoneinfo/Asia/Brunei,sha256=zRTIn0Dq7Of4f5Z569b9wjNWwe4x2gMUAMWYBgRMpNE,229 -pytz/zoneinfo/Asia/Calcutta,sha256=xx17wQ1Sxk9Z6ujqxwHBsVa77D_Z_nUJcL7RXptAj6U,312 -pytz/zoneinfo/Asia/Chita,sha256=O8U3tsP2L7zRNM5MjljDUaV3C5IW8kg_HjbY7JA1s7w,1257 -pytz/zoneinfo/Asia/Choibalsan,sha256=bqCCcv547xUFi1gh0FPpB-qTfbm7bKj3HLmZekTGQxU,991 -pytz/zoneinfo/Asia/Chongqing,sha256=lTYiu9frnrqMO56M1dXsmM6moIWp3rHEPknoiaFU00Q,414 -pytz/zoneinfo/Asia/Chungking,sha256=lTYiu9frnrqMO56M1dXsmM6moIWp3rHEPknoiaFU00Q,414 -pytz/zoneinfo/Asia/Colombo,sha256=YBCKWuwII2tekTLTPecmSc3wH4VMhtAai9YJ2CC1abo,413 -pytz/zoneinfo/Asia/Dacca,sha256=sXYxwfswM__eFTkdL77E49KbhG_Sz7CJiYxrYTCOt7I,370 -pytz/zoneinfo/Asia/Damascus,sha256=D0LVcC7lKUTd5DBxVp3mRaXWaKOFxKLgzYqkPTnS6iE,2320 -pytz/zoneinfo/Asia/Dhaka,sha256=sXYxwfswM__eFTkdL77E49KbhG_Sz7CJiYxrYTCOt7I,370 -pytz/zoneinfo/Asia/Dili,sha256=H2kd8kTXNhPedYl1rcpUVO6akYIbP0OC6pt5PvBLH8Q,253 -pytz/zoneinfo/Asia/Dubai,sha256=UsGWhPtJQ3c9hsQ_eMete0audVeorp7RZQg0K9MZZ4o,187 -pytz/zoneinfo/Asia/Dushanbe,sha256=6DJSSg0CCjQBXkIxgr7AWSDB5ztBSaqxuzG3R5oKj0w,621 -pytz/zoneinfo/Asia/Famagusta,sha256=Sj5mdZwGD_XZ4zgWl4FngWHfW5rNmuxhRvHU08_ZAws,2042 -pytz/zoneinfo/Asia/Gaza,sha256=CyX6cPDZiEki7EtItwX9IeYYRdvFM7ho2X8GcoztcJk,2295 -pytz/zoneinfo/Asia/Harbin,sha256=lTYiu9frnrqMO56M1dXsmM6moIWp3rHEPknoiaFU00Q,414 -pytz/zoneinfo/Asia/Hebron,sha256=vhnpdBR0D4QJ0n8mlYX-8VloSV3i7GPymtZkhI3lCeg,2323 -pytz/zoneinfo/Asia/Ho_Chi_Minh,sha256=AT_8zxoFqee1CbVfa5SVad2eZ2v8zhDIhv_-WXRUQOU,389 -pytz/zoneinfo/Asia/Hong_Kong,sha256=l4b75K2bgg9hpWZLO4XdYBqm6RUsk_9OFL1U7_348dU,1189 -pytz/zoneinfo/Asia/Hovd,sha256=zcZfkT8rZ80dIyhpRFRsQvq7ZHILeKrzL4hgWhlDaJo,921 -pytz/zoneinfo/Asia/Irkutsk,sha256=d-2KOKnz5KZaXe1qhGCJxMimDrJFxHb37iDWJ4AwPu8,1276 -pytz/zoneinfo/Asia/Istanbul,sha256=ldOJ2-YltB_ZTylyeN94QXWsuqtz3jhrzcJAcT43kVI,2166 -pytz/zoneinfo/Asia/Jakarta,sha256=fqHD5ToNP0DLbXck8brLT8oc8K6W2atC8A8tMNwN7jo,392 -pytz/zoneinfo/Asia/Jayapura,sha256=xvok3i6D9HGHi44Q7NaIKOs6uh9JzkYtrHchZhOG6ww,251 -pytz/zoneinfo/Asia/Jerusalem,sha256=YAGe4NHetuaZShpclRhh4dufmSpcAn-8TjYX-ULAIc8,2265 -pytz/zoneinfo/Asia/Kabul,sha256=OGuYuVsZu-xSxtjzNOBKF49PmfK4oc6jPBQjdWaNcic,229 -pytz/zoneinfo/Asia/Kamchatka,sha256=pF1YfHE0YHy2_q3mr5oEIDw4se1IH3x86OsQ582XLKw,1198 -pytz/zoneinfo/Asia/Karachi,sha256=_EsqaK15763s9S8zP6GcuqXdCEzcm_lquLZadcVZo3A,417 -pytz/zoneinfo/Asia/Kashgar,sha256=muiGjfVEHOSsM6rtd39epog-uVBQt9ZtHl7FZIyeP8w,187 -pytz/zoneinfo/Asia/Kathmandu,sha256=XFV7hsXw_dGdEFr704vZ2qrRzQdenv2-gFR93Kha5a4,238 -pytz/zoneinfo/Asia/Katmandu,sha256=XFV7hsXw_dGdEFr704vZ2qrRzQdenv2-gFR93Kha5a4,238 -pytz/zoneinfo/Asia/Khandyga,sha256=AWnyrYKDL2RmmEytnMZz-0CY7hXhSyFSHOVPN6P6beM,1311 -pytz/zoneinfo/Asia/Kolkata,sha256=xx17wQ1Sxk9Z6ujqxwHBsVa77D_Z_nUJcL7RXptAj6U,312 -pytz/zoneinfo/Asia/Krasnoyarsk,sha256=kSLsPfnS8eF2ft-8nM5J58_5VJHLneI0xFiPmF6zYcg,1243 -pytz/zoneinfo/Asia/Kuala_Lumpur,sha256=Jo08wp2umFT-obkQnaKHNgLEiAaZTT898LnKmGP89Zs,424 -pytz/zoneinfo/Asia/Kuching,sha256=DQxo0s3c-UMQVrJ7iEyJlR3kVqSE_flqKxDHj68ZW9g,521 -pytz/zoneinfo/Asia/Kuwait,sha256=MQLBdV2aZLLis2M4G79S1qAeuGak0s39DPfggyUXCU0,187 -pytz/zoneinfo/Asia/Macao,sha256=HblvoKzHXMIYpHuzz0rPEB9sHWCbLPk6GUqiIL1A024,755 -pytz/zoneinfo/Asia/Macau,sha256=HblvoKzHXMIYpHuzz0rPEB9sHWCbLPk6GUqiIL1A024,755 -pytz/zoneinfo/Asia/Magadan,sha256=oy8CKyqps3D0GGYEfCi22WAHvsfn8F5P0aLwYREFfos,1258 -pytz/zoneinfo/Asia/Makassar,sha256=JPrJAWle9Dtz-os82eS_iTzrdXxSALZiiuag_HDwGVY,288 -pytz/zoneinfo/Asia/Manila,sha256=plPqwY61QQ1OaJIemnJqwyE9R4UjojT2rL1SZiHJjtc,367 -pytz/zoneinfo/Asia/Muscat,sha256=UsGWhPtJQ3c9hsQ_eMete0audVeorp7RZQg0K9MZZ4o,187 -pytz/zoneinfo/Asia/Nicosia,sha256=8qoqP3ekO3VYp1CKbNbFD999mR-dZNpZSP2QA5I7HXI,2016 -pytz/zoneinfo/Asia/Novokuznetsk,sha256=Rd8ggmbOQdzNrmpHtreCNaLnDE7rabKOMBJeA-e54NM,1197 -pytz/zoneinfo/Asia/Novosibirsk,sha256=U_VVwHg3jXJtttIDyWvufvybE4wQz9Y091CyjLYhK6U,1255 -pytz/zoneinfo/Asia/Omsk,sha256=4yv7l2J0ZXqJL1kYs_QuVsg42sBA4GrGDC02MYyA_Uk,1243 -pytz/zoneinfo/Asia/Oral,sha256=Td1mX4H5_-f6PHVA9QZd2tcidNoikTiF7v6GlRqFeZg,1039 -pytz/zoneinfo/Asia/Phnom_Penh,sha256=z4ZnA6BbBnBp2wX4dYTVyKNIm8qtPkG7ASYJkEkVwRs,220 -pytz/zoneinfo/Asia/Pontianak,sha256=JRasK8hP5kmKULyIZewA40mbOPL0hUA81QKFeKmNH9g,395 -pytz/zoneinfo/Asia/Pyongyang,sha256=rissnxFJK2dvRZhNnUA1RywJn1xrtWF_gtSxDZdvVo0,272 -pytz/zoneinfo/Asia/Qatar,sha256=8V1FW1A6HZuZqbwV8n4Nh9m_PKyBAHCfajFA5jurVr0,225 -pytz/zoneinfo/Asia/Qyzylorda,sha256=oUuEgD145jbzuaoGGUumf9IA16ejyospS_jWblF6mB4,1047 -pytz/zoneinfo/Asia/Rangoon,sha256=G0YFglrbrjxxNvPwVdfLrHb6rWJwNRbq-U_I0Q4d860,297 -pytz/zoneinfo/Asia/Riyadh,sha256=MQLBdV2aZLLis2M4G79S1qAeuGak0s39DPfggyUXCU0,187 -pytz/zoneinfo/Asia/Saigon,sha256=AT_8zxoFqee1CbVfa5SVad2eZ2v8zhDIhv_-WXRUQOU,389 -pytz/zoneinfo/Asia/Sakhalin,sha256=1q9n3YU-og7JKqOf3WR7cOwylgbnVlU2Aw291w8GIUg,1234 -pytz/zoneinfo/Asia/Samarkand,sha256=_ZKLVv8rb98eKMGY2Iceh5eUcxCd_DlaUdiq7Q77WSQ,619 -pytz/zoneinfo/Asia/Seoul,sha256=It6UZCqXimr0Y9sXXp-ToykuioGnSouSmJvCF0N57dY,531 -pytz/zoneinfo/Asia/Shanghai,sha256=lTYiu9frnrqMO56M1dXsmM6moIWp3rHEPknoiaFU00Q,414 -pytz/zoneinfo/Asia/Singapore,sha256=5pKf3kP_xIu6xAgbMbv3_UJkOzwm-t8yK96t6yPPx0g,424 -pytz/zoneinfo/Asia/Srednekolymsk,sha256=NcVF4k1hox9f1PpxLYtswJ7L393uEOW4WdaynlfZiAY,1244 -pytz/zoneinfo/Asia/Taipei,sha256=Jc_QK8hHvcsR5YZEW6iGp2MV8fm-hvfnSUSm6OhkRUM,790 -pytz/zoneinfo/Asia/Tashkent,sha256=hnTrUBzSXFQCWOlABs4VH5H2U4SegAqpeYZVG4nq1og,635 -pytz/zoneinfo/Asia/Tbilisi,sha256=vIjv31faZqqnHBXY-8NthyQq3Kd24QPd1VMapFyiEXc,1080 -pytz/zoneinfo/Asia/Tehran,sha256=53RfdtZdlFhrpyM-e_9UkRiHSA-l4j8cU_5eV0P0seM,1718 -pytz/zoneinfo/Asia/Tel_Aviv,sha256=YAGe4NHetuaZShpclRhh4dufmSpcAn-8TjYX-ULAIc8,2265 -pytz/zoneinfo/Asia/Thimbu,sha256=5UxNVlpL5fNCCbo1HHqt0QcdzPigOA1p4G6TakJSA6I,229 -pytz/zoneinfo/Asia/Thimphu,sha256=5UxNVlpL5fNCCbo1HHqt0QcdzPigOA1p4G6TakJSA6I,229 -pytz/zoneinfo/Asia/Tokyo,sha256=TVmM6j_lW0SvvZxvYD90iWDkqYBuHqHof8Lyu5ghQ3c,318 -pytz/zoneinfo/Asia/Tomsk,sha256=EULbQLkWeLSrPCk1NG9vC85qhDUzkqGrl9vroO4VgtU,1255 -pytz/zoneinfo/Asia/Ujung_Pandang,sha256=JPrJAWle9Dtz-os82eS_iTzrdXxSALZiiuag_HDwGVY,288 -pytz/zoneinfo/Asia/Ulaanbaatar,sha256=F6MdDqjq8NFIS1TlPWgD6uqoMnQNUho0Dh1cBz3pfiI,921 -pytz/zoneinfo/Asia/Ulan_Bator,sha256=F6MdDqjq8NFIS1TlPWgD6uqoMnQNUho0Dh1cBz3pfiI,921 -pytz/zoneinfo/Asia/Urumqi,sha256=muiGjfVEHOSsM6rtd39epog-uVBQt9ZtHl7FZIyeP8w,187 -pytz/zoneinfo/Asia/Ust-Nera,sha256=qw7b6IcYE-EVSNNGQVIYeKyhJjSkRoOUXSTvhQFr0Ko,1290 -pytz/zoneinfo/Asia/Vientiane,sha256=z4ZnA6BbBnBp2wX4dYTVyKNIm8qtPkG7ASYJkEkVwRs,220 -pytz/zoneinfo/Asia/Vladivostok,sha256=MutuFAWqBI5sujOW1LCa0E7QXCOdvLBU-C5Nu9LbvTE,1244 -pytz/zoneinfo/Asia/Yakutsk,sha256=VFA2qMtIBo1fb5i9KOuQu2wl0xNrWPAUhrh1eAUZII4,1243 -pytz/zoneinfo/Asia/Yangon,sha256=G0YFglrbrjxxNvPwVdfLrHb6rWJwNRbq-U_I0Q4d860,297 -pytz/zoneinfo/Asia/Yekaterinburg,sha256=iBnv8pqQrSwNNYj1bW6XTZlBnoAQS_yTEydPCjPgtZA,1281 -pytz/zoneinfo/Asia/Yerevan,sha256=LkVgEeng2MGVjBe_NBFv6JoyOQKAEOfbYa5GASyPIwQ,1213 -pytz/zoneinfo/Atlantic/Azores,sha256=LTa_HHde8eFANjfCnrm5rLqgTWhkqFMEwmKrKzYQPgQ,3477 -pytz/zoneinfo/Atlantic/Bermuda,sha256=Ri0gWQTzLct5MX-D3bTeoVSNUYSSF9w-QroXw8x_zwg,2004 -pytz/zoneinfo/Atlantic/Canary,sha256=RhfLGqdVFAA_GBkI6cz8HT0GLvIrsBloZ9vlMOwuFBY,1911 -pytz/zoneinfo/Atlantic/Cape_Verde,sha256=fuIInuQMbZtzQriYobQq8Lz8-dtg4bdyTuRujhLT-OQ,268 -pytz/zoneinfo/Atlantic/Faeroe,sha256=axpXafj_ouwpvymN_9f7Mk5iXjb8UnwUu2a2Ug5vdqc,1829 -pytz/zoneinfo/Atlantic/Faroe,sha256=axpXafj_ouwpvymN_9f7Mk5iXjb8UnwUu2a2Ug5vdqc,1829 -pytz/zoneinfo/Atlantic/Jan_Mayen,sha256=D6TmNdorF4-j6hP_OCnHAoRM-L1p4WvKjh0029kknQE,2251 -pytz/zoneinfo/Atlantic/Madeira,sha256=LxjcrU9Y3mrUujDXKRfDEGZCBD7yrjpDUuIHiBtMpTk,3468 -pytz/zoneinfo/Atlantic/Reykjavik,sha256=nNzqaqHu2CdtP2Yg4MD_rpz8w3IsRD6mujkUeXXq-qM,1188 -pytz/zoneinfo/Atlantic/South_Georgia,sha256=90Xco5ZMauPouIFm4Ntt9Ifuj25q1_saw61OarLgo2E,181 -pytz/zoneinfo/Atlantic/St_Helena,sha256=1d7RJt-PaTzh_4PoWqTUQYXCve99ofkVshT1Pe_97kc,170 -pytz/zoneinfo/Atlantic/Stanley,sha256=V-4n-sfXK6LDRyVwLlh2qidGKgmsS4QbQBIq_hA6TEE,1251 -pytz/zoneinfo/Australia/ACT,sha256=tUD44h7WprJiM24OsCDBirQ_KD6XdGE92YZCOVI-QjM,2223 -pytz/zoneinfo/Australia/Adelaide,sha256=c1R27vgWUtcYlXT4t6EclCqYaroktt3GRPvr0etJJFw,2238 -pytz/zoneinfo/Australia/Brisbane,sha256=dKyfXR0V7w9r2eacaHuQR_sfdJxZJ5R1aFch9XS0J8w,452 -pytz/zoneinfo/Australia/Broken_Hill,sha256=1kUWddO1r7hXLiy7TTgXMNoj2qO_y1dgH-b4FZhSN9s,2274 -pytz/zoneinfo/Australia/Canberra,sha256=tUD44h7WprJiM24OsCDBirQ_KD6XdGE92YZCOVI-QjM,2223 -pytz/zoneinfo/Australia/Currie,sha256=VDx6-uv92Qf41jfvzki_QcQH2nJli46cEvcgilTR2Eo,2223 -pytz/zoneinfo/Australia/Darwin,sha256=YXLYaHp4YI2ISwSQPTYFO9-1ZDNUGTCypCtAXLti3As,323 -pytz/zoneinfo/Australia/Eucla,sha256=Qsf5xEz42_1WSnU5uGJ42YKFR2V4vvS_wBzD_GHrsro,503 -pytz/zoneinfo/Australia/Hobart,sha256=3hu16C-Gd05wCCuQZGLgKgYiOOXE12FJVm4hscsxsjo,2335 -pytz/zoneinfo/Australia/LHI,sha256=CWJpde6GI4_V-FvCder62DvGlnCdeBRMwL1M7XWsry0,1889 -pytz/zoneinfo/Australia/Lindeman,sha256=Zj3zXwRKFcdDuXFuGDWVFH0MGDjpkUipRzYjrIIHa_k,522 -pytz/zoneinfo/Australia/Lord_Howe,sha256=CWJpde6GI4_V-FvCder62DvGlnCdeBRMwL1M7XWsry0,1889 -pytz/zoneinfo/Australia/Melbourne,sha256=JywfE9AeNealiFXLtTh4eVRRkorb8MjKKYK3nbH0UKc,2223 -pytz/zoneinfo/Australia/NSW,sha256=tUD44h7WprJiM24OsCDBirQ_KD6XdGE92YZCOVI-QjM,2223 -pytz/zoneinfo/Australia/North,sha256=YXLYaHp4YI2ISwSQPTYFO9-1ZDNUGTCypCtAXLti3As,323 -pytz/zoneinfo/Australia/Perth,sha256=Ts1KCFyp7Ft5AwFsLU4xEnYCSivNDDXUAoFljkhCH5M,479 -pytz/zoneinfo/Australia/Queensland,sha256=dKyfXR0V7w9r2eacaHuQR_sfdJxZJ5R1aFch9XS0J8w,452 -pytz/zoneinfo/Australia/South,sha256=c1R27vgWUtcYlXT4t6EclCqYaroktt3GRPvr0etJJFw,2238 -pytz/zoneinfo/Australia/Sydney,sha256=tUD44h7WprJiM24OsCDBirQ_KD6XdGE92YZCOVI-QjM,2223 -pytz/zoneinfo/Australia/Tasmania,sha256=3hu16C-Gd05wCCuQZGLgKgYiOOXE12FJVm4hscsxsjo,2335 -pytz/zoneinfo/Australia/Victoria,sha256=JywfE9AeNealiFXLtTh4eVRRkorb8MjKKYK3nbH0UKc,2223 -pytz/zoneinfo/Australia/West,sha256=Ts1KCFyp7Ft5AwFsLU4xEnYCSivNDDXUAoFljkhCH5M,479 -pytz/zoneinfo/Australia/Yancowinna,sha256=1kUWddO1r7hXLiy7TTgXMNoj2qO_y1dgH-b4FZhSN9s,2274 -pytz/zoneinfo/Brazil/Acre,sha256=FshszMk8fr_v-uiA5DnOhIBV5CFXiYLVyr74quwV-AI,662 -pytz/zoneinfo/Brazil/DeNoronha,sha256=y06Wj0Fe1T52kQjJ1flxDomHFq90U205twd7BCbzlg0,742 -pytz/zoneinfo/Brazil/East,sha256=5U8tGHsI7_0tGsnE9m1rwKMTZwSIeShVelx_dMI69Ag,2016 -pytz/zoneinfo/Brazil/West,sha256=4SE-e5fPpYC0-ccow0_6ZKarJ3sGtViJOymcINNSjmw,630 -pytz/zoneinfo/Canada/Atlantic,sha256=Yn4YIYxvPD9EbElwq-gWRnLip7qUvPhBseBq9QiblOo,3438 -pytz/zoneinfo/Canada/Central,sha256=d75cCPb46-UzD7hqYMREfqJUliBgn072p6emjRoS2dY,2891 -pytz/zoneinfo/Canada/Eastern,sha256=hC96ED36ycDCwzycw5KhE9JmrAZMXHSXiDq0G3l84ZQ,3503 -pytz/zoneinfo/Canada/Mountain,sha256=ZnjCP4ZXO2yV5sdIoxeqjOkPaGNrza0Y2wgecJhvtU4,2402 -pytz/zoneinfo/Canada/Newfoundland,sha256=K5YKWNbT9qJycH-UH1WxW4uj_Q_VX4aA6oSvax6YuuA,3664 -pytz/zoneinfo/Canada/Pacific,sha256=i0FLmiC-Ca1hIU3ustv_O7G9Hp01Gnms6udX-g--kd0,2901 -pytz/zoneinfo/Canada/Saskatchewan,sha256=kp0HRXQHUpY3Ym0J9cqXW08FgB810L-sTjsAJ-_uZ3Y,994 -pytz/zoneinfo/Canada/Yukon,sha256=GGT-M9UeWHgKXIQApH58QubmZVq-SagswRpGEFkFgxM,2093 -pytz/zoneinfo/Chile/Continental,sha256=A0WTAf1TQ-LArMtXwKvnGlyZBA3v4mSkPTK0MENXMe4,2538 -pytz/zoneinfo/Chile/EasterIsland,sha256=CdfM__TGTQVJnXqxIiruUWk4Rtzk4kprAWWzGKRkPG8,2242 -pytz/zoneinfo/Etc/GMT,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/Etc/GMT+0,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/Etc/GMT+1,sha256=NdAE7bKgsRN64eo2We-OladTMw8HE_yUkp0PedgCGwc,148 -pytz/zoneinfo/Etc/GMT+10,sha256=R2JgPz9RwNUGPqVJ-aV4t-vybkf9cQmm40SVrD4Jsu0,149 -pytz/zoneinfo/Etc/GMT+11,sha256=iiNSHW6TMmKR29rPKFf4p4lwvvPdk6U1V9pMwuecNro,149 -pytz/zoneinfo/Etc/GMT+12,sha256=7HBG9-QSUvg5lQzgTj8g5BuiKOZ4quKkW1sFC6mQ5iY,149 -pytz/zoneinfo/Etc/GMT+2,sha256=ITGbjCY0qDSehMO-9CKZj23U95utkfefo4FFwfa2lN0,148 -pytz/zoneinfo/Etc/GMT+3,sha256=54Yd76CovF4O5Y2Kepk6wilQ4_7WCMlTLGgLdO9sxn8,148 -pytz/zoneinfo/Etc/GMT+4,sha256=Dwq3fFvspoIxSECQw47MHOIRsTVRHVQx3BmU-KJYDIk,148 -pytz/zoneinfo/Etc/GMT+5,sha256=vnzvMs8AlFILNE_EYbwodH5hfWBDuL4LCHHociXuhWg,148 -pytz/zoneinfo/Etc/GMT+6,sha256=0oXuyHOpGyZg_ymBYwRpMFbuYawem9NIXibEvMBn4EE,148 -pytz/zoneinfo/Etc/GMT+7,sha256=YxvlZZroNznhBW4Igom2Qsr00HvliH90xsyVTisOnlw,148 -pytz/zoneinfo/Etc/GMT+8,sha256=8O3l2BHg2LKDsYuArr5s5hcmdmTsMT_FvwHiiAqMQik,148 -pytz/zoneinfo/Etc/GMT+9,sha256=aqtVL5R5hrALLUP_KKMlere4iWcyK5zgZ-RcXqlswBQ,148 -pytz/zoneinfo/Etc/GMT-0,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/Etc/GMT-1,sha256=1ffwaC5xAA3jQ_zify6M_5435QywZL8PYSRdx_9oBu0,149 -pytz/zoneinfo/Etc/GMT-10,sha256=L9z9AMG-RjKYkdqStG9JJYs1wJ654RA-N4mj1YM463g,150 -pytz/zoneinfo/Etc/GMT-11,sha256=RDnIp9WoyHxHt6gb0ulTTIxnb2ENQDj987OVEIml25E,150 -pytz/zoneinfo/Etc/GMT-12,sha256=XwwsIc7EAg7DEWwDjKn_Xlqehj3bf8C-unE2wyGwWFE,150 -pytz/zoneinfo/Etc/GMT-13,sha256=DE5r_2NUQGN48r2xZfrgJfoQD-jH12xs-qu3Fvbwlso,150 -pytz/zoneinfo/Etc/GMT-14,sha256=RoX5LvpbvbYl3Y1kVKNAr4rAUQMItrZoR61fe8PE_IQ,150 -pytz/zoneinfo/Etc/GMT-2,sha256=UwM1smrAMG7cjwaDqDC8Hn9REa0ijfS3TBl9LLnDE4c,149 -pytz/zoneinfo/Etc/GMT-3,sha256=pZ4eSnByIqwi_vs6bcSVzvJmhyqU1R5cqGL_3nTvDEw,149 -pytz/zoneinfo/Etc/GMT-4,sha256=fWRx-INdpeeQb4Ig3ZZ0tmRXP-5lDwootatRqlSkUk4,149 -pytz/zoneinfo/Etc/GMT-5,sha256=M6Q5EwBIyLZACtCCsuQBHHuF-v6RceExEKqG8ma-36Q,149 -pytz/zoneinfo/Etc/GMT-6,sha256=8q4WvZo6mnV4jKE6KBvMOVZ8k6r1rVQC_L_rrEc7bPc,149 -pytz/zoneinfo/Etc/GMT-7,sha256=sON9m_SW83W3wCToG2rllDzLrOD_vstoTYvRhHxcuTo,149 -pytz/zoneinfo/Etc/GMT-8,sha256=XsZ4EfvOE-4jEj7uYHkb6MtfnIRFGuDYKXc4r5t_DMo,149 -pytz/zoneinfo/Etc/GMT-9,sha256=Fu1XzXw1d_3CLVdoOEHpIrIIpTXmEl5oa-T4cCp19IU,149 -pytz/zoneinfo/Etc/GMT0,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/Etc/Greenwich,sha256=17OYeQlBNdE-_SgpN2kLQ_SLtTWXzj54aX9I3M6us-w,127 -pytz/zoneinfo/Etc/UCT,sha256=s7dihjysJWmqM_faGSWEr9mWXO63Jj_tSth8GzXkx9g,127 -pytz/zoneinfo/Etc/UTC,sha256=PHGzWL6B4TscJOGZoRn9AB2825Dtx9RMLHrhdTIaAhU,127 -pytz/zoneinfo/Etc/Universal,sha256=PHGzWL6B4TscJOGZoRn9AB2825Dtx9RMLHrhdTIaAhU,127 -pytz/zoneinfo/Etc/Zulu,sha256=PHGzWL6B4TscJOGZoRn9AB2825Dtx9RMLHrhdTIaAhU,127 -pytz/zoneinfo/Europe/Amsterdam,sha256=ioE6xrjRtop5YCQsrlMloiaf0ceRsgP40i8t-jthuoc,2949 -pytz/zoneinfo/Europe/Andorra,sha256=rdVQXEcyJeM6iEoCEFYQqblQA_QpGVYkuVPBj3cTF68,1751 -pytz/zoneinfo/Europe/Astrakhan,sha256=oCdWH0k8AqBNaZkDoI6eeKx26zpxnEdJ2a6UgEGLqtg,1197 -pytz/zoneinfo/Europe/Athens,sha256=eZCQVRICwLhBf4NvrPdQSVc90cJ7XmretYT8xBQFETk,2271 -pytz/zoneinfo/Europe/Belfast,sha256=sUxIYBnjyyWc-CNaDWpLw_9s-nJqFl8eot9APIrjG4Y,3687 -pytz/zoneinfo/Europe/Belgrade,sha256=6VdUNiO6q6hJmbQBiOfglIRxt1qP9PiKuyZ-dz_rjlw,1957 -pytz/zoneinfo/Europe/Berlin,sha256=frk9y6YD1Sj99TYWDvaRHBb4NK_PiM4jo4K5f_KDGdQ,2335 -pytz/zoneinfo/Europe/Bratislava,sha256=j8jen-3wPulZUVlbC3AwxwmQutEKYowKVecCP36Di7I,2272 -pytz/zoneinfo/Europe/Brussels,sha256=83KpA6alfaQ6b1ANas7M_HToANff6Ip-r1bKJWRVfmY,2970 -pytz/zoneinfo/Europe/Bucharest,sha256=OzoAFzM7L0ZuWcisPcDPeqTwpGCAQKMYD3UrGdapNSY,2221 -pytz/zoneinfo/Europe/Budapest,sha256=tn8sRpCofylOpdNa45Z8iqi94ieus2w4dyheTpShdBg,2405 -pytz/zoneinfo/Europe/Busingen,sha256=vEX4xsgZBHfNquRvdwWfq3T96SoC_Fe3M_B8uaVemKM,1918 -pytz/zoneinfo/Europe/Chisinau,sha256=V0nwHHjQwv1Q0NwigMGVfOBBntv8fEBzxn5tp4FT2Mg,2445 -pytz/zoneinfo/Europe/Copenhagen,sha256=0tmjWe8C0q_ik_QpxP1g_AT7-NHYNDybIk3PwRbAEag,2160 -pytz/zoneinfo/Europe/Dublin,sha256=_xmXLVYbO2qb2w7Gmj7TtZylzNGxSSnim_htdXJV7sI,3543 -pytz/zoneinfo/Europe/Gibraltar,sha256=x5CI9nul0_qa2Ym9Vzv97w6GyJ4xDqcLw-AeFNyhB14,3061 -pytz/zoneinfo/Europe/Guernsey,sha256=sUxIYBnjyyWc-CNaDWpLw_9s-nJqFl8eot9APIrjG4Y,3687 -pytz/zoneinfo/Europe/Helsinki,sha256=7X2J-uH7QKlYLt1-A-0C1_6BukVrnB7Y1u5fC5MarUU,1909 -pytz/zoneinfo/Europe/Isle_of_Man,sha256=sUxIYBnjyyWc-CNaDWpLw_9s-nJqFl8eot9APIrjG4Y,3687 -pytz/zoneinfo/Europe/Istanbul,sha256=ldOJ2-YltB_ZTylyeN94QXWsuqtz3jhrzcJAcT43kVI,2166 -pytz/zoneinfo/Europe/Jersey,sha256=sUxIYBnjyyWc-CNaDWpLw_9s-nJqFl8eot9APIrjG4Y,3687 -pytz/zoneinfo/Europe/Kaliningrad,sha256=RQosb_adJitcXY71hEZOnIJ0s4mhw5t6vFqnBgjSlCU,1518 -pytz/zoneinfo/Europe/Kiev,sha256=JCkS3zIS4HJd7UqrJf2GnFLxPDzmGXZKiDrcu9k3r8U,2097 -pytz/zoneinfo/Europe/Kirov,sha256=pEJnMTy6Q_tnFiKvWxfNooXe8YT2Eh6OxgBxZGQ-PCU,1167 -pytz/zoneinfo/Europe/Lisbon,sha256=BlJ3y2OSp8XCHaZKgYRl63gGRbljlax12oqWfPXX4m8,3453 -pytz/zoneinfo/Europe/Ljubljana,sha256=6VdUNiO6q6hJmbQBiOfglIRxt1qP9PiKuyZ-dz_rjlw,1957 -pytz/zoneinfo/Europe/London,sha256=sUxIYBnjyyWc-CNaDWpLw_9s-nJqFl8eot9APIrjG4Y,3687 -pytz/zoneinfo/Europe/Luxembourg,sha256=kLdiWSdMeKQPNKpbWFRbVAnt-7ov0I76GzAIlstAYu4,2974 -pytz/zoneinfo/Europe/Madrid,sha256=dBA60eSPcfTNm20cA9zZe1jYe7iv-wKx1pZ7IEA269Y,2637 -pytz/zoneinfo/Europe/Malta,sha256=fEE0yNN70VnjH9c56LG4IDqfMCN4i9nIO4EJ42Hu5dU,2629 -pytz/zoneinfo/Europe/Mariehamn,sha256=7X2J-uH7QKlYLt1-A-0C1_6BukVrnB7Y1u5fC5MarUU,1909 -pytz/zoneinfo/Europe/Minsk,sha256=yCqoMaaP7ByRjSM5PXlf752_TQlIeRvLproJ9Fs4JsQ,1370 -pytz/zoneinfo/Europe/Monaco,sha256=fHIzWYiEF7hqZqYJ_90L7PgWc8uz6LARExCItNJva80,2953 -pytz/zoneinfo/Europe/Moscow,sha256=AtVVFtD51JeZgmC08Smu5Zhnt3qSC6LKDFixXshYjno,1544 -pytz/zoneinfo/Europe/Nicosia,sha256=8qoqP3ekO3VYp1CKbNbFD999mR-dZNpZSP2QA5I7HXI,2016 -pytz/zoneinfo/Europe/Oslo,sha256=D6TmNdorF4-j6hP_OCnHAoRM-L1p4WvKjh0029kknQE,2251 -pytz/zoneinfo/Europe/Paris,sha256=c1sI4nN94rR-efWW81dLWp6QGeVtLq0M3BfAsp6EpYU,2971 -pytz/zoneinfo/Europe/Podgorica,sha256=6VdUNiO6q6hJmbQBiOfglIRxt1qP9PiKuyZ-dz_rjlw,1957 -pytz/zoneinfo/Europe/Prague,sha256=j8jen-3wPulZUVlbC3AwxwmQutEKYowKVecCP36Di7I,2272 -pytz/zoneinfo/Europe/Riga,sha256=edEN67qidDRY0N7B-3HTxXbOqA0kX4SBnagqJdk8FAE,2235 -pytz/zoneinfo/Europe/Rome,sha256=Pv8u8s3Gfi9c_USGbNtNRIlWuJ6uiw439jEm8gaO6Ik,2692 -pytz/zoneinfo/Europe/Samara,sha256=UieObyK_kA-u2kJmB4z6f-0lzB1WU700XPMJD95ukRQ,1253 -pytz/zoneinfo/Europe/San_Marino,sha256=Pv8u8s3Gfi9c_USGbNtNRIlWuJ6uiw439jEm8gaO6Ik,2692 -pytz/zoneinfo/Europe/Sarajevo,sha256=6VdUNiO6q6hJmbQBiOfglIRxt1qP9PiKuyZ-dz_rjlw,1957 -pytz/zoneinfo/Europe/Saratov,sha256=KasqBfY0EmVqFDUV_lchio4ZuckW39Bd4VqHr8wNmEk,1197 -pytz/zoneinfo/Europe/Simferopol,sha256=se5vcU_Yj9Yf7231T5WrrLgN0wNsJemhBwj-ybEcNM8,1490 -pytz/zoneinfo/Europe/Skopje,sha256=6VdUNiO6q6hJmbQBiOfglIRxt1qP9PiKuyZ-dz_rjlw,1957 -pytz/zoneinfo/Europe/Sofia,sha256=FoE_sw8uu3gqgGzgZkAU3fv5IYkNMuw9E5i9GCv5JFw,2130 -pytz/zoneinfo/Europe/Stockholm,sha256=B7JC-ePYFQZjv69Bf-fSCZJ_wpn6xId4m3CEGVbDUzU,1918 -pytz/zoneinfo/Europe/Tallinn,sha256=48S6kWwlUAxwnFY5XAQKutYqg0-vr1FjqJl0t_ZrAZo,2187 -pytz/zoneinfo/Europe/Tirane,sha256=YtvGBqMqX1DOyobG-W0IjqaJvO1goWI8mG8EXN6ccwo,2098 -pytz/zoneinfo/Europe/Tiraspol,sha256=V0nwHHjQwv1Q0NwigMGVfOBBntv8fEBzxn5tp4FT2Mg,2445 -pytz/zoneinfo/Europe/Ulyanovsk,sha256=nP6H4QhGU2nxTb9fju2ShQKPZQDAnQbMPnh76UxVy5E,1281 -pytz/zoneinfo/Europe/Uzhgorod,sha256=CYV1tOxlmXWMhbytjdIdibyiE6n4kMDq1t79FIeHBfM,2103 -pytz/zoneinfo/Europe/Vaduz,sha256=vEX4xsgZBHfNquRvdwWfq3T96SoC_Fe3M_B8uaVemKM,1918 -pytz/zoneinfo/Europe/Vatican,sha256=Pv8u8s3Gfi9c_USGbNtNRIlWuJ6uiw439jEm8gaO6Ik,2692 -pytz/zoneinfo/Europe/Vienna,sha256=vkLDKtfFTxXc9d2UJeKJ_SC-vphuXowkChHf7sRlUPc,2237 -pytz/zoneinfo/Europe/Vilnius,sha256=da3AqQaznig_XlAgmEo280tPWO8dMJnvvImf8H8DX34,2199 -pytz/zoneinfo/Europe/Volgograd,sha256=DYtZim_d5NJa9aBEmZbqFZnl0RsmfAOZZzM60iLpobY,1167 -pytz/zoneinfo/Europe/Warsaw,sha256=aOdJPBygUOQTQGKnSqSk_DIVnAQrTJ2NQMi_ydJzxfo,2705 -pytz/zoneinfo/Europe/Zagreb,sha256=6VdUNiO6q6hJmbQBiOfglIRxt1qP9PiKuyZ-dz_rjlw,1957 -pytz/zoneinfo/Europe/Zaporozhye,sha256=tsUSe1JRiBjjtCEeieXh6aR5zKZfd2Ogr7FF1RLDjjQ,2115 -pytz/zoneinfo/Europe/Zurich,sha256=vEX4xsgZBHfNquRvdwWfq3T96SoC_Fe3M_B8uaVemKM,1918 -pytz/zoneinfo/Indian/Antananarivo,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Indian/Chagos,sha256=-dL8AQ0RKF2EMCSOepyhbF_meUnnaIZvALO-cKoOqHE,225 -pytz/zoneinfo/Indian/Christmas,sha256=bQlKPZsCLtBPxT5KZlWIvXP07q7pwjZntGlEusXbvgU,182 -pytz/zoneinfo/Indian/Cocos,sha256=OlfERtZzSgdGWbhU7VbOxTxAgxozwQUs5u9LXw9rAAk,191 -pytz/zoneinfo/Indian/Comoro,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Indian/Kerguelen,sha256=Tcqj3AwmKAl0mdLP03qyrXABHuMb6ffkU5HqL67mOwc,187 -pytz/zoneinfo/Indian/Mahe,sha256=gqbjMTmwOU6xpcuf-xUKQt9db8LFatJkIoXx1eVT_Rc,187 -pytz/zoneinfo/Indian/Maldives,sha256=tbkzs_xVSRRYfGr5VwKkwNk5QUGHN6iJU3LqUUqn1HU,220 -pytz/zoneinfo/Indian/Mauritius,sha256=8ldGbe0M4aMkxj5uvDo5NU5s3gUE8dqjUTbGhVJ47w8,267 -pytz/zoneinfo/Indian/Mayotte,sha256=8UO8uDuAvBrQu7itc2yFLmK762sxNEEr-ndoRmPtIio,285 -pytz/zoneinfo/Indian/Reunion,sha256=w9lerOsoBqgrHywJPz1zygz6ADStBEau--jEkE9qlV4,187 -pytz/zoneinfo/Mexico/BajaNorte,sha256=2Ce5W0-ha4xW2aFjY0HJESZX5WeuhLN6m_yhM64xurs,2356 -pytz/zoneinfo/Mexico/BajaSur,sha256=k0C3GbJQdzJizsYudx0SEQWu0WiDZyPfwwXjC7BM-7E,1564 -pytz/zoneinfo/Mexico/General,sha256=iLw_yxqS7wU-CvSvkFPsvxKFX98Y-FmypU2Cbb-stlU,1618 -pytz/zoneinfo/Pacific/Apia,sha256=-ySjHlON060LIs9HiNgMsX15E0YiUQ4qpnyHEtCXIcs,1134 -pytz/zoneinfo/Pacific/Auckland,sha256=17UXU4eseOKfe5Ah5BFRJ1a-KD7T0YGZQu9dRezzOOQ,2460 -pytz/zoneinfo/Pacific/Bougainville,sha256=wbZw1DSqbATL9ztkegflvn3PL_MGY-EMJODwz6vlWzY,296 -pytz/zoneinfo/Pacific/Chatham,sha256=WAGfL6op3H23CBKTIwpyh2kFTdfA0PqelujEKZ5xMU0,2087 -pytz/zoneinfo/Pacific/Chuuk,sha256=xS5vy1vR7giv8GVpgU-WEFwMGLf3n1C5AaC9fa95Kv0,183 -pytz/zoneinfo/Pacific/Easter,sha256=CdfM__TGTQVJnXqxIiruUWk4Rtzk4kprAWWzGKRkPG8,2242 -pytz/zoneinfo/Pacific/Efate,sha256=hdeSr_wnXfGhvc-QZ8tZ9rGri7k8RQzuEpOoFXpDxq0,492 -pytz/zoneinfo/Pacific/Enderbury,sha256=7wQKj2irOwQp5Y_r3MiJKMq8m3LAWgcziWc0nBQ-aRY,259 -pytz/zoneinfo/Pacific/Fakaofo,sha256=6827uX2Pp8miDs9ilk0gfx7YHnOjy-p33IvlFElQr20,221 -pytz/zoneinfo/Pacific/Fiji,sha256=QB9V_GcrmcI6UyDH4vqxWJkyMxOKuz9_kXHvsyMh3u8,1104 -pytz/zoneinfo/Pacific/Funafuti,sha256=gS8nZXbK5rvQE11AcA_eT85k-DD3X-qSjKvnfFHc5Xk,183 -pytz/zoneinfo/Pacific/Galapagos,sha256=NyfsZvcdhillY3fB86AExc-t4PbFK42ot8O6LTaZhgM,268 -pytz/zoneinfo/Pacific/Gambier,sha256=q9T35Rcx0lnjDsSzPCvLiZ4UfuEC6yeKGpsruAAcZNs,186 -pytz/zoneinfo/Pacific/Guadalcanal,sha256=pps6s6bmVBkzgxYJq4u8PtW_D_Z45Rkia435ZrSXPyA,188 -pytz/zoneinfo/Pacific/Guam,sha256=ZhNXbr302da-XrhJU50_dKT7E3rPa8-M2iDSjlxhLnc,225 -pytz/zoneinfo/Pacific/Honolulu,sha256=iIhYJL-RWppvOacDB5jagl40vnnRs1wkRGlqgcFZ8ug,276 -pytz/zoneinfo/Pacific/Johnston,sha256=iIhYJL-RWppvOacDB5jagl40vnnRs1wkRGlqgcFZ8ug,276 -pytz/zoneinfo/Pacific/Kiritimati,sha256=sVZD0n-D_hUauL7hWyTHcpRoQMWytE_JZakr-61FMYI,263 -pytz/zoneinfo/Pacific/Kosrae,sha256=sv8zf7bWQERLCFeLaUqG3WnGBYg0CU3pxqD0JxU1BwY,251 -pytz/zoneinfo/Pacific/Kwajalein,sha256=CQLqlpOXlUrsuxL6X5HToAlr1EO7rqNqlu5Lk9lXuiU,259 -pytz/zoneinfo/Pacific/Majuro,sha256=AUaIy2JAAQ9YuWZzUVzowgW99tikAznhN4zrKy_IrB0,221 -pytz/zoneinfo/Pacific/Marquesas,sha256=WmPeaBtT17_HKMXUkbKYarRzR6ny_RWm87b_l40vgm0,195 -pytz/zoneinfo/Pacific/Midway,sha256=chiirjhs1eiYGpQPa1b2-bYKZfPjvS7B_mydQ7rE2xo,196 -pytz/zoneinfo/Pacific/Nauru,sha256=ycOpbPxH12SVRZr8X8UDPknxXoTqD6bBNgzPY5nQPD0,282 -pytz/zoneinfo/Pacific/Niue,sha256=wWxzYx8oxBNR__kNMQi8V1HL1AAQ_fhy2hEqEOlzmlM,266 -pytz/zoneinfo/Pacific/Norfolk,sha256=MlnCrsJnd9hekhlCy_br-PUsIvJoqIfZ3aw9mJcqUYA,323 -pytz/zoneinfo/Pacific/Noumea,sha256=E-GLS7Qmw3ObNON9bNwA1IhyGgWGXN7KlK92JG9VpN4,328 -pytz/zoneinfo/Pacific/Pago_Pago,sha256=chiirjhs1eiYGpQPa1b2-bYKZfPjvS7B_mydQ7rE2xo,196 -pytz/zoneinfo/Pacific/Palau,sha256=Oa-WwW4Z_WAm0WzmQpH1kwQgp99T03Clri3oKmFnU4U,182 -pytz/zoneinfo/Pacific/Pitcairn,sha256=sK1MvocrTSCNRbxtMmKQzSQMGIYVDw7kJjg4YnaosLA,223 -pytz/zoneinfo/Pacific/Pohnpei,sha256=K_gUCmShapwdLwLACqVi80lhcli5YQOB6Ba6gAxZIVg,183 -pytz/zoneinfo/Pacific/Ponape,sha256=K_gUCmShapwdLwLACqVi80lhcli5YQOB6Ba6gAxZIVg,183 -pytz/zoneinfo/Pacific/Port_Moresby,sha256=H7RhP7S_JG9TfiZeRB_l9icTA330AzjP2Ay312joyl8,206 -pytz/zoneinfo/Pacific/Rarotonga,sha256=lpWohSiWZFEetl-TGGD1hOfFRD1vBbELUZeseDTUfN4,602 -pytz/zoneinfo/Pacific/Saipan,sha256=ZhNXbr302da-XrhJU50_dKT7E3rPa8-M2iDSjlxhLnc,225 -pytz/zoneinfo/Pacific/Samoa,sha256=chiirjhs1eiYGpQPa1b2-bYKZfPjvS7B_mydQ7rE2xo,196 -pytz/zoneinfo/Pacific/Tahiti,sha256=yaImId23N7XWNCaR3C2U4mXIGw50MBC2cTmG2xIvyFU,187 -pytz/zoneinfo/Pacific/Tarawa,sha256=KP6jhSgTWlT9ZC_j0ru0Gqjaa3yJLDmRqyYSqBFE55k,183 -pytz/zoneinfo/Pacific/Tongatapu,sha256=FNW_On_qIetsnmOXDR2tW5--3F9bD9P1Bp7nT3oPTY0,393 -pytz/zoneinfo/Pacific/Truk,sha256=xS5vy1vR7giv8GVpgU-WEFwMGLf3n1C5AaC9fa95Kv0,183 -pytz/zoneinfo/Pacific/Wake,sha256=A0anjPYQvEPq6HwKMy0wrFz5yVABpCZHMVY8zPPDgzE,183 -pytz/zoneinfo/Pacific/Wallis,sha256=g3aZvQetpj1jL8IwOmh-XvnhlOBjuseGBViFJYIG7lw,183 -pytz/zoneinfo/Pacific/Yap,sha256=xS5vy1vR7giv8GVpgU-WEFwMGLf3n1C5AaC9fa95Kv0,183 -pytz/zoneinfo/US/Alaska,sha256=9d8Kb3-dQ8u9PnTTOiP-aGCA61WWX12SRrboWbPbnRg,2380 -pytz/zoneinfo/US/Aleutian,sha256=xFyU0xZBPI9mav9l7R-Den4tOSJi3jHOWfrC6Woe3IE,2365 -pytz/zoneinfo/US/Arizona,sha256=nAE-z4K27R3eI1tfyYP-nSPI1W1hAyP3yUxro817RWQ,353 -pytz/zoneinfo/US/Central,sha256=FD8puVcXOkYAgYcjCjgSW9OgOz28ug3B0bhmEzH3FpM,3585 -pytz/zoneinfo/US/East-Indiana,sha256=VcLz_rJB-IQ16YduduLGnd_Q39NqJztVH_SA4s-tmf4,1675 -pytz/zoneinfo/US/Eastern,sha256=X6bczDAzUuEZXENIsYnzCFAU2KVqGXbI6KMr1P7baf0,3545 -pytz/zoneinfo/US/Hawaii,sha256=iIhYJL-RWppvOacDB5jagl40vnnRs1wkRGlqgcFZ8ug,276 -pytz/zoneinfo/US/Indiana-Starke,sha256=nnXdbFLFM5yOKxlf-KxqchLixehLK-MCPMNVlywg2FY,2437 -pytz/zoneinfo/US/Michigan,sha256=2QN63tOQ0w4uMPIwIGKtYEJlGyYTkocu93LK1a-u2So,2188 -pytz/zoneinfo/US/Mountain,sha256=9N88x0x50HCiWnkndE06QioF2GKpojShIQXFyWTvsi0,2453 -pytz/zoneinfo/US/Pacific,sha256=_qnWb_ZSLmnSIHPcToQXm3ysLjcrOY3C-v39thqesuE,2845 -pytz/zoneinfo/US/Samoa,sha256=chiirjhs1eiYGpQPa1b2-bYKZfPjvS7B_mydQ7rE2xo,196 -pytz-2018.3.dist-info/DESCRIPTION.rst,sha256=kkCa2BEeKlDxGt3XqnX62IzCU19tNG3EjoHhQAeerYI,19409 -pytz-2018.3.dist-info/METADATA,sha256=lekrfL4LUjtBihZ1-lL7AjaD2_atn9cZbOEZwhnI8Fg,20769 -pytz-2018.3.dist-info/RECORD,, -pytz-2018.3.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -pytz-2018.3.dist-info/metadata.json,sha256=wTPnNKdZug-iNMrqAk6FT3JDhwm5_9_6jNjeNI3jTLo,1435 -pytz-2018.3.dist-info/top_level.txt,sha256=6xRYlt934v1yHb1JIrXgHyGxn3cqACvd-yE8ski_kcc,5 -pytz-2018.3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -pytz-2018.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pytz/__pycache__/exceptions.cpython-36.pyc,, -pytz/__pycache__/tzinfo.cpython-36.pyc,, -pytz/__pycache__/reference.cpython-36.pyc,, -pytz/__pycache__/lazy.cpython-36.pyc,, -pytz/__pycache__/tzfile.cpython-36.pyc,, -pytz/__pycache__/__init__.cpython-36.pyc,, diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/WHEEL b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/WHEEL deleted file mode 100644 index 8b6dd1b5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/metadata.json b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/metadata.json deleted file mode 100644 index cc0e5845..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 6 - Mature", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "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"], "description_content_type": "UNKNOWN", "download_url": "http://pypi.python.org/pypi/pytz", "extensions": {"python.details": {"contacts": [{"email": "stuart@stuartbishop.net", "name": "Stuart Bishop", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://pythonhosted.org/pytz"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["timezone", "tzinfo", "datetime", "olson", "time"], "license": "MIT", "metadata_version": "2.0", "name": "pytz", "platform": "Independant", "summary": "World timezone definitions, modern and historical", "version": "2018.3"} \ No newline at end of file diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/top_level.txt b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/top_level.txt deleted file mode 100644 index af44f198..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -pytz diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/zip-safe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz-2018.3.dist-info/zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__init__.py deleted file mode 100644 index 5f753b66..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__init__.py +++ /dev/null @@ -1,1529 +0,0 @@ -''' -datetime.tzinfo timezone definitions generated from the -Olson timezone database: - - ftp://elsie.nci.nih.gov/pub/tz*.tar.gz - -See the datetime section of the Python Library Reference for information -on how to use these modules. -''' - -import sys -import datetime -import os.path - -from pytz.exceptions import AmbiguousTimeError -from pytz.exceptions import InvalidTimeError -from pytz.exceptions import NonExistentTimeError -from pytz.exceptions import UnknownTimeZoneError -from pytz.lazy import LazyDict, LazyList, LazySet -from pytz.tzinfo import unpickler -from pytz.tzfile import build_tzinfo - - -# The IANA (nee Olson) database is updated several times a year. -OLSON_VERSION = '2018c' -VERSION = '2018.3' # Switching to pip compatible version numbering. -__version__ = VERSION - -OLSEN_VERSION = OLSON_VERSION # Old releases had this misspelling - -__all__ = [ - 'timezone', 'utc', 'country_timezones', 'country_names', - 'AmbiguousTimeError', 'InvalidTimeError', - 'NonExistentTimeError', 'UnknownTimeZoneError', - 'all_timezones', 'all_timezones_set', - 'common_timezones', 'common_timezones_set', -] - - -try: - unicode - -except NameError: # Python 3.x - - # Python 3.x doesn't have unicode(), making writing code - # for Python 2.3 and Python 3.x a pain. - unicode = str - - def ascii(s): - r""" - >>> ascii('Hello') - 'Hello' - >>> ascii('\N{TRADE MARK SIGN}') #doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - UnicodeEncodeError: ... - """ - if type(s) == bytes: - s = s.decode('ASCII') - else: - s.encode('ASCII') # Raise an exception if not ASCII - return s # But the string - not a byte string. - -else: # Python 2.x - - def ascii(s): - r""" - >>> ascii('Hello') - 'Hello' - >>> ascii(u'Hello') - 'Hello' - >>> ascii(u'\N{TRADE MARK SIGN}') #doctest: +IGNORE_EXCEPTION_DETAIL - Traceback (most recent call last): - ... - UnicodeEncodeError: ... - """ - return s.encode('ASCII') - - -def open_resource(name): - """Open a resource from the zoneinfo subdir for reading. - - Uses the pkg_resources module if available and no standard file - found at the calculated location. - - It is possible to specify different location for zoneinfo - subdir by using the PYTZ_TZDATADIR environment variable. - """ - name_parts = name.lstrip('/').split('/') - for part in name_parts: - if part == os.path.pardir or os.path.sep in part: - raise ValueError('Bad path segment: %r' % part) - zoneinfo_dir = os.environ.get('PYTZ_TZDATADIR', None) - if zoneinfo_dir is not None: - filename = os.path.join(zoneinfo_dir, *name_parts) - else: - filename = os.path.join(os.path.dirname(__file__), - 'zoneinfo', *name_parts) - if not os.path.exists(filename): - # http://bugs.launchpad.net/bugs/383171 - we avoid using this - # unless absolutely necessary to help when a broken version of - # pkg_resources is installed. - try: - from pkg_resources import resource_stream - except ImportError: - resource_stream = None - - if resource_stream is not None: - return resource_stream(__name__, 'zoneinfo/' + name) - return open(filename, 'rb') - - -def resource_exists(name): - """Return true if the given resource exists""" - try: - open_resource(name).close() - return True - except IOError: - return False - - -_tzinfo_cache = {} - - -def timezone(zone): - r''' Return a datetime.tzinfo implementation for the given timezone - - >>> from datetime import datetime, timedelta - >>> utc = timezone('UTC') - >>> eastern = timezone('US/Eastern') - >>> eastern.zone - 'US/Eastern' - >>> timezone(unicode('US/Eastern')) is eastern - True - >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) - >>> loc_dt = utc_dt.astimezone(eastern) - >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' - >>> loc_dt.strftime(fmt) - '2002-10-27 01:00:00 EST (-0500)' - >>> (loc_dt - timedelta(minutes=10)).strftime(fmt) - '2002-10-27 00:50:00 EST (-0500)' - >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt) - '2002-10-27 01:50:00 EDT (-0400)' - >>> (loc_dt + timedelta(minutes=10)).strftime(fmt) - '2002-10-27 01:10:00 EST (-0500)' - - Raises UnknownTimeZoneError if passed an unknown zone. - - >>> try: - ... timezone('Asia/Shangri-La') - ... except UnknownTimeZoneError: - ... print('Unknown') - Unknown - - >>> try: - ... timezone(unicode('\N{TRADE MARK SIGN}')) - ... except UnknownTimeZoneError: - ... print('Unknown') - Unknown - - ''' - if zone.upper() == 'UTC': - return utc - - try: - zone = ascii(zone) - except UnicodeEncodeError: - # All valid timezones are ASCII - raise UnknownTimeZoneError(zone) - - zone = _unmunge_zone(zone) - if zone not in _tzinfo_cache: - if zone in all_timezones_set: - fp = open_resource(zone) - try: - _tzinfo_cache[zone] = build_tzinfo(zone, fp) - finally: - fp.close() - else: - raise UnknownTimeZoneError(zone) - - return _tzinfo_cache[zone] - - -def _unmunge_zone(zone): - """Undo the time zone name munging done by older versions of pytz.""" - return zone.replace('_plus_', '+').replace('_minus_', '-') - - -ZERO = datetime.timedelta(0) -HOUR = datetime.timedelta(hours=1) - - -class UTC(datetime.tzinfo): - """UTC - - Optimized UTC implementation. It unpickles using the single module global - instance defined beneath this class declaration. - """ - zone = "UTC" - - _utcoffset = ZERO - _dst = ZERO - _tzname = zone - - def fromutc(self, dt): - if dt.tzinfo is None: - return self.localize(dt) - return super(utc.__class__, self).fromutc(dt) - - def utcoffset(self, dt): - return ZERO - - def tzname(self, dt): - return "UTC" - - def dst(self, dt): - return ZERO - - def __reduce__(self): - return _UTC, () - - def localize(self, dt, is_dst=False): - '''Convert naive time to local time''' - if dt.tzinfo is not None: - raise ValueError('Not naive datetime (tzinfo is already set)') - return dt.replace(tzinfo=self) - - def normalize(self, dt, is_dst=False): - '''Correct the timezone information on the given datetime''' - if dt.tzinfo is self: - return dt - if dt.tzinfo is None: - raise ValueError('Naive time - no tzinfo set') - return dt.astimezone(self) - - def __repr__(self): - return "<UTC>" - - def __str__(self): - return "UTC" - - -UTC = utc = UTC() # UTC is a singleton - - -def _UTC(): - """Factory function for utc unpickling. - - Makes sure that unpickling a utc instance always returns the same - module global. - - These examples belong in the UTC class above, but it is obscured; or in - the README.txt, but we are not depending on Python 2.4 so integrating - the README.txt examples with the unit tests is not trivial. - - >>> import datetime, pickle - >>> dt = datetime.datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc) - >>> naive = dt.replace(tzinfo=None) - >>> p = pickle.dumps(dt, 1) - >>> naive_p = pickle.dumps(naive, 1) - >>> len(p) - len(naive_p) - 17 - >>> new = pickle.loads(p) - >>> new == dt - True - >>> new is dt - False - >>> new.tzinfo is dt.tzinfo - True - >>> utc is UTC is timezone('UTC') - True - >>> utc is timezone('GMT') - False - """ - return utc -_UTC.__safe_for_unpickling__ = True - - -def _p(*args): - """Factory function for unpickling pytz tzinfo instances. - - Just a wrapper around tzinfo.unpickler to save a few bytes in each pickle - by shortening the path. - """ - return unpickler(*args) -_p.__safe_for_unpickling__ = True - - -class _CountryTimezoneDict(LazyDict): - """Map ISO 3166 country code to a list of timezone names commonly used - in that country. - - iso3166_code is the two letter code used to identify the country. - - >>> def print_list(list_of_strings): - ... 'We use a helper so doctests work under Python 2.3 -> 3.x' - ... for s in list_of_strings: - ... print(s) - - >>> print_list(country_timezones['nz']) - Pacific/Auckland - Pacific/Chatham - >>> print_list(country_timezones['ch']) - Europe/Zurich - >>> print_list(country_timezones['CH']) - Europe/Zurich - >>> print_list(country_timezones[unicode('ch')]) - Europe/Zurich - >>> print_list(country_timezones['XXX']) - Traceback (most recent call last): - ... - KeyError: 'XXX' - - Previously, this information was exposed as a function rather than a - dictionary. This is still supported:: - - >>> print_list(country_timezones('nz')) - Pacific/Auckland - Pacific/Chatham - """ - def __call__(self, iso3166_code): - """Backwards compatibility.""" - return self[iso3166_code] - - def _fill(self): - data = {} - zone_tab = open_resource('zone.tab') - try: - for line in zone_tab: - line = line.decode('UTF-8') - if line.startswith('#'): - continue - code, coordinates, zone = line.split(None, 4)[:3] - if zone not in all_timezones_set: - continue - try: - data[code].append(zone) - except KeyError: - data[code] = [zone] - self.data = data - finally: - zone_tab.close() - -country_timezones = _CountryTimezoneDict() - - -class _CountryNameDict(LazyDict): - '''Dictionary proving ISO3166 code -> English name. - - >>> print(country_names['au']) - Australia - ''' - def _fill(self): - data = {} - zone_tab = open_resource('iso3166.tab') - try: - for line in zone_tab.readlines(): - line = line.decode('UTF-8') - if line.startswith('#'): - continue - code, name = line.split(None, 1) - data[code] = name.strip() - self.data = data - finally: - zone_tab.close() - -country_names = _CountryNameDict() - - -# Time-zone info based solely on fixed offsets - -class _FixedOffset(datetime.tzinfo): - - zone = None # to match the standard pytz API - - def __init__(self, minutes): - if abs(minutes) >= 1440: - raise ValueError("absolute offset is too large", minutes) - self._minutes = minutes - self._offset = datetime.timedelta(minutes=minutes) - - def utcoffset(self, dt): - return self._offset - - def __reduce__(self): - return FixedOffset, (self._minutes, ) - - def dst(self, dt): - return ZERO - - def tzname(self, dt): - return None - - def __repr__(self): - return 'pytz.FixedOffset(%d)' % self._minutes - - def localize(self, dt, is_dst=False): - '''Convert naive time to local time''' - if dt.tzinfo is not None: - raise ValueError('Not naive datetime (tzinfo is already set)') - return dt.replace(tzinfo=self) - - def normalize(self, dt, is_dst=False): - '''Correct the timezone information on the given datetime''' - if dt.tzinfo is self: - return dt - if dt.tzinfo is None: - raise ValueError('Naive time - no tzinfo set') - return dt.astimezone(self) - - -def FixedOffset(offset, _tzinfos={}): - """return a fixed-offset timezone based off a number of minutes. - - >>> one = FixedOffset(-330) - >>> one - pytz.FixedOffset(-330) - >>> one.utcoffset(datetime.datetime.now()) - datetime.timedelta(-1, 66600) - >>> one.dst(datetime.datetime.now()) - datetime.timedelta(0) - - >>> two = FixedOffset(1380) - >>> two - pytz.FixedOffset(1380) - >>> two.utcoffset(datetime.datetime.now()) - datetime.timedelta(0, 82800) - >>> two.dst(datetime.datetime.now()) - datetime.timedelta(0) - - The datetime.timedelta must be between the range of -1 and 1 day, - non-inclusive. - - >>> FixedOffset(1440) - Traceback (most recent call last): - ... - ValueError: ('absolute offset is too large', 1440) - - >>> FixedOffset(-1440) - Traceback (most recent call last): - ... - ValueError: ('absolute offset is too large', -1440) - - An offset of 0 is special-cased to return UTC. - - >>> FixedOffset(0) is UTC - True - - There should always be only one instance of a FixedOffset per timedelta. - This should be true for multiple creation calls. - - >>> FixedOffset(-330) is one - True - >>> FixedOffset(1380) is two - True - - It should also be true for pickling. - - >>> import pickle - >>> pickle.loads(pickle.dumps(one)) is one - True - >>> pickle.loads(pickle.dumps(two)) is two - True - """ - if offset == 0: - return UTC - - info = _tzinfos.get(offset) - if info is None: - # We haven't seen this one before. we need to save it. - - # Use setdefault to avoid a race condition and make sure we have - # only one - info = _tzinfos.setdefault(offset, _FixedOffset(offset)) - - return info - -FixedOffset.__safe_for_unpickling__ = True - - -def _test(): - import doctest - sys.path.insert(0, os.pardir) - import pytz - return doctest.testmod(pytz) - -if __name__ == '__main__': - _test() -all_timezones = \ -['Africa/Abidjan', - 'Africa/Accra', - 'Africa/Addis_Ababa', - 'Africa/Algiers', - 'Africa/Asmara', - 'Africa/Asmera', - 'Africa/Bamako', - 'Africa/Bangui', - 'Africa/Banjul', - 'Africa/Bissau', - 'Africa/Blantyre', - 'Africa/Brazzaville', - 'Africa/Bujumbura', - 'Africa/Cairo', - 'Africa/Casablanca', - 'Africa/Ceuta', - 'Africa/Conakry', - 'Africa/Dakar', - 'Africa/Dar_es_Salaam', - 'Africa/Djibouti', - 'Africa/Douala', - 'Africa/El_Aaiun', - 'Africa/Freetown', - 'Africa/Gaborone', - 'Africa/Harare', - 'Africa/Johannesburg', - 'Africa/Juba', - 'Africa/Kampala', - 'Africa/Khartoum', - 'Africa/Kigali', - 'Africa/Kinshasa', - 'Africa/Lagos', - 'Africa/Libreville', - 'Africa/Lome', - 'Africa/Luanda', - 'Africa/Lubumbashi', - 'Africa/Lusaka', - 'Africa/Malabo', - 'Africa/Maputo', - 'Africa/Maseru', - 'Africa/Mbabane', - 'Africa/Mogadishu', - 'Africa/Monrovia', - 'Africa/Nairobi', - 'Africa/Ndjamena', - 'Africa/Niamey', - 'Africa/Nouakchott', - 'Africa/Ouagadougou', - 'Africa/Porto-Novo', - 'Africa/Sao_Tome', - 'Africa/Timbuktu', - 'Africa/Tripoli', - 'Africa/Tunis', - 'Africa/Windhoek', - 'America/Adak', - 'America/Anchorage', - 'America/Anguilla', - 'America/Antigua', - 'America/Araguaina', - 'America/Argentina/Buenos_Aires', - 'America/Argentina/Catamarca', - 'America/Argentina/ComodRivadavia', - 'America/Argentina/Cordoba', - 'America/Argentina/Jujuy', - 'America/Argentina/La_Rioja', - 'America/Argentina/Mendoza', - 'America/Argentina/Rio_Gallegos', - 'America/Argentina/Salta', - 'America/Argentina/San_Juan', - 'America/Argentina/San_Luis', - 'America/Argentina/Tucuman', - 'America/Argentina/Ushuaia', - 'America/Aruba', - 'America/Asuncion', - 'America/Atikokan', - 'America/Atka', - 'America/Bahia', - 'America/Bahia_Banderas', - 'America/Barbados', - 'America/Belem', - 'America/Belize', - 'America/Blanc-Sablon', - 'America/Boa_Vista', - 'America/Bogota', - 'America/Boise', - 'America/Buenos_Aires', - 'America/Cambridge_Bay', - 'America/Campo_Grande', - 'America/Cancun', - 'America/Caracas', - 'America/Catamarca', - 'America/Cayenne', - 'America/Cayman', - 'America/Chicago', - 'America/Chihuahua', - 'America/Coral_Harbour', - 'America/Cordoba', - 'America/Costa_Rica', - 'America/Creston', - 'America/Cuiaba', - 'America/Curacao', - 'America/Danmarkshavn', - 'America/Dawson', - 'America/Dawson_Creek', - 'America/Denver', - 'America/Detroit', - 'America/Dominica', - 'America/Edmonton', - 'America/Eirunepe', - 'America/El_Salvador', - 'America/Ensenada', - 'America/Fort_Nelson', - 'America/Fort_Wayne', - 'America/Fortaleza', - 'America/Glace_Bay', - 'America/Godthab', - 'America/Goose_Bay', - 'America/Grand_Turk', - 'America/Grenada', - 'America/Guadeloupe', - 'America/Guatemala', - 'America/Guayaquil', - 'America/Guyana', - 'America/Halifax', - 'America/Havana', - 'America/Hermosillo', - 'America/Indiana/Indianapolis', - 'America/Indiana/Knox', - 'America/Indiana/Marengo', - 'America/Indiana/Petersburg', - 'America/Indiana/Tell_City', - 'America/Indiana/Vevay', - 'America/Indiana/Vincennes', - 'America/Indiana/Winamac', - 'America/Indianapolis', - 'America/Inuvik', - 'America/Iqaluit', - 'America/Jamaica', - 'America/Jujuy', - 'America/Juneau', - 'America/Kentucky/Louisville', - 'America/Kentucky/Monticello', - 'America/Knox_IN', - 'America/Kralendijk', - 'America/La_Paz', - 'America/Lima', - 'America/Los_Angeles', - 'America/Louisville', - 'America/Lower_Princes', - 'America/Maceio', - 'America/Managua', - 'America/Manaus', - 'America/Marigot', - 'America/Martinique', - 'America/Matamoros', - 'America/Mazatlan', - 'America/Mendoza', - 'America/Menominee', - 'America/Merida', - 'America/Metlakatla', - 'America/Mexico_City', - 'America/Miquelon', - 'America/Moncton', - 'America/Monterrey', - 'America/Montevideo', - 'America/Montreal', - 'America/Montserrat', - 'America/Nassau', - 'America/New_York', - 'America/Nipigon', - 'America/Nome', - 'America/Noronha', - 'America/North_Dakota/Beulah', - 'America/North_Dakota/Center', - 'America/North_Dakota/New_Salem', - 'America/Ojinaga', - 'America/Panama', - 'America/Pangnirtung', - 'America/Paramaribo', - 'America/Phoenix', - 'America/Port-au-Prince', - 'America/Port_of_Spain', - 'America/Porto_Acre', - 'America/Porto_Velho', - 'America/Puerto_Rico', - 'America/Punta_Arenas', - 'America/Rainy_River', - 'America/Rankin_Inlet', - 'America/Recife', - 'America/Regina', - 'America/Resolute', - 'America/Rio_Branco', - 'America/Rosario', - 'America/Santa_Isabel', - 'America/Santarem', - 'America/Santiago', - 'America/Santo_Domingo', - 'America/Sao_Paulo', - 'America/Scoresbysund', - 'America/Shiprock', - 'America/Sitka', - 'America/St_Barthelemy', - 'America/St_Johns', - 'America/St_Kitts', - 'America/St_Lucia', - 'America/St_Thomas', - 'America/St_Vincent', - 'America/Swift_Current', - 'America/Tegucigalpa', - 'America/Thule', - 'America/Thunder_Bay', - 'America/Tijuana', - 'America/Toronto', - 'America/Tortola', - 'America/Vancouver', - 'America/Virgin', - 'America/Whitehorse', - 'America/Winnipeg', - 'America/Yakutat', - 'America/Yellowknife', - 'Antarctica/Casey', - 'Antarctica/Davis', - 'Antarctica/DumontDUrville', - 'Antarctica/Macquarie', - 'Antarctica/Mawson', - 'Antarctica/McMurdo', - 'Antarctica/Palmer', - 'Antarctica/Rothera', - 'Antarctica/South_Pole', - 'Antarctica/Syowa', - 'Antarctica/Troll', - 'Antarctica/Vostok', - 'Arctic/Longyearbyen', - 'Asia/Aden', - 'Asia/Almaty', - 'Asia/Amman', - 'Asia/Anadyr', - 'Asia/Aqtau', - 'Asia/Aqtobe', - 'Asia/Ashgabat', - 'Asia/Ashkhabad', - 'Asia/Atyrau', - 'Asia/Baghdad', - 'Asia/Bahrain', - 'Asia/Baku', - 'Asia/Bangkok', - 'Asia/Barnaul', - 'Asia/Beirut', - 'Asia/Bishkek', - 'Asia/Brunei', - 'Asia/Calcutta', - 'Asia/Chita', - 'Asia/Choibalsan', - 'Asia/Chongqing', - 'Asia/Chungking', - 'Asia/Colombo', - 'Asia/Dacca', - 'Asia/Damascus', - 'Asia/Dhaka', - 'Asia/Dili', - 'Asia/Dubai', - 'Asia/Dushanbe', - 'Asia/Famagusta', - 'Asia/Gaza', - 'Asia/Harbin', - 'Asia/Hebron', - 'Asia/Ho_Chi_Minh', - 'Asia/Hong_Kong', - 'Asia/Hovd', - 'Asia/Irkutsk', - 'Asia/Istanbul', - 'Asia/Jakarta', - 'Asia/Jayapura', - 'Asia/Jerusalem', - 'Asia/Kabul', - 'Asia/Kamchatka', - 'Asia/Karachi', - 'Asia/Kashgar', - 'Asia/Kathmandu', - 'Asia/Katmandu', - 'Asia/Khandyga', - 'Asia/Kolkata', - 'Asia/Krasnoyarsk', - 'Asia/Kuala_Lumpur', - 'Asia/Kuching', - 'Asia/Kuwait', - 'Asia/Macao', - 'Asia/Macau', - 'Asia/Magadan', - 'Asia/Makassar', - 'Asia/Manila', - 'Asia/Muscat', - 'Asia/Nicosia', - 'Asia/Novokuznetsk', - 'Asia/Novosibirsk', - 'Asia/Omsk', - 'Asia/Oral', - 'Asia/Phnom_Penh', - 'Asia/Pontianak', - 'Asia/Pyongyang', - 'Asia/Qatar', - 'Asia/Qyzylorda', - 'Asia/Rangoon', - 'Asia/Riyadh', - 'Asia/Saigon', - 'Asia/Sakhalin', - 'Asia/Samarkand', - 'Asia/Seoul', - 'Asia/Shanghai', - 'Asia/Singapore', - 'Asia/Srednekolymsk', - 'Asia/Taipei', - 'Asia/Tashkent', - 'Asia/Tbilisi', - 'Asia/Tehran', - 'Asia/Tel_Aviv', - 'Asia/Thimbu', - 'Asia/Thimphu', - 'Asia/Tokyo', - 'Asia/Tomsk', - 'Asia/Ujung_Pandang', - 'Asia/Ulaanbaatar', - 'Asia/Ulan_Bator', - 'Asia/Urumqi', - 'Asia/Ust-Nera', - 'Asia/Vientiane', - 'Asia/Vladivostok', - 'Asia/Yakutsk', - 'Asia/Yangon', - 'Asia/Yekaterinburg', - 'Asia/Yerevan', - 'Atlantic/Azores', - 'Atlantic/Bermuda', - 'Atlantic/Canary', - 'Atlantic/Cape_Verde', - 'Atlantic/Faeroe', - 'Atlantic/Faroe', - 'Atlantic/Jan_Mayen', - 'Atlantic/Madeira', - 'Atlantic/Reykjavik', - 'Atlantic/South_Georgia', - 'Atlantic/St_Helena', - 'Atlantic/Stanley', - 'Australia/ACT', - 'Australia/Adelaide', - 'Australia/Brisbane', - 'Australia/Broken_Hill', - 'Australia/Canberra', - 'Australia/Currie', - 'Australia/Darwin', - 'Australia/Eucla', - 'Australia/Hobart', - 'Australia/LHI', - 'Australia/Lindeman', - 'Australia/Lord_Howe', - 'Australia/Melbourne', - 'Australia/NSW', - 'Australia/North', - 'Australia/Perth', - 'Australia/Queensland', - 'Australia/South', - 'Australia/Sydney', - 'Australia/Tasmania', - 'Australia/Victoria', - 'Australia/West', - 'Australia/Yancowinna', - 'Brazil/Acre', - 'Brazil/DeNoronha', - 'Brazil/East', - 'Brazil/West', - 'CET', - 'CST6CDT', - 'Canada/Atlantic', - 'Canada/Central', - 'Canada/Eastern', - 'Canada/Mountain', - 'Canada/Newfoundland', - 'Canada/Pacific', - 'Canada/Saskatchewan', - 'Canada/Yukon', - 'Chile/Continental', - 'Chile/EasterIsland', - 'Cuba', - 'EET', - 'EST', - 'EST5EDT', - 'Egypt', - 'Eire', - 'Etc/GMT', - 'Etc/GMT+0', - 'Etc/GMT+1', - 'Etc/GMT+10', - 'Etc/GMT+11', - 'Etc/GMT+12', - 'Etc/GMT+2', - 'Etc/GMT+3', - 'Etc/GMT+4', - 'Etc/GMT+5', - 'Etc/GMT+6', - 'Etc/GMT+7', - 'Etc/GMT+8', - 'Etc/GMT+9', - 'Etc/GMT-0', - 'Etc/GMT-1', - 'Etc/GMT-10', - 'Etc/GMT-11', - 'Etc/GMT-12', - 'Etc/GMT-13', - 'Etc/GMT-14', - 'Etc/GMT-2', - 'Etc/GMT-3', - 'Etc/GMT-4', - 'Etc/GMT-5', - 'Etc/GMT-6', - 'Etc/GMT-7', - 'Etc/GMT-8', - 'Etc/GMT-9', - 'Etc/GMT0', - 'Etc/Greenwich', - 'Etc/UCT', - 'Etc/UTC', - 'Etc/Universal', - 'Etc/Zulu', - 'Europe/Amsterdam', - 'Europe/Andorra', - 'Europe/Astrakhan', - 'Europe/Athens', - 'Europe/Belfast', - 'Europe/Belgrade', - 'Europe/Berlin', - 'Europe/Bratislava', - 'Europe/Brussels', - 'Europe/Bucharest', - 'Europe/Budapest', - 'Europe/Busingen', - 'Europe/Chisinau', - 'Europe/Copenhagen', - 'Europe/Dublin', - 'Europe/Gibraltar', - 'Europe/Guernsey', - 'Europe/Helsinki', - 'Europe/Isle_of_Man', - 'Europe/Istanbul', - 'Europe/Jersey', - 'Europe/Kaliningrad', - 'Europe/Kiev', - 'Europe/Kirov', - 'Europe/Lisbon', - 'Europe/Ljubljana', - 'Europe/London', - 'Europe/Luxembourg', - 'Europe/Madrid', - 'Europe/Malta', - 'Europe/Mariehamn', - 'Europe/Minsk', - 'Europe/Monaco', - 'Europe/Moscow', - 'Europe/Nicosia', - 'Europe/Oslo', - 'Europe/Paris', - 'Europe/Podgorica', - 'Europe/Prague', - 'Europe/Riga', - 'Europe/Rome', - 'Europe/Samara', - 'Europe/San_Marino', - 'Europe/Sarajevo', - 'Europe/Saratov', - 'Europe/Simferopol', - 'Europe/Skopje', - 'Europe/Sofia', - 'Europe/Stockholm', - 'Europe/Tallinn', - 'Europe/Tirane', - 'Europe/Tiraspol', - 'Europe/Ulyanovsk', - 'Europe/Uzhgorod', - 'Europe/Vaduz', - 'Europe/Vatican', - 'Europe/Vienna', - 'Europe/Vilnius', - 'Europe/Volgograd', - 'Europe/Warsaw', - 'Europe/Zagreb', - 'Europe/Zaporozhye', - 'Europe/Zurich', - 'GB', - 'GB-Eire', - 'GMT', - 'GMT+0', - 'GMT-0', - 'GMT0', - 'Greenwich', - 'HST', - 'Hongkong', - 'Iceland', - 'Indian/Antananarivo', - 'Indian/Chagos', - 'Indian/Christmas', - 'Indian/Cocos', - 'Indian/Comoro', - 'Indian/Kerguelen', - 'Indian/Mahe', - 'Indian/Maldives', - 'Indian/Mauritius', - 'Indian/Mayotte', - 'Indian/Reunion', - 'Iran', - 'Israel', - 'Jamaica', - 'Japan', - 'Kwajalein', - 'Libya', - 'MET', - 'MST', - 'MST7MDT', - 'Mexico/BajaNorte', - 'Mexico/BajaSur', - 'Mexico/General', - 'NZ', - 'NZ-CHAT', - 'Navajo', - 'PRC', - 'PST8PDT', - 'Pacific/Apia', - 'Pacific/Auckland', - 'Pacific/Bougainville', - 'Pacific/Chatham', - 'Pacific/Chuuk', - 'Pacific/Easter', - 'Pacific/Efate', - 'Pacific/Enderbury', - 'Pacific/Fakaofo', - 'Pacific/Fiji', - 'Pacific/Funafuti', - 'Pacific/Galapagos', - 'Pacific/Gambier', - 'Pacific/Guadalcanal', - 'Pacific/Guam', - 'Pacific/Honolulu', - 'Pacific/Johnston', - 'Pacific/Kiritimati', - 'Pacific/Kosrae', - 'Pacific/Kwajalein', - 'Pacific/Majuro', - 'Pacific/Marquesas', - 'Pacific/Midway', - 'Pacific/Nauru', - 'Pacific/Niue', - 'Pacific/Norfolk', - 'Pacific/Noumea', - 'Pacific/Pago_Pago', - 'Pacific/Palau', - 'Pacific/Pitcairn', - 'Pacific/Pohnpei', - 'Pacific/Ponape', - 'Pacific/Port_Moresby', - 'Pacific/Rarotonga', - 'Pacific/Saipan', - 'Pacific/Samoa', - 'Pacific/Tahiti', - 'Pacific/Tarawa', - 'Pacific/Tongatapu', - 'Pacific/Truk', - 'Pacific/Wake', - 'Pacific/Wallis', - 'Pacific/Yap', - 'Poland', - 'Portugal', - 'ROC', - 'ROK', - 'Singapore', - 'Turkey', - 'UCT', - 'US/Alaska', - 'US/Aleutian', - 'US/Arizona', - 'US/Central', - 'US/East-Indiana', - 'US/Eastern', - 'US/Hawaii', - 'US/Indiana-Starke', - 'US/Michigan', - 'US/Mountain', - 'US/Pacific', - 'US/Samoa', - 'UTC', - 'Universal', - 'W-SU', - 'WET', - 'Zulu'] -all_timezones = LazyList( - tz for tz in all_timezones if resource_exists(tz)) - -all_timezones_set = LazySet(all_timezones) -common_timezones = \ -['Africa/Abidjan', - 'Africa/Accra', - 'Africa/Addis_Ababa', - 'Africa/Algiers', - 'Africa/Asmara', - 'Africa/Bamako', - 'Africa/Bangui', - 'Africa/Banjul', - 'Africa/Bissau', - 'Africa/Blantyre', - 'Africa/Brazzaville', - 'Africa/Bujumbura', - 'Africa/Cairo', - 'Africa/Casablanca', - 'Africa/Ceuta', - 'Africa/Conakry', - 'Africa/Dakar', - 'Africa/Dar_es_Salaam', - 'Africa/Djibouti', - 'Africa/Douala', - 'Africa/El_Aaiun', - 'Africa/Freetown', - 'Africa/Gaborone', - 'Africa/Harare', - 'Africa/Johannesburg', - 'Africa/Juba', - 'Africa/Kampala', - 'Africa/Khartoum', - 'Africa/Kigali', - 'Africa/Kinshasa', - 'Africa/Lagos', - 'Africa/Libreville', - 'Africa/Lome', - 'Africa/Luanda', - 'Africa/Lubumbashi', - 'Africa/Lusaka', - 'Africa/Malabo', - 'Africa/Maputo', - 'Africa/Maseru', - 'Africa/Mbabane', - 'Africa/Mogadishu', - 'Africa/Monrovia', - 'Africa/Nairobi', - 'Africa/Ndjamena', - 'Africa/Niamey', - 'Africa/Nouakchott', - 'Africa/Ouagadougou', - 'Africa/Porto-Novo', - 'Africa/Sao_Tome', - 'Africa/Tripoli', - 'Africa/Tunis', - 'Africa/Windhoek', - 'America/Adak', - 'America/Anchorage', - 'America/Anguilla', - 'America/Antigua', - 'America/Araguaina', - 'America/Argentina/Buenos_Aires', - 'America/Argentina/Catamarca', - 'America/Argentina/Cordoba', - 'America/Argentina/Jujuy', - 'America/Argentina/La_Rioja', - 'America/Argentina/Mendoza', - 'America/Argentina/Rio_Gallegos', - 'America/Argentina/Salta', - 'America/Argentina/San_Juan', - 'America/Argentina/San_Luis', - 'America/Argentina/Tucuman', - 'America/Argentina/Ushuaia', - 'America/Aruba', - 'America/Asuncion', - 'America/Atikokan', - 'America/Bahia', - 'America/Bahia_Banderas', - 'America/Barbados', - 'America/Belem', - 'America/Belize', - 'America/Blanc-Sablon', - 'America/Boa_Vista', - 'America/Bogota', - 'America/Boise', - 'America/Cambridge_Bay', - 'America/Campo_Grande', - 'America/Cancun', - 'America/Caracas', - 'America/Cayenne', - 'America/Cayman', - 'America/Chicago', - 'America/Chihuahua', - 'America/Costa_Rica', - 'America/Creston', - 'America/Cuiaba', - 'America/Curacao', - 'America/Danmarkshavn', - 'America/Dawson', - 'America/Dawson_Creek', - 'America/Denver', - 'America/Detroit', - 'America/Dominica', - 'America/Edmonton', - 'America/Eirunepe', - 'America/El_Salvador', - 'America/Fort_Nelson', - 'America/Fortaleza', - 'America/Glace_Bay', - 'America/Godthab', - 'America/Goose_Bay', - 'America/Grand_Turk', - 'America/Grenada', - 'America/Guadeloupe', - 'America/Guatemala', - 'America/Guayaquil', - 'America/Guyana', - 'America/Halifax', - 'America/Havana', - 'America/Hermosillo', - 'America/Indiana/Indianapolis', - 'America/Indiana/Knox', - 'America/Indiana/Marengo', - 'America/Indiana/Petersburg', - 'America/Indiana/Tell_City', - 'America/Indiana/Vevay', - 'America/Indiana/Vincennes', - 'America/Indiana/Winamac', - 'America/Inuvik', - 'America/Iqaluit', - 'America/Jamaica', - 'America/Juneau', - 'America/Kentucky/Louisville', - 'America/Kentucky/Monticello', - 'America/Kralendijk', - 'America/La_Paz', - 'America/Lima', - 'America/Los_Angeles', - 'America/Lower_Princes', - 'America/Maceio', - 'America/Managua', - 'America/Manaus', - 'America/Marigot', - 'America/Martinique', - 'America/Matamoros', - 'America/Mazatlan', - 'America/Menominee', - 'America/Merida', - 'America/Metlakatla', - 'America/Mexico_City', - 'America/Miquelon', - 'America/Moncton', - 'America/Monterrey', - 'America/Montevideo', - 'America/Montserrat', - 'America/Nassau', - 'America/New_York', - 'America/Nipigon', - 'America/Nome', - 'America/Noronha', - 'America/North_Dakota/Beulah', - 'America/North_Dakota/Center', - 'America/North_Dakota/New_Salem', - 'America/Ojinaga', - 'America/Panama', - 'America/Pangnirtung', - 'America/Paramaribo', - 'America/Phoenix', - 'America/Port-au-Prince', - 'America/Port_of_Spain', - 'America/Porto_Velho', - 'America/Puerto_Rico', - 'America/Punta_Arenas', - 'America/Rainy_River', - 'America/Rankin_Inlet', - 'America/Recife', - 'America/Regina', - 'America/Resolute', - 'America/Rio_Branco', - 'America/Santarem', - 'America/Santiago', - 'America/Santo_Domingo', - 'America/Sao_Paulo', - 'America/Scoresbysund', - 'America/Sitka', - 'America/St_Barthelemy', - 'America/St_Johns', - 'America/St_Kitts', - 'America/St_Lucia', - 'America/St_Thomas', - 'America/St_Vincent', - 'America/Swift_Current', - 'America/Tegucigalpa', - 'America/Thule', - 'America/Thunder_Bay', - 'America/Tijuana', - 'America/Toronto', - 'America/Tortola', - 'America/Vancouver', - 'America/Whitehorse', - 'America/Winnipeg', - 'America/Yakutat', - 'America/Yellowknife', - 'Antarctica/Casey', - 'Antarctica/Davis', - 'Antarctica/DumontDUrville', - 'Antarctica/Macquarie', - 'Antarctica/Mawson', - 'Antarctica/McMurdo', - 'Antarctica/Palmer', - 'Antarctica/Rothera', - 'Antarctica/Syowa', - 'Antarctica/Troll', - 'Antarctica/Vostok', - 'Arctic/Longyearbyen', - 'Asia/Aden', - 'Asia/Almaty', - 'Asia/Amman', - 'Asia/Anadyr', - 'Asia/Aqtau', - 'Asia/Aqtobe', - 'Asia/Ashgabat', - 'Asia/Atyrau', - 'Asia/Baghdad', - 'Asia/Bahrain', - 'Asia/Baku', - 'Asia/Bangkok', - 'Asia/Barnaul', - 'Asia/Beirut', - 'Asia/Bishkek', - 'Asia/Brunei', - 'Asia/Chita', - 'Asia/Choibalsan', - 'Asia/Colombo', - 'Asia/Damascus', - 'Asia/Dhaka', - 'Asia/Dili', - 'Asia/Dubai', - 'Asia/Dushanbe', - 'Asia/Famagusta', - 'Asia/Gaza', - 'Asia/Hebron', - 'Asia/Ho_Chi_Minh', - 'Asia/Hong_Kong', - 'Asia/Hovd', - 'Asia/Irkutsk', - 'Asia/Jakarta', - 'Asia/Jayapura', - 'Asia/Jerusalem', - 'Asia/Kabul', - 'Asia/Kamchatka', - 'Asia/Karachi', - 'Asia/Kathmandu', - 'Asia/Khandyga', - 'Asia/Kolkata', - 'Asia/Krasnoyarsk', - 'Asia/Kuala_Lumpur', - 'Asia/Kuching', - 'Asia/Kuwait', - 'Asia/Macau', - 'Asia/Magadan', - 'Asia/Makassar', - 'Asia/Manila', - 'Asia/Muscat', - 'Asia/Nicosia', - 'Asia/Novokuznetsk', - 'Asia/Novosibirsk', - 'Asia/Omsk', - 'Asia/Oral', - 'Asia/Phnom_Penh', - 'Asia/Pontianak', - 'Asia/Pyongyang', - 'Asia/Qatar', - 'Asia/Qyzylorda', - 'Asia/Riyadh', - 'Asia/Sakhalin', - 'Asia/Samarkand', - 'Asia/Seoul', - 'Asia/Shanghai', - 'Asia/Singapore', - 'Asia/Srednekolymsk', - 'Asia/Taipei', - 'Asia/Tashkent', - 'Asia/Tbilisi', - 'Asia/Tehran', - 'Asia/Thimphu', - 'Asia/Tokyo', - 'Asia/Tomsk', - 'Asia/Ulaanbaatar', - 'Asia/Urumqi', - 'Asia/Ust-Nera', - 'Asia/Vientiane', - 'Asia/Vladivostok', - 'Asia/Yakutsk', - 'Asia/Yangon', - 'Asia/Yekaterinburg', - 'Asia/Yerevan', - 'Atlantic/Azores', - 'Atlantic/Bermuda', - 'Atlantic/Canary', - 'Atlantic/Cape_Verde', - 'Atlantic/Faroe', - 'Atlantic/Madeira', - 'Atlantic/Reykjavik', - 'Atlantic/South_Georgia', - 'Atlantic/St_Helena', - 'Atlantic/Stanley', - 'Australia/Adelaide', - 'Australia/Brisbane', - 'Australia/Broken_Hill', - 'Australia/Currie', - 'Australia/Darwin', - 'Australia/Eucla', - 'Australia/Hobart', - 'Australia/Lindeman', - 'Australia/Lord_Howe', - 'Australia/Melbourne', - 'Australia/Perth', - 'Australia/Sydney', - 'Canada/Atlantic', - 'Canada/Central', - 'Canada/Eastern', - 'Canada/Mountain', - 'Canada/Newfoundland', - 'Canada/Pacific', - 'Europe/Amsterdam', - 'Europe/Andorra', - 'Europe/Astrakhan', - 'Europe/Athens', - 'Europe/Belgrade', - 'Europe/Berlin', - 'Europe/Bratislava', - 'Europe/Brussels', - 'Europe/Bucharest', - 'Europe/Budapest', - 'Europe/Busingen', - 'Europe/Chisinau', - 'Europe/Copenhagen', - 'Europe/Dublin', - 'Europe/Gibraltar', - 'Europe/Guernsey', - 'Europe/Helsinki', - 'Europe/Isle_of_Man', - 'Europe/Istanbul', - 'Europe/Jersey', - 'Europe/Kaliningrad', - 'Europe/Kiev', - 'Europe/Kirov', - 'Europe/Lisbon', - 'Europe/Ljubljana', - 'Europe/London', - 'Europe/Luxembourg', - 'Europe/Madrid', - 'Europe/Malta', - 'Europe/Mariehamn', - 'Europe/Minsk', - 'Europe/Monaco', - 'Europe/Moscow', - 'Europe/Oslo', - 'Europe/Paris', - 'Europe/Podgorica', - 'Europe/Prague', - 'Europe/Riga', - 'Europe/Rome', - 'Europe/Samara', - 'Europe/San_Marino', - 'Europe/Sarajevo', - 'Europe/Saratov', - 'Europe/Simferopol', - 'Europe/Skopje', - 'Europe/Sofia', - 'Europe/Stockholm', - 'Europe/Tallinn', - 'Europe/Tirane', - 'Europe/Ulyanovsk', - 'Europe/Uzhgorod', - 'Europe/Vaduz', - 'Europe/Vatican', - 'Europe/Vienna', - 'Europe/Vilnius', - 'Europe/Volgograd', - 'Europe/Warsaw', - 'Europe/Zagreb', - 'Europe/Zaporozhye', - 'Europe/Zurich', - 'GMT', - 'Indian/Antananarivo', - 'Indian/Chagos', - 'Indian/Christmas', - 'Indian/Cocos', - 'Indian/Comoro', - 'Indian/Kerguelen', - 'Indian/Mahe', - 'Indian/Maldives', - 'Indian/Mauritius', - 'Indian/Mayotte', - 'Indian/Reunion', - 'Pacific/Apia', - 'Pacific/Auckland', - 'Pacific/Bougainville', - 'Pacific/Chatham', - 'Pacific/Chuuk', - 'Pacific/Easter', - 'Pacific/Efate', - 'Pacific/Enderbury', - 'Pacific/Fakaofo', - 'Pacific/Fiji', - 'Pacific/Funafuti', - 'Pacific/Galapagos', - 'Pacific/Gambier', - 'Pacific/Guadalcanal', - 'Pacific/Guam', - 'Pacific/Honolulu', - 'Pacific/Kiritimati', - 'Pacific/Kosrae', - 'Pacific/Kwajalein', - 'Pacific/Majuro', - 'Pacific/Marquesas', - 'Pacific/Midway', - 'Pacific/Nauru', - 'Pacific/Niue', - 'Pacific/Norfolk', - 'Pacific/Noumea', - 'Pacific/Pago_Pago', - 'Pacific/Palau', - 'Pacific/Pitcairn', - 'Pacific/Pohnpei', - 'Pacific/Port_Moresby', - 'Pacific/Rarotonga', - 'Pacific/Saipan', - 'Pacific/Tahiti', - 'Pacific/Tarawa', - 'Pacific/Tongatapu', - 'Pacific/Wake', - 'Pacific/Wallis', - 'US/Alaska', - 'US/Arizona', - 'US/Central', - 'US/Eastern', - 'US/Hawaii', - 'US/Mountain', - 'US/Pacific', - 'UTC'] -common_timezones = LazyList( - tz for tz in common_timezones if tz in all_timezones) - -common_timezones_set = LazySet(common_timezones) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 51e024f89dafa1b18b841feeb49bd64aa1e7f305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29037 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 z%0D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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/exceptions.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/exceptions.cpython-36.pyc deleted file mode 100644 index b77728b1ca7eab8a21a6a196ff182f75668eba3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1868 zcmb7E&yO256rLor*=)L%BGem)TH?S4ZIc#M(Uq!ITe?COXfGQil*`DmUlKPn_F#LG zCKnFyuW;ZW;m$Qz{tHfg_UxwHY5~R4Jo$O-_w)PSSNHFCfBWO-@sooj`761#QtV&g zb0Y|uj1$?AP1%y^EFCw#P2_=W{E9Pb{?Zz^ptofcdXrM<2ha~?3wnzVptqrSWC}fv z`k_3!O8VW+XWefq=S{)rouJYyqaCwcIg)I$X64#%2How0AM`?-l^&^r#zxbHwZ?9H zZ}gJqN`}+=<dc`hM9nHwx%X!eE{(o;r<^D4cc%gg?N$T37x-Kcf|79qsWxR}+>%X% z*s|e2pF&>Tgm@F-YEC-F$dqFxcOh!7Sye~NJObMw+(Ea?u+GoVaZhRIxfXPCS57DW zQ}(?vi>izX_2avdt*Evzn!}IC;V3xd!dE=c*Nih)P3mJaW#7>{K4#vq(we1`#3o!U zR@_P#4GL3~+^dPom0z=!@^dB(ZduCLO3#?l%+CpFNF%BObqmd)IbSMc89WfTxgr~F zg${*>#2vZ)61@rZR+gbmm;H3x$ui9g%Cc=Y%L*f_JnWCN>?dS={pT>t5MP%4p4cOF zD2l(uu(WE)Jq?%K4yPuUWZm#g4xgR9J$wB0Oh1uY&KA<GCfR!Sb@}Wu)=Upa!%~%x zCY8$NBmE_>p2F}j<W`IK;2f0e2#9+DFo7VQ<Fv6CoSJyF`TP~?b=}G-s;X)zN66fw z!T`mvpk-p)K^z9r31XLVz3YavVE9vfE^Ipc1=Ye6{^P%5oO@3N*a>g|Rl*V~9FWd$ z_{LU1qR5R{#1yW9@X|*hk(L2AoV~spF>kqcDiEEOWR;Pp_)&7}m8f!VKQaV#=6M8~ z5u&opuaqEmVn8535|yLqA$kTQpgQsq?x%n;F7c@++aIu3#?NcO8s}>0D{`#hYuEw& zttH`4f%%-ku4!e#fY27WD8Lm&3&y#sEP;G^o!%7@d+q#a^9I)jI^4|FhEDn{w6qAp z1q0FTK8*~`c(`k1M_{{K|2M1xBsYKFJ*n>Q;>Q*DbM9lvf@^I&(1_vrVM8&&tpCrJ zhWYU!B-q=kC{bBs!yp<&4<p>F=b?A;KL(9iqVAf4j4iKk?o+-{f-msZJZN9`JCQS6 z3=Du2bEI=Kc_NdyN4si83fWM88;sn=vTf&iJ&(@AHFpe=w%Uz$+Uxbw-o1YSy^jLl diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/lazy.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/lazy.cpython-36.pyc deleted file mode 100644 index 399b2bb2fb2ac5e3591caa7c6a08bf2070fac95f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5225 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 My;5DAb*h*C1#Vt!VgLXD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/reference.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/reference.cpython-36.pyc deleted file mode 100644 index 3bcec91430b69262fadd0aba844569072821bc8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3905 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 P`wgezHXk;SkQ(g&>K;c1 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/tzfile.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/tzfile.cpython-36.pyc deleted file mode 100644 index 2572404cdf2d0b866bc526752881ca3f788ed6bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3141 zcma)8TW{RP73PrKUG9ont@f(56`LuNA_^KwcI^04Rj6Ydt%1}iAR7UQ8U(e&mAT?_ z*Taz`FNST<O$)SW0QIH6paq&gk{{5gfaqIas@Fc|rTq@MmSjJ5r5T=c=FE3)!^8P_ zdAattZ-3+dp{Z&A(k}cepnr;y{1X$`T#YlXM{LYo#)vi|eQdbK*mTXDH>1+H?3TwB zw=%X|E0>iZtGd;3&8>ki^U7D6yA&*OYtCGoS9uNmGGF30p7mgbFCXgSJ7CwNhP#UA zO4J-T-6qq5)lqBI&gV|hoipB;>uxWo^VMK&vDV{F-kKY{J=d|;$6DvYT9@}OtTluF z=+d0xsPAbTYqMLm_a5=Pj+_m{DA=67`q4}0+U9NN`u6sXt?f^?wm){Zx9?uNdH4Da zXBNcxcOD*3o%d>|NR76^GK>2%kl{Gk(6jPUJoN{MnKkgEK@!e_4I{Jnq%Xt4li8zq zILWFH61gB7<6t}yP~x7HAr=A9JeR$O&06O&GQ)#N`U6JR@uR1XaUUb8VN%)%6`C`| zrq6EP_Y>*(P9jAZA2<`??7x!1YgSGiKX&fz-GB7xqI@$e<ub%p4&uRt2cTH;jV6|X z|Gl?072!+7y!Fx-Tf<4j1Ceaq;aj)wjP7jTyc1vJF+Vuu$rt<HtAkt9+uQgZ#9L3c zrs4FX{i87AAH~=GqniT{P_N{yn9lN_*&aFR6+V;6gaXubu|npV_D1XmWO?j$5R#&2 z6#XLp?f*Oe!rG>w6rv6W_^ix>B6?v%nnzzuWGh>OhkW5>8-mwfwm=VZk3qbPVPWJh zDmcqos>4lv&Qe1%r7Jell>vwKUs<V{meO)sNv*V+*3u<qN`pi5P)~j?O>W4NGUu$T z&Dn1mH)UB>c}dmUnp)!JuZ^yj+Ca8}ybNSJM_wl6v@R>Eju)q*s%?#1w5O->YEJ|5 zU!)1N8ejTKQ+2MX>hJWv_5e206=|tDY~;I03Rwd>1xk}7=_>dZp3Ps^545xuYH6F> zY3KO&sso#=@LfA$B2ufW!z(=vnqAdZ?ZXPByQ(>=%9`rJ!=CDKJJ<aX`<k%SlS`@z z-Cki?wN-aVQ>~FrSba?{=a`6r{G!#qHbfqo220j0E$zJc_vae0T8O)PsGqRpkKk6o z*~E!|s1~>T8jS^20fNpnSy!4|88YNolZ|sNSSfZuk1v01%#C#IgvEc&<6T!R@`_jc z6z_lFLzR3uVK2V>9Qd?`xk1+Y$oh#cx^i{YR4d%x(c(*LWdv-J%;AA*5T`msBdh%r zcKk!xF1(+!2e9z0opuP1aFNqX>JlNRm+>SI^dyE?>+#=@ugf<1vZnDi@63${+OsR^ zJNeFc@|{=ImBo%Pe~EoBzJ#|q7UV!&)6#Xdj*Ky2ehaF5Xr36Nd;GY-?NNr2)42}h z+ixIWRaY0t*#hzE8;B-ykmWYB+$OS`I<liK^A()U#wAphH`<5^vh}xQ>#9GpWmjER z><uRfq2nP;aVTuc)0`QGLEz)Jd()H8jND<C(pCBXI`KwVTJzCy{GDal_%v{@Fx2 zWB(u=IPWL3>$~rNKz())%MBhm7no0pDLQoma`4<2xl-a9(WjrH)mIk#vT~u8RTes@ z)DKRnSDjMBKI>p4HZk@v5^5p`=wQ$6l;K525BszJ!rUtw&ju6JN6?z|&26_Ng&!wx zb)@fWJ5iX(!DKw${g40&z077#-g7-Uqi@XSPBg*CDcJ?_T3L`!aNnFw;=rwWN5B{k zlR&x^?27$y5H`^APOm`ibSKvp>v&`xQuT6QLK#kCkK#|<#zhesJ^e3!!oimFDcpvS z8*75X7nGUI6oJq4CZE;sB}pI%@}UqDK}%E2JRHc(h=MpX$@$D2hB41d-s7jAeI}^y zW@Udm4Inf3CzB{M<*R8RN@Sr*6D1@w#$lY5!<Y<YCFJoS$c!+Sf-XIxjA`TDB0POK zb*<-c${UWQTg@r@sAr}8uw>=oM2vmu)==%_U@UPM3K|~<qAOA0PeBN(tXm;xi0cwZ zw+6q!&8ZyMB+^|vPiW#=5kd@(kyWySTzbO)0xEe~5@JNBKrbX23*F^n)ms$Nh>xPo z7(|J?a*pf~7R5cxs%Q1i434a_k!wvw@RC&AGGZa6a)J5Qk<09hXR8lKl0RY6n8_^N zG1d)}HJQa4hQrFN!P*!W(;=n5hHkSOqX8N8YOD^<HrCl1XdPS^nhkm~TgMtWP|&Wi zvQ8B3Y?y866Wt(Qx5{nUS<?wYXEj~?82)6I=Z*a^_Pob*tC`{kgZfx>-YE~W*1aQq z@ck(Cw|)^s`;#Mq7omD4bgO65Oc(pJ+S9$Qhqze<B6jtsdv0aHY+TMNp2sJ+*%W6D z*%L<tnV;|cq`OOW<Jm0U#o}bri7U<?z2L<`rJIiUfF?TCXCct5=y_RXl59?W`8?An ziTDW=GBan*(F8}k!b3rd6f<3EvBBK;lOQuEcr`Lz&csy$rJL1-DZkTLJL3sIih^Bw fE0Z5!GEt<4j=~w1X&F|@3M?euMj=e3oyPwFtl%p= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/tzinfo.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/__pycache__/tzinfo.cpython-36.pyc deleted file mode 100644 index 577dd9b069e12af78417813b6e9e7385d8f361ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15034 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 {SM#%IN~<<;Wy8t~cb&0-P%*+(G5 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 I_La8(zj#a1?EnA( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/exceptions.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/exceptions.py deleted file mode 100644 index 18df33e8..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/exceptions.py +++ /dev/null @@ -1,48 +0,0 @@ -''' -Custom exceptions raised by pytz. -''' - -__all__ = [ - 'UnknownTimeZoneError', 'InvalidTimeError', 'AmbiguousTimeError', - 'NonExistentTimeError', -] - - -class UnknownTimeZoneError(KeyError): - '''Exception raised when pytz is passed an unknown timezone. - - >>> isinstance(UnknownTimeZoneError(), LookupError) - True - - This class is actually a subclass of KeyError to provide backwards - compatibility with code relying on the undocumented behavior of earlier - pytz releases. - - >>> isinstance(UnknownTimeZoneError(), KeyError) - True - ''' - pass - - -class InvalidTimeError(Exception): - '''Base class for invalid time exceptions.''' - - -class AmbiguousTimeError(InvalidTimeError): - '''Exception raised when attempting to create an ambiguous wallclock time. - - At the end of a DST transition period, a particular wallclock time will - occur twice (once before the clocks are set back, once after). Both - possibilities may be correct, unless further information is supplied. - - See DstTzInfo.normalize() for more info - ''' - - -class NonExistentTimeError(InvalidTimeError): - '''Exception raised when attempting to create a wallclock time that - cannot exist. - - At the start of a DST transition period, the wallclock time jumps forward. - The instants jumped over never occur. - ''' diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/lazy.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/lazy.py deleted file mode 100644 index fe91ff8d..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/lazy.py +++ /dev/null @@ -1,169 +0,0 @@ -from threading import RLock -try: - from UserDict import DictMixin -except ImportError: - from collections import Mapping as DictMixin - - -# With lazy loading, we might end up with multiple threads triggering -# it at the same time. We need a lock. -_fill_lock = RLock() - - -class LazyDict(DictMixin): - """Dictionary populated on first use.""" - data = None - - def __getitem__(self, key): - if self.data is None: - _fill_lock.acquire() - try: - if self.data is None: - self._fill() - finally: - _fill_lock.release() - return self.data[key.upper()] - - def __contains__(self, key): - if self.data is None: - _fill_lock.acquire() - try: - if self.data is None: - self._fill() - finally: - _fill_lock.release() - return key in self.data - - def __iter__(self): - if self.data is None: - _fill_lock.acquire() - try: - if self.data is None: - self._fill() - finally: - _fill_lock.release() - return iter(self.data) - - def __len__(self): - if self.data is None: - _fill_lock.acquire() - try: - if self.data is None: - self._fill() - finally: - _fill_lock.release() - return len(self.data) - - def keys(self): - if self.data is None: - _fill_lock.acquire() - try: - if self.data is None: - self._fill() - finally: - _fill_lock.release() - return self.data.keys() - - -class LazyList(list): - """List populated on first use.""" - - _props = [ - '__str__', '__repr__', '__unicode__', - '__hash__', '__sizeof__', '__cmp__', - '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', - 'append', 'count', 'index', 'extend', 'insert', 'pop', 'remove', - 'reverse', 'sort', '__add__', '__radd__', '__iadd__', '__mul__', - '__rmul__', '__imul__', '__contains__', '__len__', '__nonzero__', - '__getitem__', '__setitem__', '__delitem__', '__iter__', - '__reversed__', '__getslice__', '__setslice__', '__delslice__'] - - def __new__(cls, fill_iter=None): - - if fill_iter is None: - return list() - - # We need a new class as we will be dynamically messing with its - # methods. - class LazyList(list): - pass - - fill_iter = [fill_iter] - - def lazy(name): - def _lazy(self, *args, **kw): - _fill_lock.acquire() - try: - if len(fill_iter) > 0: - list.extend(self, fill_iter.pop()) - for method_name in cls._props: - delattr(LazyList, method_name) - finally: - _fill_lock.release() - return getattr(list, name)(self, *args, **kw) - return _lazy - - for name in cls._props: - setattr(LazyList, name, lazy(name)) - - new_list = LazyList() - return new_list - -# Not all versions of Python declare the same magic methods. -# Filter out properties that don't exist in this version of Python -# from the list. -LazyList._props = [prop for prop in LazyList._props if hasattr(list, prop)] - - -class LazySet(set): - """Set populated on first use.""" - - _props = ( - '__str__', '__repr__', '__unicode__', - '__hash__', '__sizeof__', '__cmp__', - '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', - '__contains__', '__len__', '__nonzero__', - '__getitem__', '__setitem__', '__delitem__', '__iter__', - '__sub__', '__and__', '__xor__', '__or__', - '__rsub__', '__rand__', '__rxor__', '__ror__', - '__isub__', '__iand__', '__ixor__', '__ior__', - 'add', 'clear', 'copy', 'difference', 'difference_update', - 'discard', 'intersection', 'intersection_update', 'isdisjoint', - 'issubset', 'issuperset', 'pop', 'remove', - 'symmetric_difference', 'symmetric_difference_update', - 'union', 'update') - - def __new__(cls, fill_iter=None): - - if fill_iter is None: - return set() - - class LazySet(set): - pass - - fill_iter = [fill_iter] - - def lazy(name): - def _lazy(self, *args, **kw): - _fill_lock.acquire() - try: - if len(fill_iter) > 0: - for i in fill_iter.pop(): - set.add(self, i) - for method_name in cls._props: - delattr(LazySet, method_name) - finally: - _fill_lock.release() - return getattr(set, name)(self, *args, **kw) - return _lazy - - for name in cls._props: - setattr(LazySet, name, lazy(name)) - - new_set = LazySet() - return new_set - -# Not all versions of Python declare the same magic methods. -# Filter out properties that don't exist in this version of Python -# from the list. -LazySet._props = [prop for prop in LazySet._props if hasattr(set, prop)] diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/reference.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/reference.py deleted file mode 100644 index f765ca0a..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/reference.py +++ /dev/null @@ -1,140 +0,0 @@ -''' -Reference tzinfo implementations from the Python docs. -Used for testing against as they are only correct for the years -1987 to 2006. Do not use these for real code. -''' - -from datetime import tzinfo, timedelta, datetime -from pytz import HOUR, ZERO, UTC - -__all__ = [ - 'FixedOffset', - 'LocalTimezone', - 'USTimeZone', - 'Eastern', - 'Central', - 'Mountain', - 'Pacific', - 'UTC' -] - - -# A class building tzinfo objects for fixed-offset time zones. -# Note that FixedOffset(0, "UTC") is a different way to build a -# UTC tzinfo object. -class FixedOffset(tzinfo): - """Fixed offset in minutes east from UTC.""" - - def __init__(self, offset, name): - self.__offset = timedelta(minutes=offset) - self.__name = name - - def utcoffset(self, dt): - return self.__offset - - def tzname(self, dt): - return self.__name - - def dst(self, dt): - return ZERO - - -import time as _time - -STDOFFSET = timedelta(seconds=-_time.timezone) -if _time.daylight: - DSTOFFSET = timedelta(seconds=-_time.altzone) -else: - DSTOFFSET = STDOFFSET - -DSTDIFF = DSTOFFSET - STDOFFSET - - -# A class capturing the platform's idea of local time. -class LocalTimezone(tzinfo): - - def utcoffset(self, dt): - if self._isdst(dt): - return DSTOFFSET - else: - return STDOFFSET - - def dst(self, dt): - if self._isdst(dt): - return DSTDIFF - else: - return ZERO - - def tzname(self, dt): - return _time.tzname[self._isdst(dt)] - - def _isdst(self, dt): - tt = (dt.year, dt.month, dt.day, - dt.hour, dt.minute, dt.second, - dt.weekday(), 0, -1) - stamp = _time.mktime(tt) - tt = _time.localtime(stamp) - return tt.tm_isdst > 0 - -Local = LocalTimezone() - - -def first_sunday_on_or_after(dt): - days_to_go = 6 - dt.weekday() - if days_to_go: - dt += timedelta(days_to_go) - return dt - - -# In the US, DST starts at 2am (standard time) on the first Sunday in April. -DSTSTART = datetime(1, 4, 1, 2) -# and ends at 2am (DST time; 1am standard time) on the last Sunday of Oct. -# which is the first Sunday on or after Oct 25. -DSTEND = datetime(1, 10, 25, 1) - - -# A complete implementation of current DST rules for major US time zones. -class USTimeZone(tzinfo): - - def __init__(self, hours, reprname, stdname, dstname): - self.stdoffset = timedelta(hours=hours) - self.reprname = reprname - self.stdname = stdname - self.dstname = dstname - - def __repr__(self): - return self.reprname - - def tzname(self, dt): - if self.dst(dt): - return self.dstname - else: - return self.stdname - - def utcoffset(self, dt): - return self.stdoffset + self.dst(dt) - - def dst(self, dt): - if dt is None or dt.tzinfo is None: - # An exception may be sensible here, in one or both cases. - # It depends on how you want to treat them. The default - # fromutc() implementation (called by the default astimezone() - # implementation) passes a datetime with dt.tzinfo is self. - return ZERO - assert dt.tzinfo is self - - # Find first Sunday in April & the last in October. - start = first_sunday_on_or_after(DSTSTART.replace(year=dt.year)) - end = first_sunday_on_or_after(DSTEND.replace(year=dt.year)) - - # Can't compare naive to aware objects, so strip the timezone from - # dt first. - if start <= dt.replace(tzinfo=None) < end: - return HOUR - else: - return ZERO - -Eastern = USTimeZone(-5, "Eastern", "EST", "EDT") -Central = USTimeZone(-6, "Central", "CST", "CDT") -Mountain = USTimeZone(-7, "Mountain", "MST", "MDT") -Pacific = USTimeZone(-8, "Pacific", "PST", "PDT") diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzfile.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzfile.py deleted file mode 100644 index 25117f32..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzfile.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python -''' -$Id: tzfile.py,v 1.8 2004/06/03 00:15:24 zenzen Exp $ -''' - -from datetime import datetime -from struct import unpack, calcsize - -from pytz.tzinfo import StaticTzInfo, DstTzInfo, memorized_ttinfo -from pytz.tzinfo import memorized_datetime, memorized_timedelta - - -def _byte_string(s): - """Cast a string or byte string to an ASCII byte string.""" - return s.encode('ASCII') - -_NULL = _byte_string('\0') - - -def _std_string(s): - """Cast a string or byte string to an ASCII string.""" - return str(s.decode('ASCII')) - - -def build_tzinfo(zone, fp): - head_fmt = '>4s c 15x 6l' - head_size = calcsize(head_fmt) - (magic, format, ttisgmtcnt, ttisstdcnt, leapcnt, timecnt, - typecnt, charcnt) = unpack(head_fmt, fp.read(head_size)) - - # Make sure it is a tzfile(5) file - assert magic == _byte_string('TZif'), 'Got magic %s' % repr(magic) - - # Read out the transition times, localtime indices and ttinfo structures. - data_fmt = '>%(timecnt)dl %(timecnt)dB %(ttinfo)s %(charcnt)ds' % dict( - timecnt=timecnt, ttinfo='lBB' * typecnt, charcnt=charcnt) - data_size = calcsize(data_fmt) - data = unpack(data_fmt, fp.read(data_size)) - - # make sure we unpacked the right number of values - assert len(data) == 2 * timecnt + 3 * typecnt + 1 - transitions = [memorized_datetime(trans) - for trans in data[:timecnt]] - lindexes = list(data[timecnt:2 * timecnt]) - ttinfo_raw = data[2 * timecnt:-1] - tznames_raw = data[-1] - del data - - # Process ttinfo into separate structs - ttinfo = [] - tznames = {} - i = 0 - while i < len(ttinfo_raw): - # have we looked up this timezone name yet? - tzname_offset = ttinfo_raw[i + 2] - if tzname_offset not in tznames: - nul = tznames_raw.find(_NULL, tzname_offset) - if nul < 0: - nul = len(tznames_raw) - tznames[tzname_offset] = _std_string( - tznames_raw[tzname_offset:nul]) - ttinfo.append((ttinfo_raw[i], - bool(ttinfo_raw[i + 1]), - tznames[tzname_offset])) - i += 3 - - # Now build the timezone object - if len(ttinfo) == 1 or len(transitions) == 0: - ttinfo[0][0], ttinfo[0][2] - cls = type(zone, (StaticTzInfo,), dict( - zone=zone, - _utcoffset=memorized_timedelta(ttinfo[0][0]), - _tzname=ttinfo[0][2])) - else: - # Early dates use the first standard time ttinfo - i = 0 - while ttinfo[i][1]: - i += 1 - if ttinfo[i] == ttinfo[lindexes[0]]: - transitions[0] = datetime.min - else: - transitions.insert(0, datetime.min) - lindexes.insert(0, i) - - # calculate transition info - transition_info = [] - for i in range(len(transitions)): - inf = ttinfo[lindexes[i]] - utcoffset = inf[0] - if not inf[1]: - dst = 0 - else: - for j in range(i - 1, -1, -1): - prev_inf = ttinfo[lindexes[j]] - if not prev_inf[1]: - break - dst = inf[0] - prev_inf[0] # dst offset - - # Bad dst? Look further. DST > 24 hours happens when - # a timzone has moved across the international dateline. - if dst <= 0 or dst > 3600 * 3: - for j in range(i + 1, len(transitions)): - stdinf = ttinfo[lindexes[j]] - if not stdinf[1]: - dst = inf[0] - stdinf[0] - if dst > 0: - break # Found a useful std time. - - tzname = inf[2] - - # Round utcoffset and dst to the nearest minute or the - # datetime library will complain. Conversions to these timezones - # might be up to plus or minus 30 seconds out, but it is - # the best we can do. - utcoffset = int((utcoffset + 30) // 60) * 60 - dst = int((dst + 30) // 60) * 60 - transition_info.append(memorized_ttinfo(utcoffset, dst, tzname)) - - cls = type(zone, (DstTzInfo,), dict( - zone=zone, - _utc_transition_times=transitions, - _transition_info=transition_info)) - - return cls() - -if __name__ == '__main__': - import os.path - from pprint import pprint - base = os.path.join(os.path.dirname(__file__), 'zoneinfo') - tz = build_tzinfo('Australia/Melbourne', - open(os.path.join(base, 'Australia', 'Melbourne'), 'rb')) - tz = build_tzinfo('US/Eastern', - open(os.path.join(base, 'US', 'Eastern'), 'rb')) - pprint(tz._utc_transition_times) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzinfo.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzinfo.py deleted file mode 100644 index d78c2edc..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/tzinfo.py +++ /dev/null @@ -1,577 +0,0 @@ -'''Base classes and helpers for building zone specific tzinfo classes''' - -from datetime import datetime, timedelta, tzinfo -from bisect import bisect_right -try: - set -except NameError: - from sets import Set as set - -import pytz -from pytz.exceptions import AmbiguousTimeError, NonExistentTimeError - -__all__ = [] - -_timedelta_cache = {} - - -def memorized_timedelta(seconds): - '''Create only one instance of each distinct timedelta''' - try: - return _timedelta_cache[seconds] - except KeyError: - delta = timedelta(seconds=seconds) - _timedelta_cache[seconds] = delta - return delta - -_epoch = datetime.utcfromtimestamp(0) -_datetime_cache = {0: _epoch} - - -def memorized_datetime(seconds): - '''Create only one instance of each distinct datetime''' - try: - return _datetime_cache[seconds] - except KeyError: - # NB. We can't just do datetime.utcfromtimestamp(seconds) as this - # fails with negative values under Windows (Bug #90096) - dt = _epoch + timedelta(seconds=seconds) - _datetime_cache[seconds] = dt - return dt - -_ttinfo_cache = {} - - -def memorized_ttinfo(*args): - '''Create only one instance of each distinct tuple''' - try: - return _ttinfo_cache[args] - except KeyError: - ttinfo = ( - memorized_timedelta(args[0]), - memorized_timedelta(args[1]), - args[2] - ) - _ttinfo_cache[args] = ttinfo - return ttinfo - -_notime = memorized_timedelta(0) - - -def _to_seconds(td): - '''Convert a timedelta to seconds''' - return td.seconds + td.days * 24 * 60 * 60 - - -class BaseTzInfo(tzinfo): - # Overridden in subclass - _utcoffset = None - _tzname = None - zone = None - - def __str__(self): - return self.zone - - -class StaticTzInfo(BaseTzInfo): - '''A timezone that has a constant offset from UTC - - These timezones are rare, as most locations have changed their - offset at some point in their history - ''' - def fromutc(self, dt): - '''See datetime.tzinfo.fromutc''' - if dt.tzinfo is not None and dt.tzinfo is not self: - raise ValueError('fromutc: dt.tzinfo is not self') - return (dt + self._utcoffset).replace(tzinfo=self) - - def utcoffset(self, dt, is_dst=None): - '''See datetime.tzinfo.utcoffset - - is_dst is ignored for StaticTzInfo, and exists only to - retain compatibility with DstTzInfo. - ''' - return self._utcoffset - - def dst(self, dt, is_dst=None): - '''See datetime.tzinfo.dst - - is_dst is ignored for StaticTzInfo, and exists only to - retain compatibility with DstTzInfo. - ''' - return _notime - - def tzname(self, dt, is_dst=None): - '''See datetime.tzinfo.tzname - - is_dst is ignored for StaticTzInfo, and exists only to - retain compatibility with DstTzInfo. - ''' - return self._tzname - - def localize(self, dt, is_dst=False): - '''Convert naive time to local time''' - if dt.tzinfo is not None: - raise ValueError('Not naive datetime (tzinfo is already set)') - return dt.replace(tzinfo=self) - - def normalize(self, dt, is_dst=False): - '''Correct the timezone information on the given datetime. - - This is normally a no-op, as StaticTzInfo timezones never have - ambiguous cases to correct: - - >>> from pytz import timezone - >>> gmt = timezone('GMT') - >>> isinstance(gmt, StaticTzInfo) - True - >>> dt = datetime(2011, 5, 8, 1, 2, 3, tzinfo=gmt) - >>> gmt.normalize(dt) is dt - True - - The supported method of converting between timezones is to use - datetime.astimezone(). Currently normalize() also works: - - >>> la = timezone('America/Los_Angeles') - >>> dt = la.localize(datetime(2011, 5, 7, 1, 2, 3)) - >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' - >>> gmt.normalize(dt).strftime(fmt) - '2011-05-07 08:02:03 GMT (+0000)' - ''' - if dt.tzinfo is self: - return dt - if dt.tzinfo is None: - raise ValueError('Naive time - no tzinfo set') - return dt.astimezone(self) - - def __repr__(self): - return '<StaticTzInfo %r>' % (self.zone,) - - def __reduce__(self): - # Special pickle to zone remains a singleton and to cope with - # database changes. - return pytz._p, (self.zone,) - - -class DstTzInfo(BaseTzInfo): - '''A timezone that has a variable offset from UTC - - The offset might change if daylight saving time comes into effect, - or at a point in history when the region decides to change their - timezone definition. - ''' - # Overridden in subclass - - # Sorted list of DST transition times, UTC - _utc_transition_times = None - - # [(utcoffset, dstoffset, tzname)] corresponding to - # _utc_transition_times entries - _transition_info = None - - zone = None - - # Set in __init__ - - _tzinfos = None - _dst = None # DST offset - - def __init__(self, _inf=None, _tzinfos=None): - if _inf: - self._tzinfos = _tzinfos - self._utcoffset, self._dst, self._tzname = _inf - else: - _tzinfos = {} - self._tzinfos = _tzinfos - self._utcoffset, self._dst, self._tzname = ( - self._transition_info[0]) - _tzinfos[self._transition_info[0]] = self - for inf in self._transition_info[1:]: - if inf not in _tzinfos: - _tzinfos[inf] = self.__class__(inf, _tzinfos) - - def fromutc(self, dt): - '''See datetime.tzinfo.fromutc''' - if (dt.tzinfo is not None and - getattr(dt.tzinfo, '_tzinfos', None) is not self._tzinfos): - raise ValueError('fromutc: dt.tzinfo is not self') - dt = dt.replace(tzinfo=None) - idx = max(0, bisect_right(self._utc_transition_times, dt) - 1) - inf = self._transition_info[idx] - return (dt + inf[0]).replace(tzinfo=self._tzinfos[inf]) - - def normalize(self, dt): - '''Correct the timezone information on the given datetime - - If date arithmetic crosses DST boundaries, the tzinfo - is not magically adjusted. This method normalizes the - tzinfo to the correct one. - - To test, first we need to do some setup - - >>> from pytz import timezone - >>> utc = timezone('UTC') - >>> eastern = timezone('US/Eastern') - >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' - - We next create a datetime right on an end-of-DST transition point, - the instant when the wallclocks are wound back one hour. - - >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) - >>> loc_dt = utc_dt.astimezone(eastern) - >>> loc_dt.strftime(fmt) - '2002-10-27 01:00:00 EST (-0500)' - - Now, if we subtract a few minutes from it, note that the timezone - information has not changed. - - >>> before = loc_dt - timedelta(minutes=10) - >>> before.strftime(fmt) - '2002-10-27 00:50:00 EST (-0500)' - - But we can fix that by calling the normalize method - - >>> before = eastern.normalize(before) - >>> before.strftime(fmt) - '2002-10-27 01:50:00 EDT (-0400)' - - The supported method of converting between timezones is to use - datetime.astimezone(). Currently, normalize() also works: - - >>> th = timezone('Asia/Bangkok') - >>> am = timezone('Europe/Amsterdam') - >>> dt = th.localize(datetime(2011, 5, 7, 1, 2, 3)) - >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' - >>> am.normalize(dt).strftime(fmt) - '2011-05-06 20:02:03 CEST (+0200)' - ''' - if dt.tzinfo is None: - raise ValueError('Naive time - no tzinfo set') - - # Convert dt in localtime to UTC - offset = dt.tzinfo._utcoffset - dt = dt.replace(tzinfo=None) - dt = dt - offset - # convert it back, and return it - return self.fromutc(dt) - - def localize(self, dt, is_dst=False): - '''Convert naive time to local time. - - This method should be used to construct localtimes, rather - than passing a tzinfo argument to a datetime constructor. - - is_dst is used to determine the correct timezone in the ambigous - period at the end of daylight saving time. - - >>> from pytz import timezone - >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' - >>> amdam = timezone('Europe/Amsterdam') - >>> dt = datetime(2004, 10, 31, 2, 0, 0) - >>> loc_dt1 = amdam.localize(dt, is_dst=True) - >>> loc_dt2 = amdam.localize(dt, is_dst=False) - >>> loc_dt1.strftime(fmt) - '2004-10-31 02:00:00 CEST (+0200)' - >>> loc_dt2.strftime(fmt) - '2004-10-31 02:00:00 CET (+0100)' - >>> str(loc_dt2 - loc_dt1) - '1:00:00' - - Use is_dst=None to raise an AmbiguousTimeError for ambiguous - times at the end of daylight saving time - - >>> try: - ... loc_dt1 = amdam.localize(dt, is_dst=None) - ... except AmbiguousTimeError: - ... print('Ambiguous') - Ambiguous - - is_dst defaults to False - - >>> amdam.localize(dt) == amdam.localize(dt, False) - True - - is_dst is also used to determine the correct timezone in the - wallclock times jumped over at the start of daylight saving time. - - >>> pacific = timezone('US/Pacific') - >>> dt = datetime(2008, 3, 9, 2, 0, 0) - >>> ploc_dt1 = pacific.localize(dt, is_dst=True) - >>> ploc_dt2 = pacific.localize(dt, is_dst=False) - >>> ploc_dt1.strftime(fmt) - '2008-03-09 02:00:00 PDT (-0700)' - >>> ploc_dt2.strftime(fmt) - '2008-03-09 02:00:00 PST (-0800)' - >>> str(ploc_dt2 - ploc_dt1) - '1:00:00' - - Use is_dst=None to raise a NonExistentTimeError for these skipped - times. - - >>> try: - ... loc_dt1 = pacific.localize(dt, is_dst=None) - ... except NonExistentTimeError: - ... print('Non-existent') - Non-existent - ''' - if dt.tzinfo is not None: - raise ValueError('Not naive datetime (tzinfo is already set)') - - # Find the two best possibilities. - possible_loc_dt = set() - for delta in [timedelta(days=-1), timedelta(days=1)]: - loc_dt = dt + delta - idx = max(0, bisect_right( - self._utc_transition_times, loc_dt) - 1) - inf = self._transition_info[idx] - tzinfo = self._tzinfos[inf] - loc_dt = tzinfo.normalize(dt.replace(tzinfo=tzinfo)) - if loc_dt.replace(tzinfo=None) == dt: - possible_loc_dt.add(loc_dt) - - if len(possible_loc_dt) == 1: - return possible_loc_dt.pop() - - # If there are no possibly correct timezones, we are attempting - # to convert a time that never happened - the time period jumped - # during the start-of-DST transition period. - if len(possible_loc_dt) == 0: - # If we refuse to guess, raise an exception. - if is_dst is None: - raise NonExistentTimeError(dt) - - # If we are forcing the pre-DST side of the DST transition, we - # obtain the correct timezone by winding the clock forward a few - # hours. - elif is_dst: - return self.localize( - dt + timedelta(hours=6), is_dst=True) - timedelta(hours=6) - - # If we are forcing the post-DST side of the DST transition, we - # obtain the correct timezone by winding the clock back. - else: - return self.localize( - dt - timedelta(hours=6), - is_dst=False) + timedelta(hours=6) - - # If we get this far, we have multiple possible timezones - this - # is an ambiguous case occuring during the end-of-DST transition. - - # If told to be strict, raise an exception since we have an - # ambiguous case - if is_dst is None: - raise AmbiguousTimeError(dt) - - # Filter out the possiblilities that don't match the requested - # is_dst - filtered_possible_loc_dt = [ - p for p in possible_loc_dt if bool(p.tzinfo._dst) == is_dst - ] - - # Hopefully we only have one possibility left. Return it. - if len(filtered_possible_loc_dt) == 1: - return filtered_possible_loc_dt[0] - - if len(filtered_possible_loc_dt) == 0: - filtered_possible_loc_dt = list(possible_loc_dt) - - # If we get this far, we have in a wierd timezone transition - # where the clocks have been wound back but is_dst is the same - # in both (eg. Europe/Warsaw 1915 when they switched to CET). - # At this point, we just have to guess unless we allow more - # hints to be passed in (such as the UTC offset or abbreviation), - # but that is just getting silly. - # - # Choose the earliest (by UTC) applicable timezone if is_dst=True - # Choose the latest (by UTC) applicable timezone if is_dst=False - # i.e., behave like end-of-DST transition - dates = {} # utc -> local - for local_dt in filtered_possible_loc_dt: - utc_time = ( - local_dt.replace(tzinfo=None) - local_dt.tzinfo._utcoffset) - assert utc_time not in dates - dates[utc_time] = local_dt - return dates[[min, max][not is_dst](dates)] - - def utcoffset(self, dt, is_dst=None): - '''See datetime.tzinfo.utcoffset - - The is_dst parameter may be used to remove ambiguity during DST - transitions. - - >>> from pytz import timezone - >>> tz = timezone('America/St_Johns') - >>> ambiguous = datetime(2009, 10, 31, 23, 30) - - >>> tz.utcoffset(ambiguous, is_dst=False) - datetime.timedelta(-1, 73800) - - >>> tz.utcoffset(ambiguous, is_dst=True) - datetime.timedelta(-1, 77400) - - >>> try: - ... tz.utcoffset(ambiguous) - ... except AmbiguousTimeError: - ... print('Ambiguous') - Ambiguous - - ''' - if dt is None: - return None - elif dt.tzinfo is not self: - dt = self.localize(dt, is_dst) - return dt.tzinfo._utcoffset - else: - return self._utcoffset - - def dst(self, dt, is_dst=None): - '''See datetime.tzinfo.dst - - The is_dst parameter may be used to remove ambiguity during DST - transitions. - - >>> from pytz import timezone - >>> tz = timezone('America/St_Johns') - - >>> normal = datetime(2009, 9, 1) - - >>> tz.dst(normal) - datetime.timedelta(0, 3600) - >>> tz.dst(normal, is_dst=False) - datetime.timedelta(0, 3600) - >>> tz.dst(normal, is_dst=True) - datetime.timedelta(0, 3600) - - >>> ambiguous = datetime(2009, 10, 31, 23, 30) - - >>> tz.dst(ambiguous, is_dst=False) - datetime.timedelta(0) - >>> tz.dst(ambiguous, is_dst=True) - datetime.timedelta(0, 3600) - >>> try: - ... tz.dst(ambiguous) - ... except AmbiguousTimeError: - ... print('Ambiguous') - Ambiguous - - ''' - if dt is None: - return None - elif dt.tzinfo is not self: - dt = self.localize(dt, is_dst) - return dt.tzinfo._dst - else: - return self._dst - - def tzname(self, dt, is_dst=None): - '''See datetime.tzinfo.tzname - - The is_dst parameter may be used to remove ambiguity during DST - transitions. - - >>> from pytz import timezone - >>> tz = timezone('America/St_Johns') - - >>> normal = datetime(2009, 9, 1) - - >>> tz.tzname(normal) - 'NDT' - >>> tz.tzname(normal, is_dst=False) - 'NDT' - >>> tz.tzname(normal, is_dst=True) - 'NDT' - - >>> ambiguous = datetime(2009, 10, 31, 23, 30) - - >>> tz.tzname(ambiguous, is_dst=False) - 'NST' - >>> tz.tzname(ambiguous, is_dst=True) - 'NDT' - >>> try: - ... tz.tzname(ambiguous) - ... except AmbiguousTimeError: - ... print('Ambiguous') - Ambiguous - ''' - if dt is None: - return self.zone - elif dt.tzinfo is not self: - dt = self.localize(dt, is_dst) - return dt.tzinfo._tzname - else: - return self._tzname - - def __repr__(self): - if self._dst: - dst = 'DST' - else: - dst = 'STD' - if self._utcoffset > _notime: - return '<DstTzInfo %r %s+%s %s>' % ( - self.zone, self._tzname, self._utcoffset, dst - ) - else: - return '<DstTzInfo %r %s%s %s>' % ( - self.zone, self._tzname, self._utcoffset, dst - ) - - def __reduce__(self): - # Special pickle to zone remains a singleton and to cope with - # database changes. - return pytz._p, ( - self.zone, - _to_seconds(self._utcoffset), - _to_seconds(self._dst), - self._tzname - ) - - -def unpickler(zone, utcoffset=None, dstoffset=None, tzname=None): - """Factory function for unpickling pytz tzinfo instances. - - This is shared for both StaticTzInfo and DstTzInfo instances, because - database changes could cause a zones implementation to switch between - these two base classes and we can't break pickles on a pytz version - upgrade. - """ - # Raises a KeyError if zone no longer exists, which should never happen - # and would be a bug. - tz = pytz.timezone(zone) - - # A StaticTzInfo - just return it - if utcoffset is None: - return tz - - # This pickle was created from a DstTzInfo. We need to - # determine which of the list of tzinfo instances for this zone - # to use in order to restore the state of any datetime instances using - # it correctly. - utcoffset = memorized_timedelta(utcoffset) - dstoffset = memorized_timedelta(dstoffset) - try: - return tz._tzinfos[(utcoffset, dstoffset, tzname)] - except KeyError: - # The particular state requested in this timezone no longer exists. - # This indicates a corrupt pickle, or the timezone database has been - # corrected violently enough to make this particular - # (utcoffset,dstoffset) no longer exist in the zone, or the - # abbreviation has been changed. - pass - - # See if we can find an entry differing only by tzname. Abbreviations - # get changed from the initial guess by the database maintainers to - # match reality when this information is discovered. - for localized_tz in tz._tzinfos.values(): - if (localized_tz._utcoffset == utcoffset and - localized_tz._dst == dstoffset): - return localized_tz - - # This (utcoffset, dstoffset) information has been removed from the - # zone. Add it back. This might occur when the database maintainers have - # corrected incorrect information. datetime instances using this - # incorrect information will continue to do so, exactly as they were - # before being pickled. This is purely an overly paranoid safety net - I - # doubt this will ever been needed in real life. - inf = (utcoffset, dstoffset, tzname) - tz._tzinfos[inf] = tz.__class__(inf, tz._tzinfos) - return tz._tzinfos[inf] diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Abidjan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Abidjan deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Accra b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Accra deleted file mode 100644 index 8726e80df27f8d6794b295674a18a71c9cab4c85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 842 zcmcK2J!n%=9ES0KK9&Yr7h4crvI#}Kgl5W8rz{Z<m@XNlAOv)95J9L22Rn6<4mBVF zhlFah%?IH&YW%!}M6HP&2!c3O=_ul&R8Zo1j&7YY^n{z=C6GYg=Vo&k^9k8^BK8w5 zj%P3Kr?h>$>*f9O+;v?Z{#NVLby?p!W$yj_qVE?jsLIC~d2p>@9=40JkvnQOi|=(c zbyn4Ggr$D$rfHl{>c*dzYR<QHb0?+z_&4!`%cd2H>sG0x9_=p3<K++LN$-=i^Evah zGO3@XZ>i@ir{%@*z`VS4Rll0}p@PgW9eiC<os%b|GpL&Gp+()TeOA5iYw~*auz52) zB5$wUG24DdzdJWj{o7gwNih-*jrAIhMt%F2CE5r@QDT`hS(){`gePfx_wQuKSa9$E zckC~ZSQ1&&X%|ISb=qZ-b&-XUm64^9wUNb<)sf|q^^pQd1*a{6)NtA&NEN3ogVb@_ zLP#Z~6jBQ*hEzk!A@z`gNJXS1QqyURB2}HXEK=8L3nP`0(nxKjI8q%ckJQJ5djewi IVen#q0by*H{r~^~ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Addis_Ababa b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Addis_Ababa deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Algiers b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Algiers deleted file mode 100644 index 2a25f3ac268fd5c605c58d36260759c8f8d125bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760 zcmc(cyDtPm9Dsj&)*ixH&q5S}N|2oJ4_JbDoWv#`k=#`mqM0b<B8pSe(Rv+DDN%|j zXxvrai9{3{{UjO{=35GhLTNTL-(+?-+5J9$YBt#+zebTcVKN%cWM7vy%UWVIw$Yc; z8xO5&^K?yZo%QSOm3Ot1Y0;U)f!<A*>b>?#y}vl5vt7$Nd+ex-4@c!DPSUx@;>^{0 zr+d9Bax-7+-i|b@`@yh!xxACt=_4IVo$CTGugk6;By!lJ%TrV0&P=+M3!bV<cBiZ3 zOKwdpE|wiC_;J}zp}B0woQBziZAT>ZWIk3xQL#lLuJ!dVWt@pw>l>^J&ZYM2?$EF= zqh^lxj<NXSvGL4C#Il07z8C**UrpxGz}MUNJ0E7u<p-W2{vZwm8jlc{5T6jI5U&uo z5Wf(|5YG_T0gZ2nbBOnV#y!M8qyeM@qy?l0qzR-8zd;*FA4nqxogl3k^nx^lbc3{m O^!wL<C8laywB!@(boU$p diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmara b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmara deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmera b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Asmera deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bamako b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bamako deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bangui b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bangui deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Banjul b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Banjul deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bissau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bissau deleted file mode 100644 index 4e6fbe10367ca149b5e532e7c63489ae26bfd6cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmWHE%1kq2zyQoZ5fBCe7@Ma7$eHwPt_){-q5uOU)Bpb;Qy3V4<Oc>8kU9nqAKwrL hT?0b~cOVS`AtV_81FGjg5P+-!aY?X>3uvnW7XZCRBbxvK diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Blantyre b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Blantyre deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Brazzaville b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Brazzaville deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bujumbura b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Bujumbura deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Cairo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Cairo deleted file mode 100644 index ba097504459673e254831edea689c2f8143990df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1972 zcmcK4Z%oxy9LMo<K@qQ5UbPhS8X6>Gl#oH>O)9+(4cD*T%Sy-Uhc#Wb+-c;NQsd0E znq_Oo16^(DGFzoqW?3|K%eF$aIN8Wew>-3#WQHdMjhjU0ee79Vt_OY@_r?4(o}Bk5 zz4Vdg<>FsA%>4=9T(kS;=h4c2w6%O>+A>Z0;Ds}${i|+$=+JxN;S)3T*E_n*H(&PY zj+d7k{myFr?X#gd^1{xbyW*j+yRS4jHL5i{)fwtvPiO4uj~^Gmbu`<ajlJT`2fL+R zU8H{B@U!h*x<s69oFx0^tXKVYo8`GFF?GJ;h&?})6ay1;<Um)u$P853KMxG53&;1{ z!EI~RUweDy&~tl)c)iF*R{Wx}nwQAzg>f;g;RiW<<{KhsUd)cj>r}agNtxR-QbdP8 zWuqMlHR|M`&D-_48hx-#Uhzu5xboeH?U*NvRqVx0a%^3_7`HMm$5(cVtL_Qx)%oMq zge@(0LZ(LK%dIy5c$1pcm$29D7iw~+l=028#gsi;?X_x!D%f~bPHlKiOj}bgubW>W z3YSfnMMWufec}r_J?D8*96x7^PkyFKM3XIPuU0d=-j_FQZxp2mezZ5Pe@or8Wt^Gy zSe`Cx?l<L&di2c?9yPN|w7#Xf)l@`3)Ro2Ghm~hLf~wq4!>aFg1-Es-8qV3>5+vH5 z4sUN+70iA6fv~#qzTl1xYs{VXjry)9>dm}Fot}U1T$3C-7%V6&FbmA1K}{^n)O-@t z3++#4(Mzqt-NzzfZNolYyY7Bd`(`Fct-95ucC6E>V|&AN;o2Z8a+$uev;O<*;_nqA zUgut)D47*;PjPaA7<uvM+Qn&+Os4oq^Y;-x(wBbI%KbC{rvKnSxEpf!%)Z6jkvHyj z?;LsS$a_cLJo4_5w~xGkqyeM@qy?l0qzSL<0%^nR`al{%Izd`NdO?~&x<T4O`av2( zIzn1PdP17=x~`D6ysj^#F{Cr3HKaH6&G7@>ajrd}KcqpVLyi`a9yyvsx<uOax;{A? z^}0@xR*_zjW|3|=+C}<B8b&(iXc_65qiLjTq;0S3o1<~B>l|qv=^bev>7Ju~q<>@s zkR9OI0%Q+3HUZfMWE+ru;MfSS+X-YVylyX$%|Ld8V>^)jKsE%~5oAk{JwY}F*%f44 zkbOZm#_M(l*&46g8)S2k-9feo*&k$skR3v{2-zcKlaO6Pwh7rMWTU)pr;x4ky1ha+ x3)wAXyO90zx()NX9YeOv>-Nm+HVxS|ahYZ<a*0{X{^$4puVIV2l`Ace{tf(fqG134 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Casablanca b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Casablanca deleted file mode 100644 index 65de34457986ee755ffd614de6378dbee965a64d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1643 zcmd7SYiP}J9LMqh#xl2|hzMVowI{<i*C%ext=ZVwIkU6bW*c^KJ?75XpM(b}CBo8I zu0>i>6c6OVSW2ShHd3xnaEQ#U`M!UYnn#}bt^fb^Kj*YP+2?&i1y$u~-d`uq-r?db zw2S8+zTNf*zSK3e_VllZ&ql64c;nwWnihRD`ndP#ZBq1GV)dkN*WN|q7jN_98<s{p zzwY97DV-ke+Bnfq*z+OM?QX#Do^&kI_u@%!K%eE&8Ixc7GcFH~WDM!+W$bQ>%xu2u zXBNGPWF5HV&l<HWI=fCaJN~j}ryi2*ic=b>*{Xs2H#H~jh~_L=sll-uG<a^12Aiiz zC^J`cdlzbM%~Q!e(_ZH!kJUM!Cum-9hvscLE8$)t3EvaVmyens4r>0VF;Z|bRtrAY z$=t-NI=88h6zV`Jyp^tn-z%l)!dEHwW2E?Sy%sk%$-I5dQZnzElvIbML~FEkQ;U|Z z9V+vS9_oTAdu8GHD_Y)foL2Ndq80C-O63n<t8VPjMUTsL@#!jE(oic)ch1yhCrf2{ z<uHwGPnQ*e45=<pl$EK;vT9lfS=}Q+){GdUYobwE*DX%h-M%C1-@eif^%rF0twyam zcw0A}SRtF&pV!*zCsMoTaJ?5B)8?mLo7ZhW|M%Cit*tH3?SJnjbdPC|UPqq2uD_l$ zvqE0p)F8Kzmu}ae6Z(gBwfz3IRy(W=SsJo7r!5Xy9kM*9tq)nC(^klzV~I{%BeF;i zt3;NGtP@!%vQlKJ9M*~~)@iFnmg}_jA`3=Vj4T;hGqPx8)lOTs)7FhF+-WOEmhQB* zBa3(1>YcWHWc^41POHFaB_K68tq7zFr<H-!;j}`KN}N`T(`rGAaauJ<IZmqwDadIR zIjtn5CZs6CqbjGBh17)<=CsP3RvJ<pQXEnpQXWztQXo>H(@I2YM2bYJM9M_!L<&VJ zMM_0#MT$kLMao6$MG8hLc3R0u%}y&CsTwI8sT(OAsT?UCsonYC7vIUg1XB1mNX{BL QeDv^?<gC;b95J%fPb9Cfs{jB1 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ceuta b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ceuta deleted file mode 100644 index aaa657ffde7908600a3ec66dff03ca6e91ba13f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2059 zcmdtiUrd#C9LMqBqn>00^rfY?MA3-QI>G^j)F9LoFcmc9q@)s(h?;mho|J*9=QNpC zW9-|;YOeWjI&3V-9OebJmMbUAv9?Cdnrqd{KWoY=r;RcCy??oR(M5M%^n3R3dN|{Z zo9FWmt=iO>XZ~@<+fTSTF?;hoF>Zex{Ca!j(2?-kZr_ba_vNrT(SLlX=XjoZ|M0TN z$$bx)4_@D4PDKLoQ$M^JAI^-<A3l2{lCZfgo^Wo<(7jiZOj3RMP;!4sJf-8e$bDZ` z#U<-#<e@WNW@@`i`p#EnT2oY}uURJ#SA-;^s8k;D7fNPYmOPsDpk(=inssxw&iFY~ zXAVx($37pgkN4hI|FNq&tMgmUZu>%Wwtb|5h7+1wdr|VDy^>$tC$pEoB?VIsNMT-! z6pqAX&g4#=bE#hD4maz(kAw2$cQsnnRj0*$^Yp2`3$)~&G@aj=p$ppP%EB_A1{)^J z)0vmGG&mw<zJ4vw_+HAd|00XVekzLw&dcJTj>?jrZmGENiB@*B%hLCb=(2EFo@w8s zRV&}n<xT6g`iUkDRg~+qla}fV|4dzRE1)$K%B1F-`}Mh-Gi23=f9UGLL|Jn<Rcd>G zmFHu>OI_!HtgRcA`d!!bg_1L}uJ(d9r0<vY#XZ`Xa9TG^QQdImZQVE$)lKJH^~Fme z-TdxqZ92DAw!BuX;jU_VX=A!Z_7=$2sv?OtPLh{%r^>d{KV^HWk>;EU+C225w4~h9 zmM=e(*6SB_$H^{vWuQ-Y?mw%$dJgFB)?*s$h^aTm8#DIri^n_HINv@0%{4kYJkGv- z9BYbr33s1OvN37Xyi`6n$rY6$v$B-CI%I<OA;^P0p7A{QCC>}}`%53Uf9hWP+wMEY zjM}ri@U)W=@H<05#^AJrKt_QK0~rT05M(6CP@Hxw$Y7jyH2hnJ<Fw;J2E<`R$dHgR zA%j9jg$#?sxR8M%BSVIUj13taGCE{<$oP-}I_(INAtGZ$28oOk874ALWT41Mk)a}E zMFxwE78x!wUSz;dJ7Q$WPCI5~(8#EfVI$*429Asz89Fj{Wbnx7k>MlbM*@IE011K9 z#sCR|(?$Ua0}=-$5J)7DP$02Df`LQ>2?r7nBp^sckdQcSOpu^BZB&r3AaOwggG2@i z4H6q9I7oDm@F4L)0)#{e2@w(_BuGvhB_vEpoRB~vkwQX+#0m)(5-lWLNW74MArV7D zhQtgBn$t!N37gZ#4GA0)IV5yQ?2zCg(L=&#{#WHov_+hiOA`H+`Pl{80e@v~0CVya F{{prT0UiJV diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Conakry b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Conakry deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dakar b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dakar deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dar_es_Salaam b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Dar_es_Salaam deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Djibouti b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Djibouti deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Douala b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Douala deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/El_Aaiun b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/El_Aaiun deleted file mode 100644 index f5f8ffbc61716d3a421f555fa962a2b3e488d78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1473 zcmd7RNl27&7{~EfGYZ!{L{UUfi*(V{HoH`WW#UrmjQif=QdXn3s98=OvO`Hh5T(ci z(E>$C1O<8U6iE<PND&r7w47qvD5992@1Jg+It2ZP_x;SgFsJwX^H(%CEc5<2QTBw3 zQ(+h16N7de&JIn+JQ_M3^Dfqlt=|-i8(kNS@B0`?cv2XgvE*VPd;ObW_T7bnoJDiI zoKxe0+=-E3UiIrh{<%BB%_~lZwhX8iOuwrI=@+D+@ro99AJf8T5433Npcb{Xt1qKV zeK!`UZz4<ldBs{ht4fQzC#CpWl$IoCXvx>LTI%c7(xca<Y^Gnzo{E;sXDu)DY5A8` zQgJ&{E4~g$WzvXNj?b1Voi9}nGqvhRlT_dOE;Ydjsp%imn$dBoJv$+FwXdYEtxW2) zTk8*h)2#;=%eLz0x_!eL*|BC=8|JRo#(9I<_+e6-eg?Jqey{F)u~m0nZPu21J+k{m zuI{;9FMFF(G;lmqS_^ZetszO;)01Ui)->6l7%vA>7wLgeNIDXxYRA}P>3siIyM}Jb zp@*Z|eSS<2Uuu;joj0|o?WOee^$&RwQzHM#XG%EyNj)zd{t)7g#?OeDZm-ny;_~wS zUP@ZJSGv*Xx0~NR<>vp3Jih(@SJ)1j@RL-WmJ5eukZh22kbIDYkc^y`5|WeCl0vdV z(n9h=5<@aWQgd2vPD>8S&S~i(`8h2?BtxgA=(HS>B#|tgmZsD4L=tscrbwzz%N0r1 zY1ty_IxSzPC5&Y3w3LyYot89`wbRmeTHZ+FNalt|>Q2iYNgm1GY3VyHe`Es443H@x zb3i76%mSH))8>Ip1epmk6=W{RWRTe)(?RBgObD3~G9_eA$fS^2A=7f&ypV}GZDz>S qkhvj~LuQ9e51Ah_LFfN9!)V)N8skjPU%qtZ(zN9K^fXLe9{meZcW0FV diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Freetown b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Freetown deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Gaborone b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Gaborone deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Harare b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Harare deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Johannesburg b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Johannesburg deleted file mode 100644 index ddf3652e159e4c3cd844bdedf4784dcd29da23c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmWHE%1kq2zyK^j5fBCeHXsJEIU9gPliT@>GwXU9&d$p(IM<igaK0|EfRULA2pJfp z9DoWKL?u9~wG0@6q>KUsi;r&zL$G6T2uKbLLI_*Q4pa!X@&{DUe;~-Mc60#IASZxm ckTXCu$SEKi<QxzUauNfHZsG#DP}hhH09Bqn8vp<R diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Juba b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Juba deleted file mode 100644 index 9fa711904dff7519d3061e1bc81527f5dba0769b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmcK1yDtPm9Ki9pr@OU>^E$^}Y(gO}5<#I6uUsM?$t1TGg{d5cD0C8+tB{DsAE5C_ zM5WPcM4}t5C`Ls=p`&8H8!Ck;%x31ZyU8Y-@6VrKSsD;OR@A;>v%2i&K3%oP#o^t( zILMgL#*hqezMIHGSw~gH#73TVd`y{|PERJh36m5h?TBvUJZ#Ha6F2UaD^r(GrtWxD z*Pq5z!`8Y??>wr;@`-L*zERE71>G`rrdkV&GSjoC+T4AeO{}Tx%e8EO-8CJ0M&@o; zP5!*1hpR<TghRhv5h3zN_K!txf5`rR&J#)QMQV1=7n9>94qp`Q{$BncTD*OI^kG-f zglF3YXoK`Y8X=vKR!A?T8PW}Dhx7}y4UvvWOQa{#6zPhzMfxI*k<LhKq&LzW>5jBV a`Ulz>Aag)wfy@J$3I5ky96O}GLFW@PZiCMN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kampala b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kampala deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Khartoum b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Khartoum deleted file mode 100644 index f2c9e303797396981ce1900c06cb51e65f94b830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmcK1yDvjg0LSrj`_f)5>Q$w<LkH1Fq%l~;D^0{BIZ5w=!I_jn3^s|T6B4ob11v%! zCX3Y~65Fwwjzq%1V5^DqEs4P(2B*3Ab9<8}&G+XotS;xpj}x|UxHwsR@tmyK+r`nH z5Qiz_Y!1o5)|&|~mUKv!O?c#4N5+(?>-A*Rn=mm^)UL=H_kKs#n}~^D#bx61$ut~~ z>c-QsYTDkA$=yfQTsqM$D>tfjI;Y#F&QyDDNv8VtRY&|lr=#mC{c<fkU-wLxo{^c` zHPd}w*29&8H(z~_BH;Y;2?m7d;ctunK_?_c#uG7~MdI^$cFq@*<3(=1DA?=!_<smf z{rcIvJ+(l5w~>HQNGv265)BE5#6toi5s{Ec%$hbR5)}!H#6<!lk&)0yY$P}m9SM)b iM+QJfK!!lZsA&g5MnQ%_#z6)`M#6s|%C*}K<lPUR4To+3 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kigali b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kigali deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kinshasa b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Kinshasa deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lagos b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lagos deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Libreville b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Libreville deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lome b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lome deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Luanda b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Luanda deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lubumbashi b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lubumbashi deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lusaka b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Lusaka deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Malabo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Malabo deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maputo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maputo deleted file mode 100644 index 5b871dbaa7c2969f6b4dfc854184a29010bfb2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$Z2vr`h|g!fkCbZBqgK3z~bW@!r<%}0^%}+kYL&m Tunq=>|3HA>R4$<Lx<*_8th^MU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maseru b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Maseru deleted file mode 100644 index ddf3652e159e4c3cd844bdedf4784dcd29da23c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmWHE%1kq2zyK^j5fBCeHXsJEIU9gPliT@>GwXU9&d$p(IM<igaK0|EfRULA2pJfp z9DoWKL?u9~wG0@6q>KUsi;r&zL$G6T2uKbLLI_*Q4pa!X@&{DUe;~-Mc60#IASZxm ckTXCu$SEKi<QxzUauNfHZsG#DP}hhH09Bqn8vp<R diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mbabane b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mbabane deleted file mode 100644 index ddf3652e159e4c3cd844bdedf4784dcd29da23c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmWHE%1kq2zyK^j5fBCeHXsJEIU9gPliT@>GwXU9&d$p(IM<igaK0|EfRULA2pJfp z9DoWKL?u9~wG0@6q>KUsi;r&zL$G6T2uKbLLI_*Q4pa!X@&{DUe;~-Mc60#IASZxm ckTXCu$SEKi<QxzUauNfHZsG#DP}hhH09Bqn8vp<R diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mogadishu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Mogadishu deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Monrovia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Monrovia deleted file mode 100644 index b434c67fa5a3808cea974aaeec9cb4befa99c3bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmWHE%1kq2zyK^j5fBCeW*`Q!c^ZJkg7};{%%`IA7@3&=|Nr`gfdNdi0Le*E4IDnc uAq>7i><+{*5JK1*n3X&~pql;zK~&YUIUpKjEl3z-H3Nxua{(P<zy$z(wKJFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nairobi b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nairobi deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ndjamena b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ndjamena deleted file mode 100644 index bbfe19d60a5fc8b8d1a5e5319e4d687e2a2b078d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmWHE%1kq2zyQoZ5fBCe79a+(c^iPlq-PB<QBs!fN*t7#Nut85sCvfWi!X0w8rV v3XB{+z99_ZjvyQy0+IoO5E3l;0nx(n9|%B}fw&+GK{QF0aseHoYsduvED#(Q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Niamey b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Niamey deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nouakchott b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Nouakchott deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ouagadougou b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Ouagadougou deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Porto-Novo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Porto-Novo deleted file mode 100644 index b1c97cc5a77eb187cc8ea8a4031a45a9bf153b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmWHE%1kq2zyM4@5fBCe7@MO3$XOWpIe>wYfq~foB*iDdz~bW@!VvBl0^%}+kYL&m Tunq=>|3HA>R4$<Lx`tc;I6M;> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Sao_Tome b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Sao_Tome deleted file mode 100644 index 3c0d33b0cbbc84b25dc00df433264a940fb01235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmWHE%1kq2zyK^j5fBCeW*`Q!c^ZJkq-WD*qdYqV7@2^=Yyk`m|Nnna28x3KP!XR1 z1BZ`q2!lHihdYKq#DQc8VQXMk^8A46`VRzgHh&F3G{{<zFvw~K67A*!Iz-oy3jj<y BBsTy6 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Timbuktu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Timbuktu deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tripoli b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tripoli deleted file mode 100644 index b32e2202f572b8ca6ef3c5cf1d9e787a24f2c328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmcK1y)Oe{9Ki9Xt$}*US=39>YHJ`OImJk57onkU5{bt^(oWAP25I~WOa>97K}6ET zAO?%6iNq#Co+cUzi5v^D@O)2ACWBx5Jm0%Z+FU-5vyfZ0#jmL`PgqRUEUudiX4`)~ zkKdjiTX(TTSzf!c$`32LGB~Cx2POTKxo}&yCS<7gO@%)Cb?alF+jg@g+e=4o$JxCM z7uVg+y^!wOu2<cg&oZK>RCIYm_hc_sEEUl4q~A>>MrH5#iEC$G<WOovC5Q8Rc6Ue2 zIoE}3u2>L$pZ5t=`+di5p70f-VbQ#&2uFP8rJF2K$F*pjo^ixvdY;V@X|sOD`GdfF z^+%s(kf3N#L?|j=jSNM{s}Z6o@i$0Ow7eQIiW)_ZqDK*=C{iRTniNrrDn*u}OA)3h cQ=}={6mg0=MV_M1a02vyP9bQHWWWx70c9krqyPW_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tunis b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Tunis deleted file mode 100644 index 4bd3885a96f61bbf9c0db6b42956b02d6e2bccc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmchUyGjE=6o${{A{s~>5h6+oNsO`3BBD)5WlVy23%G?^r4S+AB6$Ey0~XN-u+U0T z@D)@rsEN1MB8!6QWD5%$(fJm%(8A6$ob&AtGcbI=xm;Qum0#7ScW5fAoA0i5J+_L4 z`Sa9<U0d8K)*hnv<)dj|9hIDVYg#q-d#a7our%t&>UwuvZnnqNZRN?nTMMiExo|O9 zYdWFIq1Ab?;;3?;72QiYvGkBLFx>0JBLQbHeP$*632UMpbTa96nT)rp+047j`7f&Z zSX1R+p4F81L>WGh*W>elFa7spiF9o0$BHK@K9NYj(Jm5F68xI%%*>in(4EOHFid^i zFt|jSe`|^9W3HAr_lC%auBBY}D?}4S6-1Xytqh_Kq7I@DqR^$*=u)eM=!7VRXoaYS z=;awGhG>SUhUkVUhiHeWhv<hy0Eqz-1tboNNFcF5qJhNYQbz=dN&X?HfDUdX8TbTO CBFtt0 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Windhoek b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Africa/Windhoek deleted file mode 100644 index 358f11e329bf54d9cf9fb534bbeaf460aa04900f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1030 zcmd6lO-NKx97q3SI@kzy(;|skhzrd^9mgikK6F&Z@6UNMDhMKIxzN!z1rl7W<wVz2 z)S^W$TnI`lTMB{_Dbc2&Ma-%QS3!t`RQFt6=_1<s8{Rv29`iPHjyE(h9+qRvwokZN z#9o|(+TP}3@9%Ccr}XyA<aDurF<qA094Vg&s)~o-CDig;Ro=<c;Y(>%75k>Ip4~T* z;<q~T<BO^GFX`$JYo_Mw6Mg;lD^t6X)HmiIo0}^sxivFxZa<xpx}is^KG`GD+A-D8 z9hSz6&8n&5oHYF^Rk7S%iG9vd&3k#eWxd3-e)_4~7EYV?)sMPkZpU;!d!xHXw@vr` z7rLim#q^G>N?*~uiPt|DFK1cx7tTumj!_92mc+YzY9L)FgG-+BWt_^$%<})&CsRbZ zKj(ab*mJN@0wR|~K6|(4Ga|W4@;Uo196agh^yEsYvMMC;Xxx*=s3!?`*)K=u{aeU2 z`;HT`clh!jyUE%12M|FJNf1%|3|SCi5NQx`40#ZN5Qz|x5Sb96j#er}tfQ3+5e$(G z5e<<I5zdef5zmkh34jp+Bm_nbkRTjw6p%0+Z5)t5Adx^qfy4p{1`-V<97sHnfFKb; jLSn=O35pRFBrHc87bGx88yO@tMr?B8Y75vF%ff-bQxVaU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Adak b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Adak deleted file mode 100644 index 5696e0f8bedee72515c43f686881a561af339db9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmciCZ%ma{0LSsm-^)cYDj-Bm!Hl7RhrdBt9tc86<UwwrWC#iolmVg)3ox8hdC{a; z&Wf15=#OjEF}7yX*qNL2g>zkSYhaF=n{(Efu39oj-p=>b){C0&@;rN<&*6@@zpuBZ z`Na&^zmCWJ!pj*jFZYBu%;$W6p>J}<Z*7zHj=VkjoVs(W-SL0wm9ArzPQc+D8Q7KW z1hsF{!SxlskcuoFnxE-&r^jgbn>&4;$T{s9x$cDDyrdWWIPF_FeM?5@G2f!Er{#So zrku!k$K?I}r=17(ejp!g9&)0#?32+Yy-rMCy?iLS&WTOz(ThC=PF&zN9k)7hdE76K zUUDT<#ZPAFrDvkm!(T?}Wgp&B%R7r@Lf^DXtV)(ET7DOg<SdXYOQ*!6(X%pX)oGFB z_vqyCA(1@uvtIR6uUI{PL8n}NPo)ljq0>gY)tcV7v>2>a=}n)@j1H+Xiw9&@WunSX z+9h)`gVkehugr~45V_ZKWZry`c>G+feB%47Vy(*3PmY}vPYuNAb?=`LvUN`9A2_QD z$}j1s8$MBmYrfG%h5f4N*Bi1p^<z<daYB|v92O;`qq20iMLaw7t={n6K~>g$Qg8g~ zB~`w4P&-FURmIvpdQ)eLs*JDJ-l|2)JD;bkvTv%Yt5tIIvIw#HY_8mL=Z2{HC{8{< zGa<Gfn3pe%kBZuc8M$rv9Z^?yTh|{tskWzH);pR8RYSzMZY<uT8fTB|rle}sbYZ`4 zcIT<)kp|szZHapMXrFw=mn(L5?vSslIMG^FB-@V6i}su(xvO<Xbi{b%?s6@5`&a7D z+{>!-2e<Bu9amlB*Y)1H<Lb5H^ZNCv{i?fnME9I(P`$NB^uA-ysDQwrfZ&k3J)vRl zd-(YMHQQY-zrWFO1^fLSbpc`ayU_j;Y41^dU9o<DUt7RZdtbbv%<I}%Y2Iq{I$l?S zxfc|AUHR+HWxctW6TpY_*TwtaBMUeGz{`2tyxbG!_{$u>IqS~+F@ZgYYHE@3Ap^9U z5h6oGJ4P-Hl4C{*3=<hAGEiis$WW27B7?P>(IUgOn(-n7Mn;Sb85uJ&Xk^sLu#s^i z14l-V3>_IeGI(V4$ncTzBLT3Q2v|)BkQg9AK%#(z0f_?=2qY3nD3Dkn!9b#cgae6( z)dU2Ih}DDyi3t)EBq~T)khma$K_Y{M28j(493(nOc#!xY0YV~VH6cP`gaiqR5)vjP zPDr4TNFkv@Vub_?i53zrBwkh%FeGAD6EY-bRueQNYDn0SxFLZ<B8P+yi5(I=Bzj2r zkoZ|m0Fek<O$d<~T1^m<C?a7*;)nzii6jzAB$h}pk!T{}MB<4A6p5(SgcOOX)dUrZ zs?~%Qi7OIVB(g|ok=P=^MWTy@7l|(tU?jp;6JjLBRug0-%2pF*B+f{nkw_z<Mq-Tw z8;Q2dR695@B=l~N+Y@#VAD8R1EA;XIiuXVD{`(eg%APJv+EdCh(=yUTN?Ce(T6&rY F{}YG!e4hXS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Anchorage b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Anchorage deleted file mode 100644 index 6c8bdf226900d7f4c6a4d47338e6742d4d6747cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2380 zcmciCeN2^A0LSs?B5>gbMG2`$^d$2B;sFJrC@%;CA^~!{36V--cUTDoWB5j5I&v#< zv^kuOj&p3aNjuZ6bS=7Rtxe1kZoP~}>DEk^uJtyH<aWNNw*IL3U!G^r^Euq{@9*nr zXn8uv`qv59zwmMn>X&=UZv7eCpXZ-Q__=MOsaX6zQ6^_kZE^?RSS75%Qn%x!6cN;& z?4HwJqJo=N`a^1yRA^D6-<chzoUd%~heu7T@R3Qk>xc8|j&H{N5no;vk^T|?ou|jd zU2mRqM;#s!cke&$zGqv%nA>u|9bMlpVk+9)_ZHNNd8upN^B1+M1>wuwu|c&eHa$8j z_Qzti@N%Mzn^>&wJL8n`CqmWzN3Tk|t3W)^J0=%-7m9=}-`R_EZ;Hg#=j^1IuSIg& zaXWc-My0wA*r`)rskG@fJAL$hm2vT9nK^V+Wu4qAm-M`-#H%$j+b2a%M~+-twnr?h zi<Y^`%_1-7SGnA|O614Qwezo}h=Q44><2$~iH9aXw+mI0didSb_9F+w)QTfVY<KIl zD%$&wEUrGURyH4&B}?8?r6oIL=}(tLS>~W!cJZvJh}>>hoE#RbuQl40uYI7_eAX?i zb{<oYzTF_J8~3T2Lxr-o(5KdR#ml<53gz)y((^~U^5$Na-fzpry7+*-?xQqOKYPh; z7>*E6Or5nG_g)uIjt<-Fo5#h5p+0+K)%U8Y@0ffl^Mcys+b5eNmD*h9lbf#%C|`1g z^nKE)TAb;!WyGttT#1y=9O@9yj;Gnrbv-7wstCK)yIi#OU$@)y7KrCt$L)@o8PQpN z!tM;rQ(gHNWY^Shs(ZeY-J_Fg+l>Laeds;4<BLwYv*&fS>y%gatnXDX4CYHm&>Tl_ z$gQ5xFz0Q20)dWh%hKPCR&XHD+vW%}-w5+dl)1<7wPFK-{@spvb5B@P<*|zD^!vDe zYxG;rALS(;tDZ}xz7$pJn?4RcoWCxf|K6HQ{{t^)K)>8mZt#~r0ex1Sx%nyX>MJTo zHi+!dsJDph5zQvKuuG2KCa_OrqsUH?ts;9xHjC`msJDyk*Qhs)>=@ZHvS(z|$gYuX zBl|`+j_e%SI<j|U^T_Uz?IZg~8h~`bs9RvvJwTd(bOC7t(g&mwNGFh1AiY4Efpi0D z2htCuAx7O1q$Nh(6Qn6fSCF<KeL)(7bOvb+(i@~XNOzF-ApJoagmegLkx};uX%f;U zq)kYlkVYY$LRy9N3TYP7Eu>vYzmSF*b;ppF8FkN)rWtkDkhURxLmG#44rv|IJEVC? z_mK7>{X-gP)Ez`xXw*GKnrPHrMB0e-5osjSNu-rXFOg;<-9*}n^b=_)(ov+PM%`1S zsYcyZq^(BXSER8>XOY$-y+xXfbQfta(qE*(NQaRY8+DJ7CL48^kv1E3pOHo*okm)X z^crb4(ru*OmX3FDP)O*l9%p#iZG0^2LmkQgz2W~v{O_BKx);#-jH;zsIawm3DmyzX IJ4?9!1Y+B7Z2$lO diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Anguilla b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Anguilla deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Antigua b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Antigua deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Araguaina b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Araguaina deleted file mode 100644 index 8b295a98bac071e39551940705ea050839e37b9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmcK2KS<PJ7{KwLW+InZi-Uvunz$J}-S5=XOj?B$g&*{1XsXDT8XR;Gm1q(Qmx5Z} zF&yL_&!z%RofJ_7(eui&hKjNuXYu-c-$o|~-{ZZ{ad5}o^L>)LBM-CDiE~ch;c`0k z^160PpI*(4O5tLEsqpWHUHFlc_r+1Olb@HJuVvY7`0REU?wGx!dMUmwn*F^uQc7a; z>$P{k&)+kLAMVSax+a?rw@bRbWXhQhSALh;qi@yncV@yiuD+0_v2ELIJDiEvY|HeB zT)wbkTW?=-tzVv+wyvM9ZFAYk)VN%29I)A2#>Lf-O)j5EF8ydaO|x{aJ+fVgpIpB1 z+;s0BNYBf5du_$L-Y0eT`r@qg4Su&n&mPFI>9&*J`>3+w)Q?K<H`b%b`-4(NmG@ig zQO(VPB)TG5y|E67lbm9(>Hm-DH+s*2ks$|l(8#cnfg?i?>fn*#2Q>f^0SSS`K!PAq zkT6IbBoGoQsG*QpK@EmPL&EX%iH8J4A|fG?m`G40YEZ)>af2EdiHw9sVk5zk=s^vS s#1HBMAWMKO0<sLqLLf_lEC#Y1$bukCf-DM7>VG}6Wy$pF;`GItV_67C%>V!Z diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Buenos_Aires b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Buenos_Aires deleted file mode 100644 index e4866ce1778fd2678a85dc6791a6c1b3fcaa5d1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IPe{{Y9LMqB($yM5gMuO=7AZ0#c+lCRKlY0qtZ)|_6rKtq2!f(R22ra^r(h5x z2o#rIIs`o(EYX!uEn9k!!Hftx42o_=#Tv`Xr|<iLpy*Jye&gBeVW%Jaywd|Gj(2*0 zJj>-54o{C9?rSc|*XXsZx_7?czrTJ~Pi)Nk6AP!+<k|~na(qlrHSYR_>o3%Umv79& zb74I_wazyKS^a2u*nhmUsEQZM=E;V-o;lL&&n$JQ(%ytARqv>0mvjDH>ZYE1f5ptF zteV&FOeNN>7m~+JZFfl3M(XBs@T97DM*RBQ5#3mwG>uY4eW?xli<NEqYq8sWD;!kc zZ}<C4L*2?=jr%Lc4(L$psr=^LxNeQ)@@<Jvy6wZ+eEX(Vs=a(TAM-w{nBI}^s8-aL z8;7Ea`cu7qx<mI4uGGD+GSPjDqk4bgXf$K34J>Q=$4{{Nmrs+s2d$lrd!Dt$ve#^F z$#@}apO*tI*1oO=BHX=}zEs*v%Gs*oa=PUFzDfG;EA9EYQbR60^5XW)(5*gXHDozt zJ!C<rtcWb>lr@n>kyVjpk#&)Uk(H69k+qS<k=2pqow7bsfKw_!N<eCGN)bpEPALPa z11SWl#3`j9wIIbfr5dChr__TKgj9r-gw%u-g{~?tQWpO$bs>czl_8}ewK=6Yq&laR oht%hk0+9-l5|J8_B9SVcQYKO-QYdER)x7_oX?T~!+tU^P0h%oABme*a diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Catamarca b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Catamarca deleted file mode 100644 index 9fe9ad6470939d78d5dfd94276f0ff332f1a91e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IJ!n%=9ES1RG|^ZK78Dc_sn}8y6%K7<#gBR<LqW_^14<_c5d=YTu!3lGaS{Sj z1fiwTu0oGPwKUZp8*8*f38X~?hk)XysKgMzdi*~}9K=C4@8#UzCDSGElO8yEqBHp8 zS|Pu1xO(OAzV5O-ZeP!;dl&lk{f*De<mRlNTs)(u)?c(!6JsV{zpJNjJXa51ytWU| zH<_9I25kqj=F!NAp50SWg-a#-cvH>H9SiHZ<+v&y=&{AhxO#eJNYAHknfZ5D?Lx|_ z1@qRHV+pgEJZ`J|qN+Mtv!5cTRIRf`*WQep`r4$e7t88%bx?mP?=)Wv3HxpOu=;+d zUoQ_Ql)KigSB@Pt(YDjMtwR&0tz{_J-t*D4zdx7j*s?}-l#b?NfzvUwI~T8%)wY{Q zT6=0w%&wWZ(fJQbFRiwHgR4y6%S>y=IoA+s{Kq>I{&|P6F%ptz#JSmY5I9#T1!3ok zHi$a6RBC8;?p39sh4-NOP%0fH<?K-1a=PUFzDfG;EA9WaQe9rS<ip+B;qmRrYRGcP zddPxaSrJ*%D{CT)BC8_HBI_axBP%0IBWojzBda6Jdu4s30IyVllz`OWl_HQTyix{I z2T}-9iC0QNYC($eN;OD1Ua1Eu2&o7u38@Jw3Vl_)NLl>1)P)p=RECs>)aI4qkm|fr p9#WrI3PdVIN<?ZzibSgPN|{KVUMUna@@c{U&$MZ;#M|4|^aHgk>@xrW diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/ComodRivadavia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/ComodRivadavia deleted file mode 100644 index 9fe9ad6470939d78d5dfd94276f0ff332f1a91e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IJ!n%=9ES1RG|^ZK78Dc_sn}8y6%K7<#gBR<LqW_^14<_c5d=YTu!3lGaS{Sj z1fiwTu0oGPwKUZp8*8*f38X~?hk)XysKgMzdi*~}9K=C4@8#UzCDSGElO8yEqBHp8 zS|Pu1xO(OAzV5O-ZeP!;dl&lk{f*De<mRlNTs)(u)?c(!6JsV{zpJNjJXa51ytWU| zH<_9I25kqj=F!NAp50SWg-a#-cvH>H9SiHZ<+v&y=&{AhxO#eJNYAHknfZ5D?Lx|_ z1@qRHV+pgEJZ`J|qN+Mtv!5cTRIRf`*WQep`r4$e7t88%bx?mP?=)Wv3HxpOu=;+d zUoQ_Ql)KigSB@Pt(YDjMtwR&0tz{_J-t*D4zdx7j*s?}-l#b?NfzvUwI~T8%)wY{Q zT6=0w%&wWZ(fJQbFRiwHgR4y6%S>y=IoA+s{Kq>I{&|P6F%ptz#JSmY5I9#T1!3ok zHi$a6RBC8;?p39sh4-NOP%0fH<?K-1a=PUFzDfG;EA9WaQe9rS<ip+B;qmRrYRGcP zddPxaSrJ*%D{CT)BC8_HBI_axBP%0IBWojzBda6Jdu4s30IyVllz`OWl_HQTyix{I z2T}-9iC0QNYC($eN;OD1Ua1Eu2&o7u38@Jw3Vl_)NLl>1)P)p=RECs>)aI4qkm|fr p9#WrI3PdVIN<?ZzibSgPN|{KVUMUna@@c{U&$MZ;#M|4|^aHgk>@xrW diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Cordoba b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Cordoba deleted file mode 100644 index 8c58f8c23eb0d66d80714a9789b5c20abf043ca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IKWLLd9Eb5YZKE+13@9if60xNuA{=dF#6R_w3{^2p4Je%yL=XhU!3v_$#YqTA z5QLV-c2zuwYH6cAjWyb#1X2;fA)vS^A~D3OJ%7)MgE;8s8!n$C(@VZjX7I%EZtst0 znf$`x>662K^(FZlyOvY;&JXza*FD#h8*={S!f7?N=7O1;7}wLyyMFQdOZDK@Tl4T- zSkFwa_03>TKN=bFAMYrs(#48-vc92bkF@!-OL0}+lQiYp9rf&T-k(d~)N>!MnEA9- z^ZLE1#u9oVb<EUvg;agCVLk^>sz!IjZ@e4T%~dJWELYW+`jEd^-KxKq66Ra+p!$Am zz+W0pD0{WnUp~HHhdNFbHsvRDM<ie9On%axAI}!LHm+1%mBWRYXZ@JoUWnJKYV(al z(PZPP-Zm50{X;8s|LbgY@8X!=S3DZcT5AI>t^fE5w*CCHV5_?atu0kN&waO9TQ*+E z+832TyR~m>fe3f6{Xjb7rQ~c;y>fcw{Ju%%?<?*8wNg_qJo4i9%<yfEtcEOytcNV< zlogRBow6pfD6%TDEV3@LFtReTG_p3bII=pjyi?Xk3UEpVNC`*{PALMZ!YO4Sbs&Wx zl{lpoq!y$Yr&NQK<CJ=kf{==kl8~B^qR>^vMats8r7ol}q%x#5q&BA%hg9d3@{szR lQXo<xQX*0#QY2EPQ_4i@L<+^Myqfp_GY#*Qc>8+7KLGQ$?e72p diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Jujuy b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Jujuy deleted file mode 100644 index a74ba046226060a01c6255b6714a40211f739a24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1081 zcmc)IPe{{Y9LMqBa@HCi1_eb#2r1?wcu?1(G@jT&h<34o;Hg6dK~QwaAj-OQh+q&S z2ozUdqn-}dP|GKm%{<6pMnoM(MYkkkjrGr`@B4uc(V=eremr~q7(4vf=bafkeyl6_ z<60}<aJYKq@VxP&eB8R0Rrk*g=m%S#nZmZLE-ar?Q=87)smTd5-MFV`uD?(ZU%s=C z&PL7b^k!{`vgYyFn4a5LRK*Kr`($g~%pVEs`PH~89Z1?z^{!gDl+%mpn`Uw4vRz6$ zwPZfnN@v0>r;gfMUqsc$>-KZ=303ck>H7O|)7X%*jZ#H@sSWF|mEGoBF=4;Y99BPW z59rm=gmPDV^ty?ICen5?zdbi;+G4qUd-9WM|9B?f5g)W2Z(f-lD_3-<*_)47D{AMB z!PaE`so66dH~quwP5<kW))D7iXid{U-pyfd`7t)hX?AXIAqbo+mV>Z!B^yMXdtMH; zIQO<1it!w@97<<`l$>3vM^3k#-<QbzeVe{t+ce~XOJ3WZ9=%gQwnFwoHbZvv%67<p zUfB@Y5!n*i6WJ8m71<Wq7uguu8QB`y+bf$RyL)AOWPhXquXKR4;FTVbCXg<WHoVdY z(g@OtS6V@O@k%pDH%L23KS)DJN9bGPL3-l9r75H<q%EW`q%p5_hP39D-jL>y?vVD7 c{*VTd4v`kU(j$(@s|5c$%4n~oy1zU66E?ExkN^Mx diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/La_Rioja b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/La_Rioja deleted file mode 100644 index cb184d6a80d3c4976cb78d82b37409190edc65f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123 zcmd7QPe{{Y9LMpWx|J=VK|v7_M*hiF@Sv_mf1mImL|$wVc<K;B5ELCUh+17b1%ntt zpt$lH^mJH>vwUpXN=OD%BIqC#-HMDg)<2)V@269AsAIqJ?DeqIkA2?Bfs=!s!5_~G z`Gv!CP!9KXm*wmB^|ZQwp<h4P_}q+dPV4dcGiqY}MLUrjGx^#*J$d7$did(CeRMuz zrt%xK9Y~w$krDlPZ$T9<mF$yERWoxuq-U06s(2`2i;H*Fvnv@r+jq;%ez<Dq`kb0G z?`^pwZsvPV*vkG!RT-_?&*4+5+8Nc=ccZ4Zw#U|rW%Z>pq`#JTnQw)-{XThA{kYSw zmxtrZUF+5>#}1pumebj-nVe~fX0ok`Pp0+bxorEEHLCqZF1xL*O?L!Ks>AHb#um$J z`^{s`iRx3cdn#sheo5(t)wXwNmFaz*YEC)l>gpT*@e>aH`qX<G!WedLIvE7c6-q(K zxuOjkom(i?H97ZYu`bFzXgboD40`13RNZpA<orHN^6yh=S;$XSlM9c$xjQ>-b|BLs z^C1%=GkRr8WKOS4ip+{ki_D8mjLeKojm(Wqj?9iskIe6t1dt58k^+(gl7v^XK+^C^ z9!MfcCP*q?$puLU$;K<`Ao+MDAtWOtB_t;#DI_cOX>pOf_-{!J$qY#i$qh-)E7>9G tc_lw2K_o-3q=@8*B#C5+q>1F|l|+$Dy^<=X<Q0Sepx4MgsrW!w<R{OP?j8UD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Mendoza b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Mendoza deleted file mode 100644 index 5e8c44c8934960e2010e7b0505966747cb2c6e50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IPe{{Y9LMqBbgLyE1cUw%A*7g#;6Ysrs`ZEmBihBJz*C1P0-@-TL4Q`4PQf5X z5Gby^20aCqsO3}3RzfnE5kZGV(XEJBV_Et1eLv74I@GP-c=q~j3^w+84-6hV(i!}5 zt&n#(TuC|Huf8BpH?CyV-823A-uh=|a$`nME}l?RYtGrJiE%SsyRB!gzEt;Ly|WKa zH<;P!wb~A5%)`-9{b)yC<<A%G;|*0acPOmqmSd{Wldy&IE%o$bR?nxdoB5BI>_W<^ z1@pm{I^t%r_pq((imJ+3)qaT#scL7FuD%~LwdP)1E0omN%CKH4Z8P8Uar=E{zxr{r zUoVfumAl-nSB~#B(bnU+P1y<4+LX<;B|e+BPp5M2>$-LO^Ss%-bkug3JtkIuqqkf; z*pjF|G23TjMw@2Sb0BH^hF6)s*XfqDb1qa@|BsJIn1}yxI8q;}lUEVvX3qwJbNONr zcCKK9sB<rhp+@K4mP1Y42aWqu13|Bxt*Tp2mz>`>8Tk83yML`zlN&Di;qK(f9r;e@ zSPfYYSr1vzD=Q*PdSy*yQDjwQS!7*gVPs`wX=H6=ab$I5d9SRG6yTK#kP?s@yix>G zg;&Zz>OcxXD)CAwNG(V)Ua1Bt$1C+91tAq7B_TB-MWL^X8!3zbmb#F_kjjwKklMUb s98#TE%0ucy3PdVIN<?ZzibSeJ%0%k)N}-sRpBDW8OdEDeyveSHpJY<*WB>pF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Rio_Gallegos b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Rio_Gallegos deleted file mode 100644 index 966a529ba9ed8a4fc6385077cf188f95d47665e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IPe{{Y9LMqB)YV!-gMuO?j1-v>Jou+Yf9#1JglHEV6rMUr5C}zw45F+{r(h5x z2ozUdgPsCQoaIx?Rvu(9C4vq@(XGf>WBv2#`+guOI@GP-k7uvncKWf;JKcZcct`NZ zwMu^BaP`RHdBa8dxOp|B?w#w?_cuQ`lUp)+a^aMk+IZehO^lm-?T((l_Ch^)`Nlpx z8#OceP1^Qn%%jm!{diA76)u$QlcuVfJ=UOSSK3waK*AQ6ZmVaPvU)Cc!_2+EZ0A!> z&6{_&9Pc&@$pKs07g3e5s{IrmRMn1{uD%^Jwe?9`E0)#g%8>q2-f6xTy6v~=!|MC3 zKD{#1t=yF^y?XqhiL{)|ZOcxWmRL5|n)qm1Kb*<6ZC$6@N=I|?U|Ge@?p*s)S#7_5 zq&ZQ2YIe=E8=YTPdU37o9a>|0Ukx`8JLf`m_5XN>8-BU#!*%j4?A%OK5I9#T1r5#> zZ4hy8u@q`_?)6eA#&ghkD3uP9a(1XLIh}HT-z5F_mG=K!sU{Cx^5X9F$lU>CHDozt zJ!C<ztcWb>l{Jw?kyVjpk#&)Uk(H69k+qS<k=2pqy|O-1fLAI&N<eDxN)bpEUMT~q z11SWl#4DvBwIIcKr5dChuhfGSgj9r-gw%u-g}y2tq%8hh>Ou-bDnm*`YV%5QNOfK* p52?>91tJw9B_cH<MIu#trA(wwuM~>I@@m2V&osJM;_c~-{s0qJ>%ss4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Salta b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Salta deleted file mode 100644 index b19aa222f91d07c4fcdc8b50497244c64f2df1a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1081 zcmc)IPe{{Y9LMqBbk-U|gMuO=j1<`-cu<#78c*yXM7x+!c<K;A5F{Nkh+17b1%ntt zpt$lX^>naAEuUPr@*smPBIqzEx)l*?tbaaz-%oUi4t47{p1mG+`mxV@X!zubuHcVn zjr_vl>662K<0bjJbuFvzogdWqw>&d5+p>D5GNNWTU9hv$lV+}QSI=L6p&q<^V;`Q2 znuWQ|+74&Uqw#UQxUZlJ7fbf>*1B0b7S>Cv2~|AMYm3!8>gna2UQXXM%kQt)m9$eU z=AA9alcth7ZfpG!Rhy{WPc5fZy(^~cZzoJ+L&`RaW%ao>s=t(Xo3DkW{WgDCeV-cC zt7A#!uJ-7)lLt+t{d9guZrZfRa`}$lkEY|p*?i~r^{TUUG#?L~j+?#tM76AT-Z;|M zTYqBqEF{dp=sGj-D$|y6&V`zq|MAlj{`qObW;rd+Elvf2bA?h6cCKiHh;z?Np;qT! zS3@!GLF=LPP>_<dOZCX<mh<}(Lx10<|JODRx$wwqyE9|AE67&JUdU$1ZeH0A+0QE* zB0C~mB6}j6BD*5nBKsm6BReBoBYS&gb7Xg~Y>(`ZG~ksEkQThs1JVT21=5CB`al{% zI`K*?NH1P#2I&TA2k8fC2<ZrYOI)NU{#%+tx<cAQ`a&A>N@qxGUg-^K&MVy^?IHak a4I&*PEqbL#%*d+*|2xWPpQO6KJNg3zGUb2( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Juan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Juan deleted file mode 100644 index 9e5ade6100bb4a12e62827a596c0fcc29df53915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123 zcmd7QJ7`l;9LMpSrqLJ*1{4$#sn~~!2!}q5_&g;;LF`fkLMI0igo5H=1<~l@Bm^V~ zLQA4u1y6@)Nvpk@)@Z>JNJRvPfa0d8#1LOS{=dgb9CY-Clg}a3CBJWK<m8DS?~iAd z{KDZmD2My{OY(K=T1MSHKdkR<dTOS(Wc2j%X;s{C!7mmj%}jGj&t89_?!SEFKR6dL zb2A&YKaw#ICnofxy(Lw;Sn=mKH_XDZR=uziSLK0(U#{IzPcCQm;?PaA`2LE&G-TD1 zdFNMS{bo6N+^_Est9q{Ce-4eRMo&~X-sVhmUD9ustLjUAOn<HJGT%!5{`c7<>c{P2 zy)xdf?A1QKdh(D7cbv*^%N9&WG@I{Cd@`LM&gQ$fu2tR73i<6_T{`A{R57zBAFox_ zjvGhY6OG4a_gviQV$KW%l^z^hV+LQP+tb$CKuho+KcUuNpB6_jgduC^<~`5aQpIbv zw(NUhYoAvFZPvc71)|)&w!=dyFDYlI>XXwe=l5Y!f1gUrLT;+2TzKTo?V0hZS!6n7 zK4d~<MyE`P%;}U#ky(*xk$I7ck(rUHk-3q{k=c>yk@=mH0Fr@IQb2M*l5k2ENE%Mb z14#tQ1WCmyxgg0P**GN~Bp;_Fgk*%Igye)Ig=B>;EiRH5|1F6jnIWkmxgp6pB|9WN sr{squh-B!L6p<W}B#|tUG?6@!M3GFLk}9U<6}|tU*T_Dp_&{&uC$tjnjQ{`u diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Luis b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/San_Luis deleted file mode 100644 index af8aa99860119c9fd4af7b9356f7b548b771ac1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1139 zcmd7QPe{{Y9LMqB+<v%5he1Jq>5^gz!Gmrs=-(qdtRyeCLwM>CK@b!jGKjJ+odTgo zC&iU?3w)w1nU;?&TS<vABf1Giw}QgPD)s66evWmhW54nEdKe0BpLf3J#PPP^kEc=I z;qdI2!+q@~`El!7zj|=KTR+_R!i;U{*JJaiRcYM?TN)iU<Mq3G;>KI`=-mhV_*}wF zj<46Yr{7Es4(cbn%c^{F&OY5-Gt)<7dU~Z*RXQ@ZvM{2aUoPmGuA64&^A$VW<<zYC zWUJfLW<Gn&F7A!1#i5%07M@hKwxq6o95VGaSzE7E)%V3-{iC|m{4A&K(!^o4e5YHl z45XF2n$nHKohIINs<^c<YMPRTVsqxJX<oivY}t^~Ew9RETW*uh)Sj7LldVRVhD=9P z>0IwBle@lD%vHP1fiGwE!Fwsw`TB_NbIwH?qW|~`W4z>-!)VwL#`v=^bZ+Wp5I9$! z3u4YyY!G+u&0J))bMF@-N$!E%dFN19KFG@1p;B_%<@`QR{_m4%S;|jVmkW=40(WL$ z<UTSXG9xl2GN)H2MP~KNw8*^3#K_FZ)X3b(<jCyE^vL{30!Rj4Ndd{hD@h<(AZd6d z4<r$<WP+rE<bovQm28l7kbJz75R#EsQbKY<l0vdV(n9h=pBNX(jPI7zklc{uknE83 xypkW1pjR?PQbck@l0>pZ(nRv~N}^uL6iF4y6-gHR<X;T_qiz#>r00F@iC?^;`#Asr diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Tucuman b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Tucuman deleted file mode 100644 index bbb03a0c705626dd22776818b61035ff501b7932..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmd7QPe{{Y9LMqBrmH1FgMuO=7AfK)c<@h){_%(hEAnDO;i(`3At*Xz5Vg8=3WOLz zpt!VS)YHKdxAMtlD+5`~h`@tTbSo-sEGwVB?<YD$hdTEA@$B{6PCxc}clY!jYYP6j zmdP(1E-i=W)fePr_)5RJd$vp8TldtAZRpoyvnSQ~nsau1bi`yUcXaOROLhO%8~fl) zjhV=<)wZYKJRBU<lRNS%f4*oRtuLFY!_|6fDWM8&Nn4n|t)5&=>*>zxX8QdlJJadZ zjCp5Ejjd+3{it2o6;%sEW&1gDT$P(*y8L#?R93ayN};5_EcEHc(pK{|-)g_*4yf-p zyY$jPt8$lH^zxB?CR%qQvnf4l>SF0kee#p3|8P3fuyLhoC?3i*22MAc?U}@UNo~G% zFrF+wHrpl=MrS`N{p`8!=v!er=2G!Ji^FDb?npf4oC}4k{_&1f|GdLk6$$%q5$7i7 zg21_aF{pN~V1uZ0FN&dB=U&f;Vmt@6`#ZaXb~#&Ai=1XTzpvB%_r2PF?NyNnE_ro# zYT(ulWItp>WJhF6uk49z>XluQZIOMEjgg&^t&zQv&5_-a?UDVF2E5V%(t=ldK$<|h z@Jbs<A6{t$=>%y7>BTF}Al)GCc%>htA+L0Vw1o78G=+49w1vJe9;7k;TRKBpLwZA+ zL%Q=ydq{s?X%OkqD=i{DB26M)B5fjldZkgMQ?Im&^olf#DS6f4e+ai`r{ui5x#kCJ CU-o<e diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Ushuaia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Argentina/Ushuaia deleted file mode 100644 index 07e4e9f0bd5f87ae067f613f52ce4327dae4f882..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IJ!n%=9ES0mHqjUh78Dc_sn}8)5f1$@;zvD_p&-Vg29!<?A`}G0!3v_$MI3~J z6hUZdw5#ChP_1n>M`Mk4D1o$y;1E#U6qOj_SC9YafS@?&<_#ymn=HBHebRmX$J&EG zu4VEKhpSr-_iHZ5+s&(k>dx6-eRuscGr4h4PcEEPQ)|!JsfjT&T^rXk*Pg5UFJ9XR zXJRHdy-wS{LGy5AL_gY@SNZcr`*=gu%pM8r*`>HD>`mB0`L=p`aY)alZkV}um+XAX zsd@9(mfE_^Lh`7s?2f9+Xw`m-99Px$MqPa~YHF*KwpJ*q&y@lFrL@g_&3D;vGY8f8 zTfKT|xJ$V!oqGA$J`-&|k=;BrVVWC<vMq^^rse(VZ0n{~s<n7H+ZKFKZDvO{UM{IE z*AF!%s!z=JT-@k;2b5l1X?q4%n4XuJri^ngR9F9xuSocpSAC>TK1H0%)q=ped@%?+ zSFl0Uxy53r!MRuEP$Tz2!~Rq{NXpr&I^}f8`F)f0-&fl6b0zsPf60TpQ^Vtzk=2mp zkoAxSy|N;*q*vBN7DZM?mPOV@7DiS^mPXb_7DrY`miNl~NC94{04V{f!7D`|Rd}Tg zqz<GIq!O=`g4BW(<CSWVa=cOxQV>!RQW8=VQWW~CxRJ8>bEyj{45<t$4XMp5#Ua&s qr97lQuM~(>h?I!bh!lxb>6J2(I=xaTX5`U=|DS1Wm&DuM5&Hq8dF)dF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Aruba b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Aruba deleted file mode 100644 index d308336bec9a539742ca3885c44a4d3c5a674463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWHE%1kq2zyQoZ5fBCe7@MyF$eApsr~GZk8xICXrvLx<$1*Vd|9@Zy1Iz#a#}6=Y r`S^w~=o*+98!$Kqhk&#KK?n&J{D5cyn)&}f$RZF;l4V>#dri0im60!* diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Asuncion b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Asuncion deleted file mode 100644 index 3c61ddb5a7a9956e2448ec7185edea75df08bd3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2077 zcmdVaUrd#C9LMn^nI@7RGzC<$KN^W}_#V$0V8`%BYLfEDKcIq@{}qhzpoC(7L~Ghw zONy3x<#2AgY4KH-<wf$to61$NVYS&-a@TA!)cGgoc>2AcwRO=&m#v3Azt^*8aKZL` z-sM#_n`Z_7agA_qxViSZo9AG&JHAM{)pGyL%Vy-g0Zr^~u%i!M)TGmY*avqF$(Yt` zGqx(M!G^UqdE-1CSMi}4|LoWLP=1=3ka15YrWM<iQ8}72*lbd-ZjiK}JM5%yf0N1Q z^X-&RCu{nVTJ!M1GMU<Z#6A+=r;o1dHIFSHsgKWJWu`@AGQBWno|sUl86!GP#_gl> zWdA#6h8AgN_m_6&xlxjJ@}$X*Cu!*2Uu;fUze?RW6V9!cSt~;}GWLu{^MW>dw_9>2 z-mtlSziZy@OE$mjJDvUGS^HF5yT&?u&7AhL@^pQREjakG%&q#wm~FeIu)g0s6FH^x zmiCzW<KNQ-;WK8z&A2X{^u1l!yG)A))jrn|)kT*-u#3B5QheOAC2i?adZ5piHG8ro zK4g}b*2=OaSIqKIsg%nFQ!z$lMevweai>^U4(vCpehO)2PqnG~JgBSBy=9;O=!U*< zc(Z-6@sh4-Dza<WT$go~nRfl$UfD1^$!?tbnQTh!x0}2}vL#`(+45_XRQFvoHJz(v zYge~<>BLU0Z98pVe!EiZ_O_aB)iI54ZMXGB>AHQ<`*uf$rwy4q>?_Grq%pC=HVzEQ z&Z~KLSI-q`x|n8n>jinWBiFpva!g)tO*L=C_sgE`gJzHCdBYO!OBnuN{tWlLZw3MZ z|8&n^*}wyy_d`!0iF24cc~e|c9w>BownW_>ao_IWSNXqx^>4c0_P_eOfBl*J$Gw^Z z$t}nVc+C=!H6V*XR)H)7SqHKZWF^Q_khLI-K~{q-2U!oYAY?_pZb`_RkVPS@LY9TB z3t1SlGGuAU+K|N|t3#HDtPfcrvO;8uzHW`kB9T=h%S6_REEHKOvQ%WP$YPPzBFjbA zi!9jJtr%IduUj*+Xk^vMvXONo3rALtEFD=pvUp_m$nuf(BLzSzfRw=3)c`4iud4!5 z2BZ#1A&^QSr9f(d6a%RSQVygZNI{T_ASFR+f)vHqRRt*vQWvB!NM(@HAhkh?gH#78 z4^khbKuCp<5+OB0isb96gp|qG)d?vSQYoZVNUe}!A=N_4h13fv7*a8$WJt}Bq9Ij7 z%I53ph7=B|98x-@c1ZD%>LKMr>W382*EJyU|Ic9J92dues5>JCStVf!g+r1fStXHB Il!wGW0YAGNZ2$lO diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Atikokan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Atikokan deleted file mode 100644 index 5708b55ac6bcb7580498bed9721a43fbd5a1773f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmWHE%1kq2zyNGO5fBCeb|40^B^rRlyd4W0=I{DhaN<XJ!s(8G4VRR^6kJN={J_M> z#K_FT`v3nb83u;`|95U+WcmMp^#TSCFq;QV3V=uk5g*?W24@!_4hG_IAPxv&a0RkK zfDuZD5Ox*^P$}41KfroGw*LQL^sXfZM1!0OqCrjt(IDr7XpoaZG|1Ut8t8NeD!ZKv I=owQk0JN5Mg#Z8m diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Atka b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Atka deleted file mode 100644 index 5696e0f8bedee72515c43f686881a561af339db9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmciCZ%ma{0LSsm-^)cYDj-Bm!Hl7RhrdBt9tc86<UwwrWC#iolmVg)3ox8hdC{a; z&Wf15=#OjEF}7yX*qNL2g>zkSYhaF=n{(Efu39oj-p=>b){C0&@;rN<&*6@@zpuBZ z`Na&^zmCWJ!pj*jFZYBu%;$W6p>J}<Z*7zHj=VkjoVs(W-SL0wm9ArzPQc+D8Q7KW z1hsF{!SxlskcuoFnxE-&r^jgbn>&4;$T{s9x$cDDyrdWWIPF_FeM?5@G2f!Er{#So zrku!k$K?I}r=17(ejp!g9&)0#?32+Yy-rMCy?iLS&WTOz(ThC=PF&zN9k)7hdE76K zUUDT<#ZPAFrDvkm!(T?}Wgp&B%R7r@Lf^DXtV)(ET7DOg<SdXYOQ*!6(X%pX)oGFB z_vqyCA(1@uvtIR6uUI{PL8n}NPo)ljq0>gY)tcV7v>2>a=}n)@j1H+Xiw9&@WunSX z+9h)`gVkehugr~45V_ZKWZry`c>G+feB%47Vy(*3PmY}vPYuNAb?=`LvUN`9A2_QD z$}j1s8$MBmYrfG%h5f4N*Bi1p^<z<daYB|v92O;`qq20iMLaw7t={n6K~>g$Qg8g~ zB~`w4P&-FURmIvpdQ)eLs*JDJ-l|2)JD;bkvTv%Yt5tIIvIw#HY_8mL=Z2{HC{8{< zGa<Gfn3pe%kBZuc8M$rv9Z^?yTh|{tskWzH);pR8RYSzMZY<uT8fTB|rle}sbYZ`4 zcIT<)kp|szZHapMXrFw=mn(L5?vSslIMG^FB-@V6i}su(xvO<Xbi{b%?s6@5`&a7D z+{>!-2e<Bu9amlB*Y)1H<Lb5H^ZNCv{i?fnME9I(P`$NB^uA-ysDQwrfZ&k3J)vRl zd-(YMHQQY-zrWFO1^fLSbpc`ayU_j;Y41^dU9o<DUt7RZdtbbv%<I}%Y2Iq{I$l?S zxfc|AUHR+HWxctW6TpY_*TwtaBMUeGz{`2tyxbG!_{$u>IqS~+F@ZgYYHE@3Ap^9U z5h6oGJ4P-Hl4C{*3=<hAGEiis$WW27B7?P>(IUgOn(-n7Mn;Sb85uJ&Xk^sLu#s^i z14l-V3>_IeGI(V4$ncTzBLT3Q2v|)BkQg9AK%#(z0f_?=2qY3nD3Dkn!9b#cgae6( z)dU2Ih}DDyi3t)EBq~T)khma$K_Y{M28j(493(nOc#!xY0YV~VH6cP`gaiqR5)vjP zPDr4TNFkv@Vub_?i53zrBwkh%FeGAD6EY-bRueQNYDn0SxFLZ<B8P+yi5(I=Bzj2r zkoZ|m0Fek<O$d<~T1^m<C?a7*;)nzii6jzAB$h}pk!T{}MB<4A6p5(SgcOOX)dUrZ zs?~%Qi7OIVB(g|ok=P=^MWTy@7l|(tU?jp;6JjLBRug0-%2pF*B+f{nkw_z<Mq-Tw z8;Q2dR695@B=l~N+Y@#VAD8R1EA;XIiuXVD{`(eg%APJv+EdCh(=yUTN?Ce(T6&rY F{}YG!e4hXS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia deleted file mode 100644 index 6008a5749d01875a6995189735aa8b4e8747d250..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 zcmciAKS<PJ9LMpWRuWffOGA+Qn21<seY@YKSD7_MLK?vj`ZF|zWDYen)DYUxBosv? z*z!yf4e>0&83YEFHW^U_rsvf)RYOMEaTZVC_tV%ELC^8K*KzPWj^F2<oEYfOM1PzW z`VALnpI&@kJFIWF?hS6r*Yy<hKlj`5#jHFmoHw(%`!f5nB6Azxy1DV=W`22t6mA#H z!u*&Nlh}M6_3qoMlV)k+lzgvku;n9ZDNj8ymDCGYxm&i&pK9dC$R%6<?5Z?ecx@Z) zPG{m7+jMzAHm{ks&BxZe=6B~zOXnBY@^Z?wHq}Y%qmpfl7Nzaxh}rUCo!dH?vFV8i z(%wI5w%JkHe&CLg;fu1PzSm}s8W-1`G1*)q+45u4VH%}l=Ctixdg^ldD`wY1Np@dL z+db3Xb)BuXdnd0;ci(5*H+Ik+?zv%xy!TOc)jzzdy?^sQio7ost5$md>Up&KP;U~o zOGd9)A1f#Miz&*#Z_!`$o=K2df;tT{4>A!lQ&6Wu<_hX$$ZW`T$b86z$c)I8$ehTe z$gDw~7MVAw6C*PtQ}g$k8<`xL9hn}PA4veoAgC!IIRrHcB#WS?f#ea?M3797RFGVd zWRPr-bdY?IgpiDol#rZ)niP^%P}4&4LJ~tVLsCO>Ly|+XL()U?LlVRxeRlsL!&H|h I*&U~T0UU~E(EtDd diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia_Banderas b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bahia_Banderas deleted file mode 100644 index 21e2b719f33d6195a65cbce81764adc92167b989..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1588 zcmdUuTSyd90EW++VwvDzB~b)XffQzHYIZYiO*7ptx|&(7YuVa%(J@V|yc|e`AaV?X zNQ5A|QKUhcW)HpOOITz?B?LYQMFpJ#Ns5@xH}w)hP;dQ*Gv6?<`}BR@(qJG-{I+oY zh0A>U@;+1Q$Hm?^X7{J6(cVC@|Bidu-xrzc@B7xK9=@&dzv#H7gfL}dWvh`?8zYzI z1dQZ@37HbR-bhUvk;}pt8ELaWi?r8~#`3Q(#ftH0Yh~{fv8pG+T0PJu(%au#YdTv* zM)e~rv$a#M-PB{bE1G21lGE0@tTLG$RcGZa$dow~9Y${Ge3|>A*4Qu>CiD7=jQpW# z%5!$1*m!+hZEBb*HlKX1wv@-pf&=}kFmsCZ=69;1x$k6gT$9==hGfZ%b7skCx7;?~ zXqMjZklUa6%pF&6h@H1HOy3Dhl%1Jp`h$l=d2_njmFpF|eREaC!c?&*Jwyef3uNV- zF;)2~S?>KdsDi^Wa^I^fYX8j%d0_B?d9Y(dR$aPmR@dB<X4?s~ru3ya6xeUpt{4z? z*&g%otS(W%B&h1Yw1|eNJk>B#E{=Rytd8Dwi(`+YRO5v**>vNhYCfJRTTVSy!WH72 zNv_a8oUo98JGR~B6+%BP5o+7l&Wp*m-7ZBW?=Hi(`+Ho|e|*pPc!j6XE8O~S*4LAz z-}U`<-oG$v;^$9oJ<NjG1u+a_8N@V)+BS%B@P~E$ktum%AH+b2g%A@VHbRVqSP3!H zp|%rZD8o{SsSH~o#xkshn9HyiVlc#Fh{+I}Ax1;2hM4V8+YK??p|%`iI>dH}@eu17 z=0ogf6ac9JQUas~ND+`KAZ0-6fE40TR{|*oQVXOQNHvUdAoVZ`f>gvP2~rcIC`eU| zvLJOq3UjC{gOmoT4N@GWI!Jkt`XB{DDuk2>sgY46q)JAakUANKI@FaiN_D7fWfTjk nmQgOGUP!@^isAoPa)b^&RR<pDNsdp9Pl)p*Cd8-2Cq#S)zm>O& diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Barbados b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Barbados deleted file mode 100644 index 6339936014862e144f8beb04b55b617f9834c3dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmWHE%1kq2zyK^j5fBCeZXgD+1sZ_F%1V`|J6e;U@-cjRz&EAm0{?V|2LdH|7X-^5 zJrD{BxF8(=KS9L6E`WiNnF$L2|34wkzyKy${{O#vfsy0?|KkT3czk?A7@UCE(FKTu zLx6@uKnMv=`T^DR9|%BB1JNMofrLR$1k*rgf@qLaK{Uv@AR6Rk5DjuRhz2<wL{sQ| JE}&mbxBynQR5btq diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Belem b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Belem deleted file mode 100644 index b8e13b02fe93679946331a1736945d033ea82525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmb`@JxIeq7=Yol{vc6wa&WLcofVEo!9m1T&_T$egOdo|Gq^}~RvZ;{xltS>W829^ z)JZ9bP}&-C)J5<oq{{idaTEl>3zsJZF64Xt<>Few`LR0W4V#sh&2!(T-1d%xpgb@a zl|N@q<#|F^TY;)io#^^wq8mf^VWYC7n(aZ|I&7)C=7ElUPrdBh@U?42y`8S=_x_xT z7sqsbex?$)7A8lrX+L%AkL?XJe7UQ0>$fIvCPU?2nUSrc9__s_C2Osd&HQp@t*z}i zj<pX_rqkM+Yo}*^!FR@WLAEEq&GP>+YW#gfzGy8YBV(t^=*aj;0whDKq(E|{N)jXs zk_O3xBtkMFsgPVqG9+87q(kzhN<t(fl9JyiCz2G&iljyIB8jmiXa6CyJ1xm)JogLX C#sD7x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Belize b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Belize deleted file mode 100644 index 7dcc4fc5b77151e0997e46204d584dfb6b464c31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 978 zcmciAPe@cj0LSt7c7=^CBqYL%gr`y{79$gcJXp}d;6<+(f^_mAbrB<opg<2&SH(kr zE~}-zblY72AiHImf0o7U-zi2sIMTsW(jlZ%(|jjyoxC*5+t0G_F7y3`m#=r!dH<X; z`wtJN!9M)1=&@e|t*g0ox=|0FIj@GgtMrp&o#JV$(Zl6|7&*0}N4DxjbojT7J{=IF z2`xvn+hS~UL1rFQs28PSnZ5N>y^QY3@k?J-?*277QJ+_nUA=nh;A1r%bm-~ryJ{wN zR?n<I68ZhLIzM+u6n^Z}uhLh<>(v@L+ubDI6!yxuZPjA#;dlA2DK6%3f0heJ4yi>k zA(!^}s@O0fi<{q6sd`+ON=3Eo_v_^-Qtvlz>Xp7F@nQa={@C?QB-+<xqVOfCym~`c zW=;lP%-{7V9*f6}$p)Th%;a;w%$Uremo%o3^UGV#h2GKBiQ_4+`9kP5pAPN){XO9> zZvEHJJH{SvA1Q!TKuRDrkRnJGq>R(nK?*r-C8U(o)<TLQ)sS*XJ)|H~5h;n(M2aF+ zk+M!(7b)ztm66g;TN^2kR7c7q^^pZ2D?pZjtN~dBvI=Aw$U2aPIPFT1r8w<cki|Id fYLMk1>p>QTtcW};$!XVwEXw&`SCzCgt55y`P>t&N diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Blanc-Sablon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Blanc-Sablon deleted file mode 100644 index abcde7d98693a9d583928c6f1acdf46b190a500a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmWHE%1kq2zyPd35fBCeHXsJEMH+y_ydA9x^LO11INk9m;ga%~f=dZ+FEBAOF|#oJ z|9`54f#LuEs}~qq{{KIIfPn+d<^hueKE5FgjxInP48-9;91sFDje&s?OoR}21v^k7 w*cCrOI)LCm5X9M90?q&bALJ?!4RRTX2DuJIgIoxvfv#kr+?iZJ*PCzw0K7tFCIA2c diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Boa_Vista b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Boa_Vista deleted file mode 100644 index f7769048cb33e11fb0a1486696473e8820666be9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 658 zcmb`^yGz4B9Ki9kJ}C9IxHwd+T@?;n(2B^Zs|rFu@DES~Cl}qSt{nvtbZ}Is8(VS6 zR@?+1L+NXA5DHq*T3Y4&edFjLf)_5I5Xh1Hp1ZoSHtzfwZSsc6h{@!+dsl9U7pY37 zZ{;QPxn#1nIel5$SNX{+ov(&;Vc^*-WY<-(71O2Tswx-Hbj6)juSY%JTgRrVdt3Uw zchoeNr*tECtD518*F5hut!lsiNT*HY`a}=zJer}?c`q6-n&G`|J<|1HChB+IWadC6 z%Qc;RikOtO)(HlFxq{Z_qK;$j{Y{`<o;@eDu;@BtDlRi2TVc3=*nZ>t6Isz(G9W2@ zB?poO$%3Tul{`oyU&(}|LUJL=kZedgBp;Fx$%v%%m7GXYU&)H3Me_3dBt|kLsgc}B dawI#F9?6d!fv+3`rey7ZI*RbL9Lr21`~|^N5w8FM diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bogota b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Bogota deleted file mode 100644 index d8934466bb728c88b211dba172369f5105b6300e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmWHE%1kq2zyK^j5fBCeRv-qk1sZ_FjEK+zE#~3??R~Kh_5c6>XJlq#X8!+w*8~Oz zFv;@&|M3Hi9RL6C+`z!&;~T=@1jM=qCO~Wo)D8h5ge_$Qssvm51F8pT*Z;UVCLcgF e$Ppl6kV8N;$T1+g9w^5^mW#M-fbO$1<pKa8PC)wr diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Boise b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Boise deleted file mode 100644 index ada6d64b1afc93b62445fb8697075fd6be6ed3b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2403 zcmd_qeN5F=9LMnkg2;`BQ;8v<l9o3J5Kt1xj0!}A8-!Q58etU3u2$efH!Z|tP>jDg zOGlJR(37@iD!OK4LtMkPmCaqZrnRu=nq{MhO%@No&inLdfAnu#U-rAN-|k@JpU>O7 z!M`b6{Np0bH$2>n=HWd_nUCJLR`<O+7^nN5Pwne}`I<hwsx0}V&L|yR^ha~BE?)dO z{-m7v(I+M^R?Ddm^TqV3Jn0-x5~3$jhICAe(5I&4jI9YOtZuFjub5Ob3np|#=BSDo zSfC^2u!=l#T)M_yQ`ddjucI!V7SY3PI_CX;5&L$ZlrOc3>pP#7H|%N<H~Q=4?DfSW zu4I**lb0fHO1VwOFDz1XBV95f)U6VJTdWhmj#Np(S$f`?pVa*0SM-AZb1FG7Pu{%u zs9Lzrk&8BeEN;p9O5VEWU9mXs1L;oH!aaRir?|F>l+iOf^@>;AKJ>ayyU?uCd!N%8 zCo0vF)<&JVZ<)$!Y?s;F=cuK{o8+>}ah2m<E$_(wOf8Q{mAQ%6MD7n!GH>FN$Upmw zyz}!xvErCZ-!*tptnB((-+f?@C}{db-_w3T-CKT4-&em|6)t%}7Zq+)MZb^8;`A0# zeBqERiLMnTCpzVts|BL;l{a<Sr!~sc(xLBvZ>1`)@#~82Wc9#`Qe7DcRcn*dwRhdO z$~zgWt8&h&s_)XIZ~iyJHxeV)PmhQVZ;Z(YM-Pdb_Mm)ds8iI|pOhPWw}^*5=XG62 zhk7J^KtI~(SM|~RbwhEfYPcHEjqY^Sc+RK&5wXgDBwug-{#Ui7yIMYWK1Mtq$dgYT z9TQDeiL$vXD7NNI$!$$1#rC+%az}Z$*fBk!1Gxh#F#3hw8NXlc96GIcjR(}zz5V)` zi$2xT+NO7(%2%zm4SG*ck_rtmKjAaN!e{=cejI0CtPqZKP=|y$PL~q19Os?BkSO~p z`CiPn@9||Guc#<A&swkWRGX*5JiMFlxDfjZ-hZE5kNIUgx$(dM%KQh8QyZ2rj7$)j zAu>f|j>sgDSt8T4nt37<MP`aj6`3pA$@0Q%IWt{gz8n)qW{gZ3nKLqJWY$(QZDih7 zGjU|*$kdU!b4(tYJ;(Hs`Ew)y$pA+RkQ{I%0m%YK8jw67i9j-8HK{;yfg}UT29gdW zA4o!wj36mNa>9`mBr6<gLGofXi9s@BHK{>z!;u^$J4kwv{2&QJGK8cE$q|wyBuhw| zkUSxYLNaAFsX}takt`%z9O**x#gQ;1V;m_%a)u-g$r_S2ByU!eI3#mclR6}KR+Bs= zdmQOQ@`of4$sm$KB!@^6kt`x<MDl1gi9|AKHK{~$X*J12vdNK7B%d4!MKa2fQY5Dw zNky`Xq!r04l2|0OR+CyJw^ox}B)e9VUL?Orf{_e!q!`IDN0N~&bEFx`Ge@G4Oj}K= zkz89%vXN|CO}deMBMC<`j-(vPIg)fF>*9aZb(hKga+CWs&(e(SjLbAoR#rw<MyBg8 DiZO5? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Buenos_Aires b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Buenos_Aires deleted file mode 100644 index e4866ce1778fd2678a85dc6791a6c1b3fcaa5d1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IPe{{Y9LMqB($yM5gMuO=7AZ0#c+lCRKlY0qtZ)|_6rKtq2!f(R22ra^r(h5x z2o#rIIs`o(EYX!uEn9k!!Hftx42o_=#Tv`Xr|<iLpy*Jye&gBeVW%Jaywd|Gj(2*0 zJj>-54o{C9?rSc|*XXsZx_7?czrTJ~Pi)Nk6AP!+<k|~na(qlrHSYR_>o3%Umv79& zb74I_wazyKS^a2u*nhmUsEQZM=E;V-o;lL&&n$JQ(%ytARqv>0mvjDH>ZYE1f5ptF zteV&FOeNN>7m~+JZFfl3M(XBs@T97DM*RBQ5#3mwG>uY4eW?xli<NEqYq8sWD;!kc zZ}<C4L*2?=jr%Lc4(L$psr=^LxNeQ)@@<Jvy6wZ+eEX(Vs=a(TAM-w{nBI}^s8-aL z8;7Ea`cu7qx<mI4uGGD+GSPjDqk4bgXf$K34J>Q=$4{{Nmrs+s2d$lrd!Dt$ve#^F z$#@}apO*tI*1oO=BHX=}zEs*v%Gs*oa=PUFzDfG;EA9EYQbR60^5XW)(5*gXHDozt zJ!C<rtcWb>lr@n>kyVjpk#&)Uk(H69k+qS<k=2pqow7bsfKw_!N<eCGN)bpEPALPa z11SWl#3`j9wIIbfr5dChr__TKgj9r-gw%u-g{~?tQWpO$bs>czl_8}ewK=6Yq&laR oht%hk0+9-l5|J8_B9SVcQYKO-QYdER)x7_oX?T~!+tU^P0h%oABme*a diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cambridge_Bay b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cambridge_Bay deleted file mode 100644 index d322f01ed1d11856e0f17d1ba5d5f6ca867533c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2098 zcmd^<ZA{fw9LIk=6nK3)n_(zmKBQNOd%2(_keLtA4e18q6_E(Fz`Ls!r0&iN@w9M^ zSDvY3ZYGOW^F=H1VXfvya}8fqG<V&a(~0ZJ&Bvj&$!2jqpR?*sZ}4?rcK)BU|L%o1 zd_LiZ=;k8%&nDV89M*0R_xajB`tA<t@46?M_`E;b;+rz%UO_|K=)%1t)1uAlvGqa8 zsC-^cFU^(5a~G=2xfOcG1dp1T?A0^xE-+a?Pte)%bdz)DhMsl&x_P2+NY9Sts5$Q) z({tA*)VwX<%ag@FsrjovmjxN$C~uw-@7NWS>)9^3!)Hw1^{_lO@R7+s-==-NdyW5O ztuE+@n81O>x-inIigrxbi-Mcg;@VMN?0rE!U35_|Ny}3uS@)#m>X?+?|8}G-^;%8Y z+1u)wOQ&UNzsEd#`iLyschfv~c#kY^{lTp0Jgiq%_nTGCyLEZNep6AtL09}fsDi$B z37$WyDknEd<;iZf`qpx(`rs4u;*X6w)ZS%Y`eK=`Zj73mp4s~4rB$XjmaNxg`%HN4 zuR8qaR8v=cR@eQOuj*(0BK3n))cUbOY4~_Vy)t}M8aw0a)q!qlYCfel^lp`np>t+a zSC@Xxcf!0LiR$Lb2Te<`O1IpKnTXe?BSZBjnl@EOKPxj^uHMmGd)BFK=cdRTu~PNs zu@Pyl%TjIo;__DUUut{nDcO;6MeVHak)31rO|0aEjtyTnyD|^zT?1d6w?||8o!&n4 z?uB~Y-toTK{biZ%XlgNg4rOaeNlH#hO?hN|KWUGqr;YQY<M@U4U(GI&`1Hf1RQF6z zB#s!Flt_HlpQPNI40oTwU2?d~oPXZ)Nnao!p><&i)!4Jfp7L@YVOhnoFDmR2NpgS4 zJ^sChA3}=JzrUZbLk@@_5J?=ZC=gj7!tgbufr!J92O<zdB8W&3nIJ+rTB#snLF9r6 z29XRR8bmgTa1iMr;xXid2*{8SBBG;}5hA3cl@cN*Lr#dG5J@4TLS%&q3y~HgE<|34 zzz~TcB12?`2<>R4W{3@u+tCURk(?nqM0SSo5a}7>L*$1901^R62p}<Vv_XJG!O?~R z5(h^c2uLItp@75!5)4Q*AmM<-0}>EOL?9u7#Kh4C1rilU8x}}h9Bp7Akzs@e5*tQv zAkkrj2NEAffFKcqga{HNNRS{=a<pNB#L3YH3KA(t8!AYwAi;t}ixDnJychw4M2rzK zNX!^PgG9~Ih7A%oM;kau<Q#42AhCl44-!2{_#p9v1Q7nOBj~ZwTw;5fA6n!u@(1!m Lg@yh?f57tqQ<e|c diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Campo_Grande b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Campo_Grande deleted file mode 100644 index de52bb68143db08d381e441ba26a84c62048f0b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2016 zcmc)Ke@xVM9LMpKiaFAn%gtC}7&9Z`d>?n|MMiIBilzsW7ZPeIOo=o}VnkR9vPPSK zxS7i|D_U#w$5x-VHo;~4tlAulg_Ts2{Ftk@8e6d?o{)X}JU{)}AN8Nd?jARG{P^Sj zd?l;uwibl`^|--(hbNCV_vHPwR`>GSiI!N`t?Pd8x>jns$Cm2pp}jH?|5yh`r|QMb z-|WTiS{a<o(V;g+Wq9zIjwF}JAFofhmv7oG<F-Ms+>&Qf<%OC$`;AOwjM$0e>1J|t zrvABapULVus<WGaGIw<r+wAC|nbY>X-hK18CZ}??&AGH&=Eg&I?)iS1Hz!Nyof$K^ zp+IvF9+vxly~EDmrY6sRrukdHmT>2Lx?uT7BCQ=7$y#p;)`e{}y;)-MYK^7(WMOu` zF6?VEi^k8}c-O1)!0?zB?k_YC_Dr{n>+duVeg3u<mHuTOJ}^x+JYtq~r0ddI*QB`o zoEBdhmSu^}cG<|JDVcFlOHREjD<+IxdFW+%WZ-~Z)%uQEeY(*mHnp45BNeu6Wv8rZ ze@@G@OU$D+kLlV_u1OXz(&R78r6MO&D|+sg%Ct$XJf0zsUmDb^S4L(1&<?xdsV`;Y zCu{5zD~vq(R)O6V={1`>%CvgM`=+KgqBRp=$d;1Zbjw!_ruLr8TKi$r)TMu?bw_r} z(?56XwwATBy|3RsQ+2=W_~4YSFPtUM?mujIW?q$s`dzl+>JQRbw$V0TI3rE*7H#_U zf@!{egEpTWmlsk++Oqdev+Mh8eX)9vd8sQ+cdt4sdk+1mp|mO2_bUi`dqbfh=s!2* z#vnLrLsM5LlA(Nwx@XKCD39cSA9cI?m_O>2{|SC$5OCbcfqUJNBZrP0J96+|cl5~N zd)@IP0U!||As{gzK_F2eVIXlJfp}dcNGM(x3la<x4gWsjAn_mpArT=VAu%CAd0kXU zSY8(w5}4OThJ@yIu_3`B(IMd>@gV^s5h5WXF(N@CQ6gb_U7SduUKc46DiSLaED|je zE)p*iFcL8mG7>WqG!iuuw%5gt1nzZ_BcXd;>`3rP^ho$f{Kx<xBY+G6G6u*XAftc` z12PWCKzQ9qAVcAGV}T5Y*Np};9LRVe1A>eQG9<{DAcKO83NkFnxF7@Lbt8iejn|D0 zGB{p0I>_*N-S{8_gp3d}M93H+gM^F{GEB%gAp_-gBZUl=*Nqi2SY9_;$Z&bxcp(FZ zj2JRx$e1C6hKw5eVRN?5|EGtxHrK=TojLyc|Czds#cuYBV(v9sl$VG^!jZ5nki0}e JILe!hzX46hU$6iG diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cancun b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cancun deleted file mode 100644 index 7e69f73de44698b65b61038ea40972f1e7c7affa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 816 zcmchUPe>F|9LIm-j+k3uV0qD_u!M(bZEGv@-|jYS?zZkaCr=ZYiy-XKspEr|PX4(H zUL*(v#X2o5U6v4p&|?%)U4rQNE~04ke4jz^&>_6^9o~Fq2Ilhl_|tQ<N%?E-_6vs% z*u(P`WpA$<UxJ<&AA=j!s!l#V3I@HrzFGMiq!I%<wJpJ|<ZgJoqfgSkzjXTNAGve< zLEqhX)xE}hJ@opwy8muT4=;aLBdehvt+muxeK8y_y;PZ*TA00FSGjCCe9$$ky#B$^ zJA5vA_iC8`{6rr9I0z@+dQ#Zy*2R@;@@R8km!4ge$%Rk4{5YX1^G!W9)~Wo$s`mH3 zi8!$~F4y_j6*FdQUBsA;HF1sEX*m~+X}*z5+?~sXqA!^#UvgP{EHjp8^UtC0@bouh zhelpe3DF5r3egHt3(*_VDu!r=sAlMnXq7XxL)1g`LlQtTKvF<*K$1YRK+-_+KoUVR vK~h0-MYPEn*&^C>jC_!UjEs<!jGU09jI5Bfki3w@kjxSPU+TE6pNgLVO=iwS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Caracas b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Caracas deleted file mode 100644 index c8cab1af26b03a7008d34078efdf5ae093f50c10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmWHE%1kq2zyK^j5fBCeHXsJEg&KgwWH}w1Z!_L_xJOSa2v=QMQ2+n`e?}%|CT8aU z{|`DaFaSvx2A2Q-5A0yz`2YX-0R}!F-w+08Al5Z7F*X2^KvN(fgs|Q0K$T#-e?avB qt^1$ZF698CL2d!jAoqZzL2d%kAa{Z2dY~KwxsKzq0Xo&rgbM%zHA%++ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Catamarca b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Catamarca deleted file mode 100644 index 9fe9ad6470939d78d5dfd94276f0ff332f1a91e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IJ!n%=9ES1RG|^ZK78Dc_sn}8y6%K7<#gBR<LqW_^14<_c5d=YTu!3lGaS{Sj z1fiwTu0oGPwKUZp8*8*f38X~?hk)XysKgMzdi*~}9K=C4@8#UzCDSGElO8yEqBHp8 zS|Pu1xO(OAzV5O-ZeP!;dl&lk{f*De<mRlNTs)(u)?c(!6JsV{zpJNjJXa51ytWU| zH<_9I25kqj=F!NAp50SWg-a#-cvH>H9SiHZ<+v&y=&{AhxO#eJNYAHknfZ5D?Lx|_ z1@qRHV+pgEJZ`J|qN+Mtv!5cTRIRf`*WQep`r4$e7t88%bx?mP?=)Wv3HxpOu=;+d zUoQ_Ql)KigSB@Pt(YDjMtwR&0tz{_J-t*D4zdx7j*s?}-l#b?NfzvUwI~T8%)wY{Q zT6=0w%&wWZ(fJQbFRiwHgR4y6%S>y=IoA+s{Kq>I{&|P6F%ptz#JSmY5I9#T1!3ok zHi$a6RBC8;?p39sh4-NOP%0fH<?K-1a=PUFzDfG;EA9WaQe9rS<ip+B;qmRrYRGcP zddPxaSrJ*%D{CT)BC8_HBI_axBP%0IBWojzBda6Jdu4s30IyVllz`OWl_HQTyix{I z2T}-9iC0QNYC($eN;OD1Ua1Eu2&o7u38@Jw3Vl_)NLl>1)P)p=RECs>)aI4qkm|fr p9#WrI3PdVIN<?ZzibSgPN|{KVUMUna@@c{U&$MZ;#M|4|^aHgk>@xrW diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayenne b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayenne deleted file mode 100644 index 6db640981f2b845769834e57142817da8bc61c31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmWHE%1kq2zyQoZ5fBCe79a+(c^ZJk#4p+tejheHQ2+n`e+EV-rvLxXePCet|Nr;_ z2A2Q-uU=r_@bL{{&^0gtVq>6s5C|c`jvo*$KokG}2iXOpLH2=!>w#=y?c}ln+HYsf F1pxi^IW_<Q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayman b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cayman deleted file mode 100644 index 5c1c06372c6dc8610ffd14f74e923bdcb9b21d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmWHE%1kq2zyQoZ5fBCeCLji}c^ZI3_m{*Mj7<OkZ!KV80Fn|6EdT%S+`z!$;~T=@ r48*R%AwX3i5JK2wm@Pa%AX<PX{{NrZt|kDYK{hcEXB8LFR#Pqj=|C+j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Chicago b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Chicago deleted file mode 100644 index 3dd8f0fa82a60710c0711f35dee93ef5013ca796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3585 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 F{Ry|ZcJBZH diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Chihuahua b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Chihuahua deleted file mode 100644 index e3adbdbfb25b557db2a2edfc721c365d90706233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmdUuYiN#P9EbnoHEXTh773A1qP3Hq%y9>sv3IlW9ka2$W8N8?ZN}Oh@1hkA_mn8d z5@E?wJ2;h3LLt+NNiE5i6isq!J?`t}gYrrF;&*pH*V9wax9jp0R`{ajj|JK<TvlW+ z?_;!mobMQ@xjMMHufw;(+nLhs?FxzWb`3Rsh$^p_=(?bq+35umll!(NcE%DF7u~Dl zN6u0S6F*Bre~6m%{kbH53N>>(p2)nmU^D;bDOqs%omqHdk1VQwWRmus(8<|tCZ%kb zPK`KX7N?fzv{744`t&57{-s4_xTfihXLV}n>k)ccSH8-8I91%o<5kubmt;4LSIe8< zNKR?2$*sI6c}e4pC-bu8Px)$Agf+`bd0`61UepDBx6P_g2Xx_`Gp4AgQm?*rORZ_o z(#88vtCFLU+FPMj>29~I%~-3}6-P+f%v800!D#V?dQJJHk5WFEY&Hz_NJaN_v+-r8 zY`PX`D(^nkRV@Q%^M!U@UHib)G#%5mh5c%auTj?}-d9`GiuAS#t*SnvLF&I9R1KpF zrJ=W4HNKxG+i&Ek9gio=&T~~}*Hw|-d$Y}+L$5>vhH-}5;|ln<$8k<Ji#X0HBQD2j zJu5+ubG<Dfg!cgT^LwV-Bknwpq;OO1yS=~9^B3BD`Sqh?hdvO6AR0kbg6QO@Rf^xx zilG)nFNR_e%^<2lbb~18r_~Ok9z#Eff(#8IDl&A0D9O+gq9#O7h@ucpA*w=jg(&N% z)fS?zpH^Rp!VrxiDl>G3D9z9sqBcWsh~f;*A*wTUhbYg`9-_XVR)0tWkPILxKyrX2 z0m%ZA1|$ziB8*HRsW5VZB*VxCl8&D?A4o!sj36m7a)KlU$qJGdBrix}kjx;dL2`p6 z2gweSo}V^9NP>Ra3?V5pa)czw$P$t!BTx7rBpPh{jkn!~xnshk!Xv}nQIX-X;gP{V E0A>k%D*ylh diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Coral_Harbour b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Coral_Harbour deleted file mode 100644 index 5708b55ac6bcb7580498bed9721a43fbd5a1773f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmWHE%1kq2zyNGO5fBCeb|40^B^rRlyd4W0=I{DhaN<XJ!s(8G4VRR^6kJN={J_M> z#K_FT`v3nb83u;`|95U+WcmMp^#TSCFq;QV3V=uk5g*?W24@!_4hG_IAPxv&a0RkK zfDuZD5Ox*^P$}41KfroGw*LQL^sXfZM1!0OqCrjt(IDr7XpoaZG|1Ut8t8NeD!ZKv I=owQk0JN5Mg#Z8m diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cordoba b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cordoba deleted file mode 100644 index 8c58f8c23eb0d66d80714a9789b5c20abf043ca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IKWLLd9Eb5YZKE+13@9if60xNuA{=dF#6R_w3{^2p4Je%yL=XhU!3v_$#YqTA z5QLV-c2zuwYH6cAjWyb#1X2;fA)vS^A~D3OJ%7)MgE;8s8!n$C(@VZjX7I%EZtst0 znf$`x>662K^(FZlyOvY;&JXza*FD#h8*={S!f7?N=7O1;7}wLyyMFQdOZDK@Tl4T- zSkFwa_03>TKN=bFAMYrs(#48-vc92bkF@!-OL0}+lQiYp9rf&T-k(d~)N>!MnEA9- z^ZLE1#u9oVb<EUvg;agCVLk^>sz!IjZ@e4T%~dJWELYW+`jEd^-KxKq66Ra+p!$Am zz+W0pD0{WnUp~HHhdNFbHsvRDM<ie9On%axAI}!LHm+1%mBWRYXZ@JoUWnJKYV(al z(PZPP-Zm50{X;8s|LbgY@8X!=S3DZcT5AI>t^fE5w*CCHV5_?atu0kN&waO9TQ*+E z+832TyR~m>fe3f6{Xjb7rQ~c;y>fcw{Ju%%?<?*8wNg_qJo4i9%<yfEtcEOytcNV< zlogRBow6pfD6%TDEV3@LFtReTG_p3bII=pjyi?Xk3UEpVNC`*{PALMZ!YO4Sbs&Wx zl{lpoq!y$Yr&NQK<CJ=kf{==kl8~B^qR>^vMats8r7ol}q%x#5q&BA%hg9d3@{szR lQXo<xQX*0#QY2EPQ_4i@L<+^Myqfp_GY#*Qc>8+7KLGQ$?e72p diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Costa_Rica b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Costa_Rica deleted file mode 100644 index c247133e334bee3b7802741383bddedb9cdf6cc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmWHE%1kq2zyK^j5fBCeE+7W61sj0G;um7Rf@Yoxg4^=~gvGQIgr^4ts84^8ppm!j zf@b-l1kFP?FEBDQLE-=Z8;uzlz$DB6|2sD@a{m9ndI1Bkk8cP=uosYUb^+qx5TL;j z5JK2F+(4CJ=lp=``40q{?OMJd8st2XFvy8u8t6<A4RR`&209l+gPaVaLCyxzAg6<A Ppz|3ha6cE&GiF=>7LHDf diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Creston b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Creston deleted file mode 100644 index 798f627a81e25f9657c12909f4b0878f55eea9d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmWHE%1kq2zyK^j5fBCeW*`Q!c^ZJk>}%cy^L|=0FfuXz|3B#n1H=FSb0;vc{QuwI zz`y}v`}l@1_y&hC1OPD%gb=m{W+l%LsHXow5NBJk2SkIc1<@d@Nwu2`=ooV@0J&g0 AN&o-= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cuiaba b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Cuiaba deleted file mode 100644 index 145c89e0f88a210dd7fa3d953d2f62af803b62b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1988 zcmc)Ke@xVM9LMpKiaE-ftIb$p7&9Z`d>==8k+HWjMbiVx3kkIprbLn?F(N1dU8BuE z+=^+M6|K4XW2;YFo8Yp2R&9>i!b&Phe$1s?jjh-cPsqM~o}d2gkNVGJcaIx8e*E!% zz7mzSTk}Hydfeo`!;?pwd-DFacK5RHSZi0$9qWGYxn5#=$Cv8K;axHq`&0+Vrt5|D z-|U6n8X20((&4wqWMt@wjwY7KA8*aDS8l133EQAoZ_hEwvI0$>{!S*-M(yO$R5LYp zm;SkDkICpeq_dkZnftnnY-V)G%;|VZ@4xkXlT|U>W?kGVb7LVp_uPQYo0FmQPK}%F zP@vge2jrn&@3Hf@smZZlXztc;CER^j7cBooq`gxk8S72ny0DF=HcNi2O7oNbvM@7O z7xp)qMHA<2tmjR6WMo_m_7<2&`)1h1_4k^`zI;y$Oa3xTI#YG&tm{%#c2<k7j>xk3 zX1i>3$`sG+(&7^z$cjm0SMGmJ9v^(eu4;eZtUlRj<C}Jyl7r>8bY-`!+5MuHWfq$! zs-M)gp=^^VTBM0zmP>h7x|a7nC>1GFT5&W@p1L@sm9LM<`r++%!?Rz@#?RK+r&kzx z=G{EIDe{%s+*ztsGe0!dH4&|zJR@6*@6;{dG?<zPu4v822~(T;gVrA0A<tdz)om?n zrLKR#K41B;Z2#zltuL4*FYG;FccfpFhWb|9aP22)EZt}u&!3W}Sc^7&e%>_Sy+NCg zPsq#3LT%agj%ocdQ(viSGq3if=+0G#q;3Dt8cLaVBfo;+OkF4x1OsQM-5dm`ZD{)H zcp{W5QTNPuXUQY+->2N+KITt3>3@RX7zCU&a@JmV+Q@k$Cyt!C*PS|Y?p}BD$k`*O zkDNb}0FnWc0+Iug1d@f<rGez(b%`LEAgS>0lM9jzk`0m$k`Iy)l9AV?gyiIPNg-Kz zU0O(9UY8h>8Il^38<HH79g-fBACe%FA(A4Jqt_*gWa)KjB6%W-BAFtoBDo^TBH1G8 zBKaZ-BN=;L%1F*$mo$>K*QJf*jU<j_j--y{jwFv{kED;}k4ykE1IQF0bKrH8fXsr| zO#?CyUN;fQOdwN%%mp$T$ZR0ffy@UoA;^p%Q-aKi*G&pCD_%D($h>&n#2_={byI`P z4Kg{%>>$&F%nvd_$P6J<gv^oGO%gIoUN=q1JbB$jAv5K5Q-#bGGFixMA=8D-7cyb! xXUy3?|DXHs=y3OcBS($D{eOlnZLu4<!hH7{EzF5WBH>6_7D!G!FC67f+TR%~S#SUV diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Curacao b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Curacao deleted file mode 100644 index d308336bec9a539742ca3885c44a4d3c5a674463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWHE%1kq2zyQoZ5fBCe7@MyF$eApsr~GZk8xICXrvLx<$1*Vd|9@Zy1Iz#a#}6=Y r`S^w~=o*+98!$Kqhk&#KK?n&J{D5cyn)&}f$RZF;l4V>#dri0im60!* diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Danmarkshavn b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Danmarkshavn deleted file mode 100644 index ad68c722f8f56d14a0a9b3e2e98fe56ee17256e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmci9JxD@P7=Yn(Q!B*bfTdRUYh^!L7mcR2hzK+q?i6iB5Hv-jgF$1%7qk`B(Adw? zXf4qcK@cv{5J*G>EfGk|>AXTy5VZ8kInPBA^!>c~mF0~3G4=Kx4wJBlXI-?{ZgED1 z^M$#l?58v*UL_KKkf`rQqVE?HtDH*9-GQ`TZcAI~T*r@2bo<`E?${FDS=i8Bt82P@ zVNv(wJe`=B(!Hs1-4{>l{!mOO1Cx^c7?XjgJ{c@WWaz3vhR>>!I((7z&b^FmUd!lu zN!+Dlai3>h<@oD-zrF&-yxCuDO!-#%zwgSU(`XF0{Vz&|a(Pds-K;$sHEo}javVP3 z_WqEj%9rdIJ0xPrgrq`pA<2+zHElX1ACeHsh@?bvB1w^~NLnN>k{HR1q(*Wh$&u_x k`kFRBvI1lc$SRO^AS*%Ef~*Ev53-_~|Ffo`-J2Wy0%5kDYXATM diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson deleted file mode 100644 index 61c96889b074b751386ba0923b180e4eecbea226..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2093 zcmdtie@xVM9LMp4RFq`<Y>FZs_EAg(;rJooDfY{7C&~%Md3k20#*aZNBy?&Co*S!K zE8gkUw(9!G{HL`hj%;ogGq>8Ba~ZVOvN6|IHjOp4Eh@*?&+}9N^+$iU^}T(*kMDg4 z_uuOo+1T1#=KIGr)xP0y?YD>Lc?o+<p1Cma&e>dJE=?ae-ankUaB$JUaPF@i!&}Ss zZ^dyLU(~PCN`96Zt-JKh*m{*&6VbDlEmgDgD|OcV2AMN0OJ}E6NcPQgbI<p)#XmgD z<b3kG%sn-3?md24bbPU%ci>~0AI;FYZQrT|6~E~F)_kNEW`3#j3X&>sV$9^HCsh9E z7pCCaHnn)@lqnqPk)q^b6Byhg#XZlNlEW*dwB?X4>s%m9LS4GNVTx4bMRjG_PqH*E zsDu8=DtI+pFZ=VVTK?H>U3K|$wPGO4+<*2x^+4Yr=D{~#RS&g)XCCf-S60>ynMWF5 zk?LY&R#oqiRkucTsOV)C8ab_NGPbLl!DD*O*gCcLtwB@!b(@6u9Wm=Ztd+V=yG{Mk zfIPY)W*&<xY4BH>$oiWSxt(L86<<m8hvj<1+#71cr+yuq7*QKfOz0;@PpeJ6SM-xZ z$JFM=^ZKdeUbQ7WYPP;~M79;3Gf%hdmd1>J(-ewH(^#)*$*Yo<i_NArEk|14Uv1ic z^yHbNO?vw!zuFNG>76GhRC_dEcl2FR&sN^8ceS5aotb00tL}vA@}`-1@SMa)ubVwt z{jz81qS-s%E6*oSnisxlmVG_1o9;8KrDt=e+5bj?q^8)<U6WELr%p-x4?dpPUF-9C zUSA?*lII=h@J)5k)7@Qp-rJHglV{%?_ncE3j`(8L_B7b@xIOiJw=e4Li+U?pio5@1 z<llFYuz&7$F#h-ddG_jl@wE?-T_D>)_JM2!*$J{0r`-#(8Duy7EZaf$gKP-d5way@ zPspZ_T_M|Y+I=A#Lw1I24cQyAIb?Up_K^J{8$@=9Y!TTbvPq}iC9+MY-6yh9WT(hh zk-Z|DMRtp97uheeVPwb1mXSRpn?`nxY};w~jcgp*IkI(R@5ttn-6Pva_K!3G=>XCK zqz6b7oVE){8=STeNF$uK6G$tNULegtx`DI<=?Bsfq$5a6ke(n-aoVmRZE@PZAdPX_ z&LFKpdV@3v=?>B!q(4Z5kPaa&LVAQW3F#8jCa3Ka(kQ3x6w)fE?G@52q+3Y4kbWTz zLpp}E4CxutG^A@t+nly<NaLKgb4cr)ws%PLknSPvL;8m_5a}S&Lf`*AhUvDFL0ief T@RC4TprkNdS{f(~l%(GQc_b}} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson_Creek b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dawson_Creek deleted file mode 100644 index 78f9076308013c2c0b46f8d1b9700abae2f435d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1059 zcmc)IOGs2v9LMo<$1%l({)7V&E)E2#Z2~I_CE5fUB$-Y0SQsuGaFv2kD-%@EO`aA( z8|`45f+!*aK?>VMP@5(yr^htCY?xlY%JI?M&iBx+MYQS;_k0e+h>PDhe!L@5tNwV_ zxNmrQ>fFnHL$5nV$8Xz<6EX8(XroPTTIfu+ZI&m8XZ2H^lV>{~>nZh6Qn6b)mANL* z3y<uJNh2@QH|?t{S55lPdHZ_ktjUa?vTr&%&D)-1_T9b~^S-s-eyG`QrW=mxkLwRg zwyI8N=e9|%q*CXSG5IuI(4TKC%9nc?{q<Z*zFl9nGhGuhJDj$2XYQK$laqGg#3l3n zz?l89XTU6O?YH^rF<Dxdu*;?WvYhYJE7^psPPOZw_Zy`!-k`(FTSQ%`(ZOK3L{6{O zMP1b<+E!(YgBcSEB1KVm{PU+c42K()3d0c-MBTktmHK<RKZR3O>~D&z=DqGc<lZCh zZH}uZcjpOypYgx1Qty81SIPUo;lGAq>+bGd$V$jk$Xdu^Ubh;u9I_s=AhIH|q}Q#9 zEQ+j(EQ_p*ER3v-ERC#<ERL*>ERU>@6o6EKl;CwWAVqjx6-XIK9Y`TaB}geqEl4p) zHAp!~JxD=FMMz0VO-NBlRbE#XQWsJfQW^TvxKJC9D-Ng*DG#X+DG;ep{r?QhT$ek` FegO+5`(*$C diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Denver b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Denver deleted file mode 100644 index 7fc669171f88e8e1fb0c1483bb83e746e5f1c779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453 zcmdtjeN5F=9LMnkqQH%ZQ;8v<nU)CgtR#>b8FWLuL3o9$5k`URY6U)Y(?UE3#rVT< zR*YFDf|Ayni4SWwHq<p-TiG0LO>3b&mt~`eO%k}b^FAy8>5u+w>&t$;e%!&IpEvGR z-Zfd`A2->2!ozi$hxe(9ANJ?zJ^i7o`=tck^V$z;Z>?YNYndW?3oq&3_WkO^wg^2m z=l6!8>R53#-KR(Ab%;NrJ^EUhPh1;)Mvi^&5##48<irPg!hbwh2Hs2%VrRSzYW0iY zXD8&O^>Hesdb*xmI<BVVkLl2iVHLU~TZhY&D*WJK=@{9oZn)H=BQBf}ktdsV)O$T5 z`mJs$Uu_mQw!I*4+EOcS_SVR$E1e>y=m9w`H%Z)*G*8CPE>zRQ9WpLBQN{f_SI2)D zt`dgA^o&zKs+or`>sx!ys9C-l^0w`V)a(@jIcM!h;`Zz><Q+@j5p!eSmx;+*B>FGv zB*zAkG<-@YUv`T-2lnZda}6rB>qVV*v`nQp)#;2^7O2d+7MZninwsxiBNvp7s_euE z<y~2ys)eD+GAI73$oVcp=8jzud8dDtcYoF|7WFywJ^j1I;`X2Py}P!F{Q8geeJ#7x zl9E1sf6Z1^kp8kRELg1ye;bs})JEYvcR&_JR*9mcZF1?Ad{O-R8+zF%mCDuFsvmlH zu_~$b>e9|x>fuGjy37}>mM5fY_lmETdpuf~XP;K(-=s*-%&&xJFiNiU4~kX2Bl3~q z1ER8JNIp8yCaP+V$<<x!#AB|ry1KPhJ)U|*KT+pZHIW^<)>*7-ulRIbVydb;<I&#G zXyrYar`LY_i(1!NA)h=OC7$x-%BK&Fi2Cw)+0Z^D)@M)14fV&w#+Zw8Q%R@T<R8<% zoFmFN{JGv7+o3iOoX}fFed@Wc9{v1zk7{gc)?1I~sivx0y=`ZL3J&_~Yf{Md*S|md z?+pZYcL)&(yxkoXV&1g~v+oi1yIkgS3s-@8mYb)-Jf&{4A|Zn8H}}7<Z;$y!yS`EW z!d$>yRY*i1vPNW)$SRR#BI`sJimcRXmWr$uS*+Ep7FjN`USz?@imhhJ$eNKwBdbQc zY+hJ5XBG~uoMY+8+L6U0t4EfPtlw%1fK<S0N`TY=DFRXjjxr#1;3x!A364@AwcscQ zQVouBAobuV2vQNGBuGuHrYJ~Nkg_0kK?;LZ1}P0v8>Bc$bvVj{)Q6)$NQJDXL`aRS zrbtMYILd_72`Lm(DWp_Lt&n0N)k4aJ)C(yXQZb}tNX@LKXh_vK%7)a9qi{&&I7)}q zj-z-;^^o!*^+O7XRM2Wlh}6((iilLvYRZVzk)x1EC6Q7hwM2@ER1+yDQct9yNJXut zq)1Jzrl?3&t){F<T{#MiRF<Q(NNqWai&U4RyhweK0wWbhN{rOlYKn|h*=ov+)Y)nZ zjZ_*bHBxJiVk6b&C^u4Xj)Ef<=O{T+bE_#jQgy2-J5qP6DLhhnr1VJbk>VrON6L@X jUtDkg|1SRy^Iu`1`R|b8nxB@HmXYGh%uLHn%W(V&DI1f# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Detroit b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Detroit deleted file mode 100644 index e3ea5c3ef1219fdc1b6e6663d2bf3a38c27df689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2188 zcmdtiZ%oxy9LMn=L|_+4C@EB;f{cOux2tHk!hjL#71N6;njQ_jyF&3zjX@dOf=ssN znhtX{mT8S@jnr(pim5qkYh}tR`!hVX#e)`gj2^hy_;ucAJ?l}=TKDdp*WKNIyHD=t z9chehD);{JO0?f_c=g)D=ggh<>iIBd&4JK9@6%_ET*&=HE~p9pb#TC3^bYF8%1e?| zdRiqtH(jntJFEiUAqkjgRI=`oly6?qsVAdy?TKzZ_4TJs+JQ|veRs3DuJb;9eXQ0@ zTV0?t>hjGE^HcPV`N<|TCtppUGG=DPC#xC12V~|CV=C+XFLKkVb1M7D=W_GGBkGoR z&)oXdUX|1EqsiSosBa6NF|!suuW!$I&Eyqq)p?U2Nq(R~=a0N91wYTzvxjy`;c!G1 z^~a?6*j!c8wOC5`W~#Di)Rb@eQ_ZQZGj}ZiUIp`Jo4MsfYF<*RshIh#t{DBz%%Au` zFF1SN-1%L<4h{Y)cfG$;-@WGxx#z`=y0Y!4EbQK)?ycV^RZSaIbxFI_R9C5*@c~m? zv|iT^_nNxYg}Uxot64Obs~5ktTb6uPslwY^Wa+y(s(x))mh~m5`$HwN{IOBBA}d`Y z4WFpU#JH>szM)qBG}WxiKC4%qxolQX4(P_i!)DD$uU^}I+&nncs@FB`H|zVCY88G* zHtcFq8;knnp=ek&rFKYjZHa0gYm{hSx{7`ll33!nioKOBn@7J?Eqx12>$%JN;r1-^ z$l$PUYnU{$=eT|}sLhtP{d#N0X|t`qQ*WERB<&S_s(s{?bYym@j-f-+d8JW3-rpln zTnwr0T~T@Ry=>LBu1<Em;3+RI{;GudtN#OU-#<Fb^L+o!m%RkvKk>FV#rHox8JFVj zG<Q#15{`IPD<WPE=K*_`*;5^{|8>uc`}>aki<Mk)&+x0h&svbhAge)^<FxBR7KE&b z$5|4xCZ}B#vMOX*PP;B-VaUpmr6FrW7Kf}3Sst=JWP!*EktHH)L>7sx5?Lm)PN!Wc zvQlKJ$Xb!bBCAD~i>wz}FtTD~$;g_KMI)<r+GQi_cG`s_D@T@&tQ}cAvU+6s$oi22 zAQeDLfYbmf0#XH}3`iZEwh%}qkWwJEK#GA>11Sem52PSSMUavpH9?AkRK;n_g4D%n z3xia~X-k9D1}P3w9i%)+eUJhn6+%jc)CegOQYEJ?6H+IqEfi8Ir!5syE2LORwUBZl z^+F1UR17H@QZuAzNY#+CA$4=w!XcG&+R`DlbK2q|)kDgM)DI~jQbDAINDYx9B2`4n zh}6+(3yD<HX-kRJ(rJr{R1+yDQct9yNJWv7;{UUz0h`*OO>AL!PH}m0X<@jmthlVW GH1HR^1#Eo) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dominica b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Dominica deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Edmonton b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Edmonton deleted file mode 100644 index d02fbcd47f845bd101a7ec97150df7821b826357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2402 zcmdtiZ%oxy9LMnkp}>tlrxHU!BP|I6<c~Lj%%~tjyg_h5G{Pv5U92FrJ1xXh;E0}h zDq}X1KqY9cFm;W_2AadIKRS0^E-TTp(pfh8v&F)=o%eaf)}tP^^<}^N`T=7+`n=t1 zJnPcMKW>Kk2@lt49^Pju^YP-?iSu291NzOOVAZ|rW!>%DuJ*iiN$+i)DfZQWqI;c3 z)mx<(WnWaU>d*LC_D_8zK5Y-vzJ<Rx`l_SF=Vce<>A0`OpA*l>$x9VtYA{Rs`(s5= z^&CB;_^O(jGpU19$5cq%Ssf}5D~A}-j`2O}+Ved+?97M=Kir}tKI{>ZZ+A=idW*QO z{RMgbmRfOxr$)|NoiCya?w7N(62y%Ox5?-Qd1_9mL(UD1S95<|q+`AfRk6MhJ@3em zYX19|^-Vp;Rh)O8y!rV7wV=!|7uJ6!ZgGAiZ(Z@8SQK?s#wThKKXpzgI5vocu_HS1 zvRm9fyjLfkYE;Qx+jYvp61BLwPN%-QM5WcW%Jhx1RYv|gxuj%5IpZIYccg!*mIf!v z%$Pq!=EX3XHF-v4ANyI}`PGnEw%?)e8rm(E@AygI-MLNVG@Q`)w05d{i}vgLYPPD} z#johR+_ft2w^5m&+$8c(^~r+pDp7E-U9Py2BMRT>)hka|DpymRe(;0ks;JVVi#y`f zL(2+vi8oM{#wKfb*>}o)HBy&5kE!zSlVrvG3!-8)Lav?~6>Ij5%ZJDML}jZ_J~G@c zs%j3&wO#AQqpp*>x~)w;mV7`zUguFY;X8G0exa(p;?;HW$*S&nh4utTD$l#wy8ee> z)cTH9@`;lX;z@6od}?4^G?d54#vMNKwDT{yq2Z9&7<Eo=D(VoMrY5yF^MLY>oz<J8 zcdE_9BYMk(S3TR+qo4btLNztF=&gg<s=2CGZ`&2CL}0+QuWN#)eKY+R|HZrC|5~>Y ze*Zh&0YQHMZY@IWdzk%{D_w5k$~8}^c~+UH*llJbM1cKp|BJaz*uUdH`TfienI1Af zWP(;RLu87`9Fa*PvqYwe%oCZY)yx!`Dl%8AnJh9}WV*<FkqM)nF)wDy9CJn{jm#RE zHZpHy;>gUcX6ne?k;!w+9+^JJ{E-B3WB^G4M-GrAaAW~V14kZ^L?D?!Qeic@K$3xE z14##x4<sQ-Mv#;sIYE-bkrgB@9C<+!V>OvUQe!o_L6XCf9V9(Sevkwq8A4Ko<OoR; zk|iWfNS=^HA(=u_Wi`1%lEslNBwZZ&LK4Q2F(hRiIYW|$WDQ9hk~buAR+Bj-bykx* zBzaboJtTb``9l(jWDrRql0zhkNEVSaB6&m-X*HQdQfW20M3QMW*+kOGkxwL{92rGY z%8^qfsT^5F(u(92Ni33CB(+wPTO_$wlU*deR+C>O!AORY6m#SlNis*4ku-DU8A&up zrjb-zO|Fq-TTQl+bX!fnk%S`|M^cXD97#Hob^ITv-C>Hq)RaHTm64L3lA7d7OG`;h HNp<`UV`q_f diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Eirunepe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Eirunepe deleted file mode 100644 index 41047f290049eed111a7e1c0e6c605666cdea5f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 690 zcmcK1y-Pw-7=ZDsDTGBW5k&N5YeHW_M8q8(ijHxoXlN4p1A=I|HUvRSQxq+(IW>hg z#Mz{#+bU`XZAlP)i6*D_x!4p04V}yJcetP&pVwL2Oif!qR#@J!S>v)fcc<m!D7&A| z^`@*`YhCA`mAb4P+QqpWRjl=^(m=~A<+to|b4pcC8}?oKLRFm=`}KIxdkgQ_?>enM zdggUKnNan@z1@gBd5yC^-K<5`=fQ~{y3VTM?H4_gNqVC*k9ur(Per>P^n|`uu~gMg zY`ALG4QbaHV+8}hJ{`fJF;{Y9V+uMDGA4g+b#k`a=cQ%GicQYSj?3TrUd|tK)Z1T@ z+ZeJSX?!IQk_gF!r1F(qNHSl^hNMICAqkO;NJ=Cpk`&2`r1h1&NMc{fjHE_#bA6H{ j*^%@}eq;p57?4pQ<3L7&j0Ii!?SC3gWI;x?7>|4blHVW? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/El_Salvador b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/El_Salvador deleted file mode 100644 index 9b8bc7a8778a0b8caea494cd5995318ca30d4fa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmWHE%1kq2zyQoZ5fBCeHXsJEc^ZJk;;YLP6lUFdpcpedK&fiq17(}q00t&TApHM- zO#%bM|NlETFtYsrzj^@!hmUUvgR=_|2ZsQ4f<Oofw*7!;0h;*#Kgd=P7i2St2H6gx QK`sE%q`86%=pZvL03CTYLjV8( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Ensenada b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Ensenada deleted file mode 100644 index 29c83e71ffa6b071c52b2360295bf55009c09b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 zcmdtiZ%oxy9LMnsp(Ki)RFwE*C#4t&SN@A){}j7|+(5aKn2{NO24#>CO3@7+TWihn zMJMGdIyrm5S`o9z{xNdPtu<C*E6m22DKLy8){4q;JMUi)d(^Ym@9vz}-QDi)?t{<U zx2w7`&GnCGuKk3=(_s(qBU|kCTJNtdT}_2`-P6rey_My4??x-vnXu`p&nAwv46gd6 zZt%qWb>Bpnx`x`{p1S1UD&OaAm&;|zawQ={Mm_mzZ1FZV9-pMfr_<F$=t4Cy7@@9? zPN^Syep8d@2Gx)47u5WbZnNORfC}$#Hw)kER*Smc)apdLy5U*Ti<|1zlIs0>Y3U9X zk>}IP)~!{`6S8#V%3`^3UZjo+&XlO>3=@56xx@@EGqE54E-QLw%uTOe6y3O5-+bsJ zSy>XUSJiy0;xd2Ix8#4QZjJa-$0v5G_}NL55Z0m+hCern6MNO_z8;fw-Y?0W$Bg^* z9$Djm+@u`aD5+IPby|I#q<b24M)6$9j4#nyY2&gsG+SrK%u(56QF`5<V`}}mYdYuR zr)tAnk><7!URSrb{bBBS@rb&!_B(S|YnN;+>@%CnpOf4*#%#{rCwDJ8Y&>y=;+c6x z=Y^z7-q0bPe|d>)ed)9*__{{C&Bx6>y#-RZ`+zCxaLcw0rDl7hlH!;g<J&PUzH70j zB=ajNxw2mGT=BEo`ALi}ojtF1otoA64Zovyw~pxh`<_>2<!AK+olR<wci24m%yHS9 z+;1MLIw0lYCryQ?R4OK0O;vo3R1H*`>d;uJeq)QN84bw89TobKFJjcbMvs29dsfw! zB<Q-f5%pNse7(Q+tg4Tg)D4BFR6}5%Y0U1I#^I~xVB|?T*f(IBW?JQm&TjMMP^C2c z+s#vFwury1-aP$6qPT*BgMzOM4w+-G|IRBAI9lLx1p+UND<lwTYjIuA`=ABRt(<#l zf!F8q7W-U9oLqbEwWr8ucVeHQzi;2aSlEp76@E1kU}?zOki{XZLzaiE4_P3xLPxtq zWR1uokyRqgMAnHc6j>><RAjA=cCpB69qn?F^&$&KR*Wo}zr&i5MI)<5mW`|%SvazC zWa-G-k;NmcN0yJQA1MG*0i*<uwgyNMkSZW$K<a=L0;vR23ZxcDF_3B?<v{9z6vWY1 z1SyH5tqD>Tq$)^Rkh&m+K`Mik2B{5F9Hcr(d64=b1wtx>l*rN62q_X$C8SJ9osdEy zl|o8|)CwsUQZ1xhNWGAPAr(VP=4fk%6wT3A4JjK^H>7Y#<&e@LwL^-BR1Ya1Qa_}C zj<$kG2_0<>ks><UDk5b>>WCB)sU%WLq?SlAk!m94MCyqY6saguQb$`;q^ORzsz_NK zZC#PVB9%o-i_{h=E>c~jyhweK0wWbhO6+KBj1<|?Rv9U?qpdSiXr$6esgYVE#YU=) d|NnA_*{o;VtS5QX-D&QWByVb}JJp>M_7|antVjR= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Nelson b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Nelson deleted file mode 100644 index 5923cc6888f881c8672d96be9e23fac7166b1c20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2249 zcmdtiUrg0y9LMn=2m(jQZzf8F^`s_(DTW{@nrS$~KtK)_ty#9B;c99Y*4Bs?t>_;Q zIs3DUzS&KzCNgHTkqmEKt*i;lM2yHv7)mNy0ura^{abfkbldu!J<sd6v%|Rhyo2{t zR-}9XcqY4VI6U?4@SafPuEqlg_5HSZ`&C_{cFwu9t#k7{`L67OIc5gs`^+wL-1}O( z<M*5HzP)l{;;8m?SUK6-sy{S+Vtd<n>yLG>*}le|`cvgLd#buzf6m`vf7z6yzoul^ z(|LEB{%IvLki6Us3@?$vs3bGk882r}PnfeUmu2X1pZTq!Th29)>-p_%a-qIgho3oQ zFK+G7OZR<fe=pjjf2?}mUQVmkk@<UMbZUi;Mc2yM$aCh(K!uDSf5`m##T_znAkTz8 zN)_*|6chGhtb{)~#Z1~h-$ras*2t28oxD0mqZXgF(dLZC$Tv3N9nrw~eRfJ;v&MEG zk+_Zqz3Q`OncB41$lDEab)7ZSp4uVTR6b^=mzPO=e$dQVmL)S&mYRgwrS{sG1d|w^ zX%mMt^tw|sZBpk9opor`Uf(jJH+;}zP1OQ(<Fg0t?2U0|&XyB0H}jmiY2D{CFaD@W zPHmLri6Ko1)JRJ2x0*WmfGlWl(VM%f?ZU=gx~TPjn^ygVF5b1q-tzG4CVj_TyCm;% zlTkX^W+rbmOVbBzR#djhPKuQ5{zS9vO1~^WJZ^G&zLXXF5_DzT$8u}^n67%~Rk>~J zNnKsrWY-k6>+KJ|Y;)68*XBNI*Iw*0c?(~XysrHwKkgC9Z++9O8(J@SzT2t=$F|tQ zr+4f6PYZ0(y*st|jYYO(MY(RM5?h*-qrtLa8yugd;bGyEBHZ=g_(X<6uZ((LDD<8U ziwK44YrJUxJ=VX4+nZic81#yB-6?hFE_aH9UZH#E3H$pF{`-8a`>8*l5&v)auc6SU zl~pewb3!JC%nF&7ubUS#F=S@Q)R4I$lk;`6L#Bt!51Ak`Lu87`9Fa*PvqYwe%oCX? zGE-!#$Xt=h`nuU7)Ae=pMJ9~Q7@0CMXJpdItdVIW^F}6)%p93IGIwP1$n25nBlGul z2|zM{qyWhQ`bpr0EbzEA0C_+Xfn)+n1(FLS8AvvebRhXa65{JJf}{k=36c~fD@a<9 zyda4|GJ~WB$qkYmBs)lYko+JCLNes*QiS9PNfMGJBuz-3kVGMwLQ;j~3P~1{EhJq? zzI<K6kc|1dlp#4ol7?grNgI+kBymXQkklc$Lz0JN4@n=AKO})j27O%$ksKmPM6!sa z5y>NxNF<X;Dv?|w$wab=q!Y=fuS+PBQD2u*B&WVEsYq6lv?6&$5{qOONiC9FB)Ld- Vk@O<@^>qpM{-+HNxF}}@{sJZt2OIzZ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Wayne b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fort_Wayne deleted file mode 100644 index 4a92c06593d33d3969756f482e5d3d4b773984ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1675 zcmdVaT}+K}0LSs?kk@(LFc&RW7jAmD%q$zL)}m8hP9)@yXes=a&Q2uH1yVP-Da?{F zud{4KTr|uuW;Thu)jw}D*7heCne9CO-+%60xN+k-d!Em8&Q9xG{Ju}1pk!mR^T#p5 ze8S1G-kjV=y5`b!I@UdY<A-eCH_knA^p$+DJlcKGl_?+Y54%rdzRM?TN9m5re&^}D zFS;|Y(|I=ik$#?X&FOMl^oz+yoEPelei?3cU)`+Gue%%FH|Gw@?)ECTr><P8rj>4Q zNkG1>nd`pGnkC;CPIEtfo1#CP{~m6O)ZQ6SIgMfMtL;_k2|<~Wo+dK-&+5#$H7c{C zUT2M+ud*(e=>>f;YT>aunf+{@@K=}0oU73yca>i*YKRbvQxoKp%8z1c<U|?ByDtJi z`{lBf^J3YD@j5^1uFAjjRj&x2RRyOy^vdpfwQ5hRUfo`%3X2-`nx-5j{8!}K+ETGD zu0gIZ_KTviA-N$lL2T$Nki|15isDD9vSfI_D7hFVH+}3Br44g*+2gNjb1+hGY3Wc~ z^TJvlXjR)%lrG=es46Dk*4uNd)b?<X49;#4!R}i!G&Lkb?I&f`K!MoNv{&xzN)^>L z#d23$l&C4plDiK(Vu;VahDQ9p8GJi<9X4dx@PF{~yp}nR<9XLF`64{;LbEf{-jA`@ z30$2?o_Fu2Z)&zb;H0ISbE!F(n{!dX$uRdB<}(hTy+Yvcb1O1mwsRX8{44VdJg;zQ zxEYxrGC^d9$P|$|TFoSpSt8T4nt37<MP`aj6`3nCS!A}zbggE-$b^v@BU47^j7%Dt zH8O2v-pIs}nIlt2=8jAr?d-W>`W$BdKmtexND5Yy1CoT*WPzk%HF+S3AekVkAh{sP zAlV@4Ao(B(AsHblSxrtzQdW}{l9tuvg(QY#hNOn%h9rk%hopz(ha`w(h@^<*h$Lw> zSt4m#O`b@iR+A}`Dv~RbERrpfE|M>jFp@EnGLkcrwAEydq-`~MBZ*s0=1A&D?nv@T o_DK3j{>UT1`A?q#qs^ls#XK5f{WIf};}c{3NlEcZ@rk2<0ei4<R{#J2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fortaleza b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Fortaleza deleted file mode 100644 index 22396bb5151aa9345133b2835aeedcc4d8b401d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmb`^Pbh<70LSrn{-qHvii3Gr4vKm*+Lk3(;-GfG!AWX4aBy(ZI5;Usipz79gWluj z<ih4eA~pMmi{e7e+UW6oUq=_pv)+By>Rs=?zwmTquFv{$D$O@soNjaRxqj8WZSBvu z#2QEPvCm-@f9{uu*(H$*9LUsTNv2zG?R0!fWXjDlyPFlc%#O^5ed2Xn+i%q~qHr`T z-y1xtIME}EiDOZ6U)ZI+qAEYt$d8Q`)poimJ<HdsT@Bd6ccwblBC@kCsl1a-w)bvP zbopQGuFHh*7f$RzY+VF%_cHi0Dh89<4lOjOsMgx5aQ*64q4mv!Wodn%cU5V9b#B#; zjfbsX*=H`F`J<fhAL10hZ!y29HIa}|jwTio42gz>b2RagfQ}|25)z4t1Vy4EVUf5< zU?egU+R?;Df;*b%NO&YZkIw+e2*?n~7|0;VD9A95W*lT7M>7&K6fzbvn4=jD84ei_ Rqvl!ubwGE>j5*|Ue*r;HC9?nk diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Glace_Bay b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Glace_Bay deleted file mode 100644 index f58522b674c2e06fb5a184130fbc470ae9db72de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2206 zcmdtiUrg0y9LMp4AQ6dCL7AY5R*1oozlEZKg)t1`s~i+m=vzSqRwxNVlG)ONi)LG) zWsc@@Sr=sub7ULC%Dl+x0jt?s_>jYk7E7%)H<Q!zer~(!uJt>6ey`uocFwsupLb|& z)1%pee_T`DI~=Z;+~GN4ySr__@J?>uz)pSh=uh%x_s=>q?~jcmI$>;Ip^i1>OO*bm zQ)NV=i-z^8%)=5hr(ds*-z~9$UX4B9A=lU~I_-y7P25n8PXD;wT>EaDjeot`T-US4 zUf;Rc+|abhCe$RG#L^^tWB#PMY5o;EV{Ve%9COCbjJP5*FZ`uRV`n6JcvNQ{J0`O~ z9MW6%za?|pF4~mmcFNqUZ|%J1{pQxZBlflx&zsv5U$dzT8cgcsN17H}V$w$U=z?F; z%pHTBnttj&$>>|B!T$NOaNAPNd?i-08f$EJ>#veiQebmeeJy#Zv+SMOAIM$NVVj?H z(&V2Tvx_djZx(;?nJxJ7WwYdv)uo@bn!9&>s)cWaOi{}LUAAMB+*9#_-dkTO#S0(P z<;8ij{P(@KBx9v1In`xL<8n-Cf1O=1k!bGUw^hr&&zAD8T7BS1f>f+8RO$UwRxU}= zRc)uGGC5L1RYxUsd0bcL?UU8x5w?2vfT{lctgV^cYt|k(Zr6==ne{sk+S<W7Q&-<( zAM7hKTK={^^kS_%oYAe1G!{yIT(dTmq)5X=nKq_IO5;~SZHgY3ruX8t`P>QFushv8 z{>@qQMEi96<e}rHrRu!hxa*+Vls95qTYAh>iHGgxiVbG-<gm8qcT4+dzjn-MmX5(* z?YvYbPxo!nt*3+1wXH^<8Hkr{bp`tDo{JKg5-}w*%H948uW<Op$v_|+{?0^1x#yuk zjDMcy@9|~jp}?|YcPiak<Bo*fA3hL>@VC&v7|JF8IesY|W-!QTkl`TXK?dY?BSMCR zjES#dP{^o|VIku}28N6b8JgFP4H+CVI%Igr_>ci2BSeOXj1d_mGD>8a$T*RKA|pkH zij39k28)aq87?wjWWdOXks%{vMh1<H8W}b+Ze-xd$h~gp$k@GZ@W|+q;UnWm0)RvS z2>}uVBnU_pkT4)|Kmvh80tp2Y3$F_X5)C9ANIZ~$AQ3@Ag2V&~3KA70EJ$3Cz#x(F zy3io8@w(t3(eb+QAn`#0ghU7l5fURLNJx~BFd=b50)<4%>q3RZ%IkuKM9b^Kg~SU9 z7!olgWJt`ApdnF1!iK~R2^<nRBy>pZye@c1^t>*7Nc_AmfJg+95F#-|f`~*B2_q6m zB#=lXkx(MB^txao(e%1-BJuRPfFcn^LW;x`2`Um*B&_(qifgQEZmw%@dU;MTJD8bX Mo|P5M3TDRs4J6`am;e9( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Godthab b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Godthab deleted file mode 100644 index ea293cc4066c0e01ffafcc98e2db8a710596997e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1892 zcmdVaYfQ~?9LMofX{?!jNkSzgxt!{Bj&iG9QVku~gItnJ5)wj+IE<NDv#+f&!!Xv& zhzH?8E^{42Y}U+eOmjE0VQy=GzxUrf^2igLe>?xzSz8a<zVDB3+JZul<BuoU{Du$D zD)Zrc>-FZfdwr23)LS{Oz301z#k|!Hp^r2?=$3|mJf|I-j%%m8`?d3>?HY0BtVABI zm8d=Yq)U}bbma!=T3jmKX3UlDIX;O=&6FO_6p4+Dlb)?RN?dS;#(nOmy`INv@5T<= z=SoZMTlZC+hhA%Z^#e`VbVCzYoKaW7F-^+5FYeMh@ubyDzX>}eIcl$@xXUG_*)Ibk zs&&BQ*)s4)nGQOeA%h?0YHCfsrqvJ9^v%O`$nHoTS{S3lHVu^FS;3l75FsOCUutGX zvt$Kd*X)=llKuXLj10OUBO9*CsHTH5y7q|V+&r(|ZB;Vn=m8yDQX=E3HtP5(TXjP5 zJe}CTSbaI!Iw^dNPImUz$zNQW8<r)x_uA>y&%I>YsZTn+F+^tUZ!39q?_{R`qvTgN z$gKQEnZ5Rn&KYuA=H}hhg6Lf`FRfM!Tb<PTQL6J_?bM>?QeAMZLKi;v>7v8awfO2X zS-d4pOKK*{lA>r`x;a^vjZc-*!f;uh)J0Zgev_4L9a5GUrez<VNqL(uT7KuURJ^~h zt54L(nudC<+;vgc*6!7H6^GQn&98pTvK#>|0)zhfPoQPpHdkd?jdvU^e!rWZ2DGv) z-Z@^MBi`jPAGbNZfPh~w-(Q^USMw)4=0CJJT^`OCIbr0CkyA#_+18via@NRcBj=5r zICAF5sUzo(oIG;&$mt{Jk0gL(fTV!rfFxmSvOv;6@<0+nGC@*7azT<ovO&^8@<9?p zGD1>9azc`_HCZ8P*_ynN#E{I8)R5ee<dE!;^pO0J1d$Ap6p<W}B#|tUG;K|uNTRkT zQzTU+S0q^^TO?g1UnF59V<crHXC!GPYb0%3lQ)vMt;rlo9myR@9?2d_AITq?0AvP` zDM01`nFM4OkZC~X0htI}GZV;EAaj9C1~MDSbRhGAOb9X~$dn*+f=miBE6B7U^MXu_ zt(h5QYHZEiAd`d44l+H+{2&vA%n&j~w*S{0g`}E^O81zzJKgE^BqS%e664)YZ<6cR H*QAi2VUWP1 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Goose_Bay b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Goose_Bay deleted file mode 100644 index b4b945e8d8d26ff300b54916bcbea257817addcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3219 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 By}ked diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Grand_Turk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Grand_Turk deleted file mode 100644 index a9740dae6876987c641a1f061b048288f7a577b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1881 zcmdVaUu=zc9LMpe)*z*!=+;q1vF22J`iDbVnQEKksH6UzN>;`ft&^j*{!l0FP?lI4 zZbZ7&64FHciAbajiv`VWf*b$RSe9++eq8ioS@~ISgrtw(`{6?3!Y+2>X`a5CleSmi z_a{;v+gRwl^$fP3@bWa;m!HS%vESN8TyRtN)tXVw3-#z&(2V&!Tc?J6=EK>;^+ zCN0w^9}n#_V+ReBvHvEiaS!_>{r*2{{I$E1aqf<qaP*u^j5}u1*KLwn^~g-#)TyTg zuA8Zg4(d-*PnxXkZ8~e<7v)Q;(!QP(D*NwQdRkYj%IS_sZbwY{&(D;+mI{^MmL>(! zs43j~T&4#@X2$YAC6G1E%q;AZSwoUd(YW7rQSTEo`^6PK=f-{W=^q`sxbv}^dwGwZ zci^7-?C^R$zu|jTvUj&EsQgxy)~u7VytpbaE0yy8Qzn?ZRtLNHn^1Cz4xO(zi~1(( ziX;2f;$P=WcxRnj@<XOnt`4iE?TNCiI8QC#-YYB8Q&gntmPB6ktCfM%QhmJJtm@gX zSMR-OzUZpgYibUewH-^egfFOdt#z_Kw_R<BhNULCN!14Pq_(eGMYB>Qdb?P~2KP(s zOorOj`#|d2=a~AtPxa<_y7{uRTQ^h<7<J&H-V)GeYr`SEE%j&9SlO%_2mVs=qIQY* zTvJVHP14kLOf^5NmajU#Q9FJsmYpq8wd+!bw5$oK-QPKqFzAE->nriU{wLSHy3}!8 z_fmqB=(<0ib%wg`&7Ts6^W7Qw>XXIch*M$T@)h<ii#R3LH=oG6Z+5%=eeY(Uz5YYj zKC#w}eB_4tm^(&p8M$ZVrjffwZX3C8<i?RZM{eEI-aB&h$lW8ikK8}f0MY@{0@4H0 z1kwf42GR%8h^OrYX~om_f;5A4gS3P6gEWM6gtUb8gfxY8g|vnAg*1kAhP38sdqbK- zx<lGS`a>E-Iz(DTdPJH;x<uMU`a~M_w4EZYdfHx*W<71UNV`bCNW)0SNXtmiNYhBy zNZUx?NaLQibEI{occgiwd!&7&e`EuY9YD4K*#l$~kX=Bw!PD*ovJswkCy=f1w0nVU z2C^H-b|CwKYzVR=$d({`f@})1E6BEZ+I>Mb#?$T$vNfJ|Z;;JFb_dxWWPgwiLUst* fBIkV_qa?dh0lQK;;pzTDe|}E5puk_?&rf;@GCKTA diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Grenada b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Grenada deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guadeloupe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guadeloupe deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guatemala b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guatemala deleted file mode 100644 index abf943be0fe277c7435ac9e5d51718028ef216b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmWHE%1kq2zyQoZ5fBCeE+7W6c^ZJk{JF30u!pWmU_U$Uf}~DGg5>!p0qU>bJ<vE2 zbHODfD8W_UJAi?S5eonRU#-Hx@c;kL4U8;6_5ubDAKwrLXBQw24gs150wE;0;0Htt v(8T}$K`sGtL9PMQKo@~%kgLEn&}ASR<T?-yav_KYxe`Q^?ouwGqs_Pgm;yx` diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guayaquil b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guayaquil deleted file mode 100644 index 92de38bed407d9d7154cd3875edbc2e01c993f6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmWHE%1kq2zyK^j5fBCeRv-qk1sZ_Fwk1vy+G2k$Xcs<nsQ>@}KO-{}GxPudTQwLM z{{P>W!NBtW|M3Hi9RL6C+`z!&;~T;d2*kPuCO~Wo)D8h5ge_$Qssvm51F8pT*Z<6R hwFnRmas)^i<Pb0obPR~D2g)&!<svQ{p!@7hxd7s;LFWJf diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guyana b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Guyana deleted file mode 100644 index 7d2987677d321fa44fafb72a1a6032432d0c64d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmWHE%1kq2zyK^j5fBCeRv-qkg&KgwjGL7mT(w(l)a!p6)c^ngpMjBynfd?!lNAgM z|NozMVPN_H|LO$>uK)j!A7J3~@eN_nH83_Y1(85(0yF>uLP)Uo2UHKxw*MgOL0pg% UKs3l1AesWFaM=JIW@o|$04A(H7ytkO diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Halifax b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Halifax deleted file mode 100644 index f86ece4c4032634b3526187c5f86364077b9a9b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3438 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Havana b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Havana deleted file mode 100644 index 1a58fcdc988ea6ec1bb660ceabe85ea19e5b0774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2437 zcmdtjZ%kEn9LMp)-yCXL{y`%Nlf+6;u<Ixk&n5~6SHHy76okkSycl6dLZaqcNwzk6 zP?AYJsEoN)8ri^Vbe8yMj^;PWVWTkv<3XES%NZKU?f3q*wzeMhpdNM3&Uu~P-Mjnf z^FD#XV0oJJw<Fqo!o|^SE}kdtF}L?Oe!1tP-q)n9rr14GRIX=w^WC!<IePZ<Dz7_n zlXN$)_P*{KFFhGoz20{&%Qta--biVbj)Zo(*Oz4J^`Qdq*ZvG0ZQbkscJi>^XxQwI zbvPPo9rB!}K@Dp->4n#JX~fn+H?s75iSkYHqTLg6)3h9ST*4t4H&XA#I1Li>Q>8op zVo)Z0yVslO<;u;+H+#3Vy)Bb=9dvKa|50x%Z}%prcI%WC2fV38&+D`~^<Hd7nNE)` z_GZMb&>6!^z1v6UYTUUE?j8LxI`c@T8^5DK?rcnO6AFDYt2*4hYgxX|UUkV$oV`%* zPC4bynfkIO#SVH&W34iGq(|==*eCb)9n<?dx5&Kq{hHk3mz1VDoxgj&ET}Ei)QVh9 zdt|XL%ud$(-Sy&|d0rN!9hF5l+9f@%ThoVo^?}h3^}$o0Xh#35y7)+sEctAkW;Py^ zr3VA*mKW*rET1gD@``3B#!B{ghh=5Nby@kb=tD#OlG|J*dEF!Ge{r9#`eK!?uDz)8 z`Y)2dc(OeF%mpckyDEV-pGsh~PuBXHW$mRax-Py$*L9uO^<!^p;k)fxG_X@Qyl_B^ zJ4>{rtX>~&akbR{hCJ3#EE|(|$m11DrEKB`*_1s?HeJq?ilhjs_$ony(LYG=gK()F zJ}q1J$Lka4hO}zCqfZ_=snu%+b!%g*KIQAuZPokq>8bB&&FU>$Gj>9@r@tiI2M$Ty z^h&AgY>;QK<;jkgpwwSTk)6A9Wmm@}*<F$>&o%ulVG-f~_KXbw%NZ5<-<_dQ+Zo3( zch89og-&~6<3ge1N1X|O-uWcYA8>NawJghA1p%`j#|aCwIDvoO-CO3Hc6ZnQ_=)+q zP$<|iw*%QBvPEQ%$R@33m&i7)W}nDLt!AglR*}6Tn?-huY}ab`i)`3xc8qKp*)y_f zWY=i7%>(=9FdGMUj%*#-JF<CX_sI5<{UZ&qnhqc>u$mqqO+dPUv;pY@(g>szNGp(D zAk9F!fwTkZ2htFvBS=fErYA^KkggzYLHdF;2I&ma8l*Q!bCB*J?Lqp3GzjUC)wBrd z5z-{2OGulLJ|T@lI)$_f=@rr}q+3Y4kbWTzLpo+PEkk-{HBCdhhO`ao8`3zWb4cru z-XYCHx@R@*L;7bm4MaL<H7!JXh%^!DBGN{rk4PhtP9m*DdWkd>>891R6X~bbG!*Hm z)wC4pDbiG=t4Ldsz9Nl9I*YUx=`GS+q`OFak^WjugOLtfO^cBpTTPRZE+cJ5`iwLh z=`_-6q}NEZk!~aHM*3|v4M#d|H7!SaZZ%Cux{kCR={wSRr1MDYk={H1=itYfH-OK) Z3Fi41rlh4Tn7?42KQ%Qa)jXxf{0?B7_b&hd diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Hermosillo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Hermosillo deleted file mode 100644 index ec435c23bc47f925bd70754b38bc8b1d2c4d3943..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 454 zcmWHE%1kq2zyNGO5fBCe0U!pkMH+y_(rqsa)_=--uq`btVY~CCgdIF)2|NC_eK`H9 zFyY3;Egu*d3K|U4TLg@X#Tty=(*#U{el(b>dkB~r-D+T9WCBBGMiwyq|9|=q28RFt z=T2Z?`Tu|Q0tSx%|N9#lctC7M0f@MdZwP~La0r7l5C;IUuS*Ef6$lVQg8PA%fx&+u z0Qmz%gZu)bLH+^JAU}a<kiWn*&~G3b<UbG%@gvBXf(8%?@+*i2`4>ck{0yQ&{sz$? Pzk_I6`JW3IIObdcn4XX> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Indianapolis b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Indianapolis deleted file mode 100644 index 4a92c06593d33d3969756f482e5d3d4b773984ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1675 zcmdVaT}+K}0LSs?kk@(LFc&RW7jAmD%q$zL)}m8hP9)@yXes=a&Q2uH1yVP-Da?{F zud{4KTr|uuW;Thu)jw}D*7heCne9CO-+%60xN+k-d!Em8&Q9xG{Ju}1pk!mR^T#p5 ze8S1G-kjV=y5`b!I@UdY<A-eCH_knA^p$+DJlcKGl_?+Y54%rdzRM?TN9m5re&^}D zFS;|Y(|I=ik$#?X&FOMl^oz+yoEPelei?3cU)`+Gue%%FH|Gw@?)ECTr><P8rj>4Q zNkG1>nd`pGnkC;CPIEtfo1#CP{~m6O)ZQ6SIgMfMtL;_k2|<~Wo+dK-&+5#$H7c{C zUT2M+ud*(e=>>f;YT>aunf+{@@K=}0oU73yca>i*YKRbvQxoKp%8z1c<U|?ByDtJi z`{lBf^J3YD@j5^1uFAjjRj&x2RRyOy^vdpfwQ5hRUfo`%3X2-`nx-5j{8!}K+ETGD zu0gIZ_KTviA-N$lL2T$Nki|15isDD9vSfI_D7hFVH+}3Br44g*+2gNjb1+hGY3Wc~ z^TJvlXjR)%lrG=es46Dk*4uNd)b?<X49;#4!R}i!G&Lkb?I&f`K!MoNv{&xzN)^>L z#d23$l&C4plDiK(Vu;VahDQ9p8GJi<9X4dx@PF{~yp}nR<9XLF`64{;LbEf{-jA`@ z30$2?o_Fu2Z)&zb;H0ISbE!F(n{!dX$uRdB<}(hTy+Yvcb1O1mwsRX8{44VdJg;zQ zxEYxrGC^d9$P|$|TFoSpSt8T4nt37<MP`aj6`3nCS!A}zbggE-$b^v@BU47^j7%Dt zH8O2v-pIs}nIlt2=8jAr?d-W>`W$BdKmtexND5Yy1CoT*WPzk%HF+S3AekVkAh{sP zAlV@4Ao(B(AsHblSxrtzQdW}{l9tuvg(QY#hNOn%h9rk%hopz(ha`w(h@^<*h$Lw> zSt4m#O`b@iR+A}`Dv~RbERrpfE|M>jFp@EnGLkcrwAEydq-`~MBZ*s0=1A&D?nv@T o_DK3j{>UT1`A?q#qs^ls#XK5f{WIf};}c{3NlEcZ@rk2<0ei4<R{#J2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Knox b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Knox deleted file mode 100644 index cc785da97de0a5614613f9ba6e502d7dc5f525b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2437 zcmd_rUrg0y9LMo52q6eaCWd5SS}_9&Y$$E8wFP5`#6Nk!KM+Q0h-E%1kf_n))+8^Q zrA@&a>LQnGhSpSU3r(rDnlm&BQVB4LS;(VtK}zTJydN*KKlgpv@4U_qC|931-bH24 zPm{k~i2a0z+hrf#$7uUfzb{Ge{`7aXXLF?9yX%7b=5?PwJ9$u@EeSQ}^Uq7$#M9>c zw4>54jiw{IPCB~YGC%kZ>kB8=nv0z~^`-r9s?O#r{o|H3s;j<Gcb9opPj#lg?3u29 zDvsAz=4Y7RoDBJSMx5zOh?Bk><IGk2+po3`nO}N)<kz+q)Bk0QTsz*a1{%Ax*?me~ z-+EFHF0N5Ghf3vEpT`Whd*qL=5{<7ZQT!i77^#hrfSLgl`0{{^SRJl{N=E76IoH%( zPxR}Mly6nY8wolz>SGmp;5`X5Z>v#V+jV%yK@)MJLPs9kW=8MdCQ)_e=I$-!GN!7) z+*4K{V;82IXivI~dpy?MJ0(_PCe2XeM-EGD;CK~#BSzoXeM?Pfy{Yg2{E~`0bWz9e zJ+3BJj+O^D?NyWVugl~WpP2{K&dEc$yUoMVhb7^WO(wzDs;7i4F<FmRs_d+}D*Lyi zk~4Ls$vIaio`~7T^T`Iu?N2pNy}MJ-Y@4O>Hdg6bM^e=6qC!1q#~3v?BU3+JF{tKE zh}YiyHsu`-&;@Bts^ChTEQtHgEcilXq3?)U)X*b^owcUuwHA4%dA%uKx=$9@7nx`C zPU@1HD)rpd2EC-TP%Vwvte53vs%8Dlb!kGpDm|U6%R&NF*?}azqW7|TVTVUvJmWVj zD--3V#%{B!AVSpEQ)YGAfUH^dzF8aHD&@0lOu4ULSEe_p%FZ)-UCd^+uKAFz8d|Q_ z*KgMw+H=*$>I(fzQ<ADKp08i6jZ}dF_G?6tgSU773jUkV@BGv5)8K#j-hcYv{Qi%= z7V-O!9SjKa`#;<xBi;LO_Zr2kjJ^H&%sj6=nPs1O_L*;=IbO-O@3{c?3f_NT-#hk) z-TH=Z|1103{r=(+zCFkqkwqe_M3#xH6IrO!t`u1+vQ}iV$ZC=0I_-Lq1tTj)mW-?! zSv0b0WZB5Nk%c2GN0yGP9a%iGdSv-dyMCkqPFn$_1V{~#A|O>j%7D}XDFjjpq!dUk zkYXU!KvxdlP!G-)grg!zNjPeP6a}dYQWm5xPFonHGEQ3>j@lr_L8^n42dNKIAdU(l zCE}<NQY4NlA!XvI6H+LSN+G4<sFl+e3#k@TE~H*a!H|j}CF7_WQZ$aLA!XyJ8&Wuq z$~kT6klG=|L#pSr<>RQI(-x4Uf=*jPjv69GM5>6C5ve0mNTiZTDUn(t#YC#<wB<zV z>9hsqsHoGHl%u9dQ8}uLl$E2dNMSiDi<B0rEmB;hx=4AE`Z{fakqSF)iIEyRZIO{G zBW32OGg4@dN+YG_s5Me-j%p+2=BT&R796R#)0P~mxziRMsX9`2r0z)Jk;)^bM`|yw hy#I^bhuOad)9qh{q`b$HrzNK(<)x-3rzWR_{RxkBPOAU_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Marengo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Marengo deleted file mode 100644 index a23d7b7596fc3019a2b6847a7593007f985e7e13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1731 zcmdVaZD`F=0LStFwI^G~2u-aidm%M@z$8sgw$^ZGxR_y%$7?nm%nUR41sh5zZIWgp zk7=Gm5)w)hi{xRBr_mT^=EWrU?|hH&!V7unfBXMG|8Cpbi{JP73X0|ra{jm?%s1Rz zesl947ch^y1Brn>7rw~)s;+^(yB^D18-sy+37_S?S&{llQ*Ges;cfCo<%qz`oT2hn zVc)>(0kN_<JKcHHV~Bp+Ki+x!skd%1f34+ihkn=m!g+t<k#4<y&H1qXqW;*R0>N`} z+CAthr#7fP)z4L@l}d-mpa>P;WLTaO;Tg|lM9NhWv89iUj5#SIkL}P=x=Lgwm&vTm zQ6j7Tkj@@BQ)M@9);ZB5RnDmrJ-RhPjoH0Pj(w0JycNYV_iR5gZn{_I)r5-i>B(}! zie@n}uDkS2x+#2L+vVi6BVzLFZaP2yy2`)Srl$rEse=8DdRo(FHGTaVJ>yb|Dx6!Z zXV&E^;XN&9RTqod18d|QzgNtSE|>GNlf}H&0_pGHUHEUO%cAghQFJU`E^NLpife}J zk~?i`QCXZ`+|a0&ObTkb^^97Yru4EUwQ6~<tGaaDDpeYMCd-D^h_a?DvOKn2lwaB> zS9KJK)pZ->nuqD4qS7zdo{JZig*kHFPDga|m`_Nkh1Z{-u<&0W&#$-N-~H>G>o!C? zj_aO3?g@3>qxDW_``*PqV|Y3}UH8UiPwZH)&l#0z?uq7}V(vVjlV#qs%y(QK`vl+L zC%C};u$^GXkKZ!?f$J8A1nZGWBC|xMiOdt3C^A#4nJO|@WU|O?k?A7yMJ9~Q7@0CM zXRDbsGHa`uHZpHy;>gUAsUveoJ9%E1J(rn2Fn=TgBm*P`BnKo3Bnzua1Ifc`5<xOS zQbBUDnq-h{tR@{KAFD|S$p}da$q7jc$qGpe$qPvg$qY#i$<1n#L$b4)^pO0lCP5@a zBt;}gBuOMoBuykwBvB+&Bvm9=Bv~X|t4SBh*J=_*GPatOk(`mFk*txlk-U+_k<5|Q zk=&8wk?gG|eI$RYIRcPlz-o>H<TyZ%1msvijt1m-K#mCHm~iaD@PD2YQRetaGsj1w TcW~06q?AN&YHCtyQcBc!Z&+XJ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Petersburg b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Petersburg deleted file mode 100644 index f16cb30406e3b28e82ab528d0781280ab5f13a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1913 zcmdtiU1-&H9LMqBaZhgU_z)Gl7`w=e5$@3%L@YAe7^ggL=JBCr^S9DYYqNc=ZOt<M zUz95$qz9%%%!wAFnD*dPgqVp55tXB`0{auWhBfz_vszl`-}n6sqUfTF?)o48=k?#& z4(#Ih{-m1Q9++$XapmbJ++1CH^IRP0+rVpO!M1mPk-?4AgY7SWB_BSM2~N+xB&S>R z-M8sm!gJRb$#6rh`R=M4-AHMP8M%0^JFnk9|LLUre)t>n!y8|^(UT|4h3DUOWBbCu zZF^tFHy;l!Zg^EDI(G(_R`kh_jT?iXZf%pFD<2FlPffealWB8hB;kHNlQ6%Xn&UEu z=a^_$+?lO$6YCpuQyv>LS!)U<yLDQS({w>{=Zyw=Ri8-SbEQH4%r_-}?+#PoUXp3y zi$UQR`(6B4cQF0P3$CuRN9yYqO8vwk(@?(JH4JTXiTG_{;;jyM$LQ?v&R3q5`Jd0T z$#w0r;NW$(ad}dj`m^oA+Df^rd)O{2o+YWpr)=uVge<AqZI_&z;g*%0440i4cXwxY zh0QyM+&yPEh0C8h;O;%z5w@({;#LeS2yOChY3*yb_m%g{{pqA#8Sj-<4V8A)XtShC zXW8^ewbGV5VcYhW$V0=Q+4laMUB}1c;p(1Z_wc@<uyb+7$>sy$nwro((zzvk^qS+Y zt8s1EmHAqFZtAx^XWx_FqF&p3bcd{+Y_^XNJS|V0skQ6Yr{&4RC3byFLN;tQc1lcN zS=k;Q|N6@L+fRS~CP$xga{t3Cie4`_CW?;ik7Y;Eo<TF!KNtG<nY^2;qv(TUv7-6O zl)1f5??rkq)w?NW>h-x^KjVt|cS!yF8Sd6U_GftVk8kOJ5JfFnnL*@CBj*}9+sOGw z&Ny<;y?WM>^NyT(<lG}?A36VCZ2;-Ot1TcsAWa}$AZ;LhAdMiMAgv(1Ak84%AnhRi zAPsr7BcvsyC!{I#UGYF$T-p~GjUk<J(Hhbl(j3wq(w<lQLmKpIhg`IX^oTTxbcwWy z^oca;)lRu+)vLWC&3d(4q+O(6q+z6Eq-CUMq-msUq-~^cq;aoyj<oL8-jU|L+C9=f z(m%2R$POS|fb0RX3CJ!W+kor?vJuEmAY0+py+Ag@tGj`0hgbIl*$`w$kS#&>1lbg1 zSCDN%_66A(WM`1A@#@|no8#5pLAJ-M`-5x{vO~xgA$x>u60%FkHW|M^|ATQV(9NpR W%_>XYP%*cnsw`PuT~S?8Rq#9Z#I;iZ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Tell_City b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Tell_City deleted file mode 100644 index 0250bf90f8fc8716a77163e7c1b92663fc6d96f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1735 zcmdtiOGs2v7{Ku}X%8hMq{4;hqJ>10X)jtR1Sz65K5|l1v!|Jrc`Ow*v$F_o*CI%Z zm<-H_=tW@G!opsQ2uUNNAVy6K%{-}rLCo#^4+T++Xxn$W_jkRFyYGLz`K5bSh(9L8 zeBow_&CPqHG7n$7Tb;lARkk+HQy0#@kxx$qRPW*`*}Ee|_f<`b7wbl~-&dgeOTBWS zAyEycu95Fb68%F<BIIyNf_NXkN`Hun5+5cO>5<t&j69##qr(H@<IUH4?D0eK>0ZAa zzwTGM!lyr<>{b)UF3QRBHZ`@aNq)&_RDsS&?ObyFqB)>lP5u6)<<&AdDN80#-WDm# z%5+NK8Ic;6p;K=i5ou%bdc(P9wee-T^wig?^o}^0QCOfdPlwB_ghaKeYD#8DMl0{; zm(u&qrE*qx%ABDnkr(ws=RFc)OQ1vNw+)Dbw=KHx_(QR^t4<f~ZWr5pg?hWETkUA7 zl{=TUsa+)na(7sxDo#n1#bbL_NldgXd6uS1XS-zSRkzwVJSg{{P8A1w99>quR2;nC zugi17ggp5`SF9cvhsrPN!wa8_%8Vvm85mR5YujY?+a6UD(I{)WZmQbpy|T`CN*#HX zChHrj)X`42Y$(cA$6Dse87^}L1zULi{hB$;T)%((*S{U-+GQae=gtjRu;W~56?5$S zT>G5QQ!H?tC-+?uzy4;U$1Bz+nLFFux#rIFie&SiY`!rr`~3Oh{re*BF~7BoIQ`>4 z9WzBifmUQOk>x}d6j@SaQITb}nuSG{7Fk?md65N1mKa%NWSNnLMwS{`Y-G8uX2Fpq zx0*#qmK|AmWa*K`N0uK60Eqwz0f_+#0*L}`7`zY%V*&vpK|(=dv6^5QqOqEA7~-*- zfEXe|LPBCff<mG~!b0Lg0z)E0LPKJ+n&6P=tR_5$_^c*Ch6s@m8Dd0&WQY<8lOawd zP$W_$R3ug;SR`7j2^WdiY63<gwwjQUn313vqDI1Ih#Lu<A#x;ihS-td8KSqE@R9hf z<^Vtr0joI(ki!5u5RgLwIT(<`0XZO$LqgbN;eR+KLd{{a#vCec&&t>pv2kuse0*$t HY+UGfYubM# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vevay b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vevay deleted file mode 100644 index e934de61adb342d238789c5dab9155408f8cd778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1423 zcmdVZOGs2v0Eh8AI`)vPgaQ|Xi(ItP@ex9VfuSOn<8w5dOpm1vrsb(@8p~`JmF1@0 z7!hU^B}F8ZVJ)O0Du@V_A_(jh<W4wZ3nQA_`A*9gZQ67%=l(9k49w#D2Sc6v3!Fc$ z<>nI(SFJg``(oxXax*)2_3?K(dTw>>+U1Y(_4!0>I_sO9Zd<9p3~Y@hCVkqy<tk@5 zp*@42Rnl>#lVw79#ZQ@1qeN+LM3$A7h_b~oU7pjb%4ddjMcOu1alcz{pU+Y|u3V6n z?~6sCze`p<+#sr(1F|OW6}3gVvhLWNsQ0DIV8bgB{IMt-3vY|YuWNKu<_p#Id_nI@ zjH%F#8NGXUNHw3C(0iu3RZIJ@ZXKyoBJe=A4R(pWIdQo!91!hkQQ1+RD>~*wGQ2Te zgx?g&&Si_D^KPa*F!xS$#kc70w+rfE#HSD4n^8Rt2`w*9sKbRyAL$uZN7p~oz14lH zH}OeEHpfL|_Nk0!L`8J!y6jsDi4!Ad<;f34qJJPPPfccuftCt+`jR7(JmyaJCZ#O< zN4M*a7dwvYJ{tFUUH8tYv%<cwvd^_VoprAJ@`)#-G7xl1O3kS^XQw$eL8r{TmzmGF zJoX8}zeiDLzHFmd`u!{O4_vn;IWdYvf`o#^f&_y^gM?!>@gM=AjffXQ;xaJ-K_O8g zVIgrLfgzD0p;=9ANN`pY9TJ|^#D@fkM2Lil#E1lmM2Uon#EAroM2duJHL)VWT1~V_ zxK<M{5-<`m5;77q5;PJu5;hVy5;zh$5;_t)61>$!kA!bE@goDUnh_vFK*oR!0vQD| z3}hV0K#-9jLqW!Z4903kgAB)N#)AyVYDR<%2^kYIC}dQ~u#j;f19Se1g{7L|6`J8? T2R8W&{CU}d{Ct1DKQHwc0I<R? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vincennes b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Vincennes deleted file mode 100644 index adbdbeee629ea60b60c32d0742a9a69ab5990eba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1703 zcmdVaOKeP00Eh8ATF-a~>7wa^g-H5PR76HXv}uY_kMXLigSL}u>G7J>tL_5D#%?Mi zqoN)m4dQK4j|dVG(IP^^smBnMGlrxhnd^MVj)la|o!tAonY2w8|L+7#sw&4ge_TDy zH{4tm=H@-!HIL}gO!wfG@3LuUfA`S-XY%f@q}w*)t881=TeojWI1eX(&?>sv?WhXM zm-Um}S4HFH>(C_iW>lJt75bgGgU9K2BQu<LUxw-T=C8hg(4{}bUOFGoJk_1IZaSZ? zcF51Cl&jZ7b$ss)_sg~;GEv*?eqGuizZLIvlb6!9cg#~xV^aGXI#hm6SQg~ZmIaB6 zPGQz6UD&=y7xkN>iq6*PX`Lg~^aH!)jK`BjU`w@}d11IHE)B?8kyJ6;pCjjNh>5xB zgJf{t9TEJIkn{6Si1}{@=!F@#)WVx_y(oEHl{B~O#n1Ps((UK<lGYkkR^F(WMrSG! zI474iREy<V5xF815as>qWJO_)sOT(_p^<|`=$>Cz^+<@SmJGQv_DEDmChD5|akVO( zu2-LGSGDt!TJAls*5oO@wzg5N8+t>pFW#uuCtt|$gop?~zb@<2>O@`ZVY#uZL~M%g zkei?Q#g_Vz+<GZP)Rz^>ZTlS2&1XI-sTN*;|8(zRKITg+@Bi}gyq37*c;4mHzEsaU z+2r)H?|toaAWvtA=iR>MOPdi0I#ct_J=fd|%sngU6qxq{^BtGZJ|Xz`;Z>R+w!`cC z^;_mY@Vv5=WD_z(WQ@olkx?SUM8;_~14TxP3>6tGGFW7^$Z(PIA_GQ7j0_nWv(*e5 z8MW068yPn;aAf4j(2=ntgGWY>3?CUk5&#kb+7Ngl1}+l>5Cswj5{K0U!bK!j6ABWG z)dYh?gM@>`g9L;`goK2|gam~|g@lE~Wi^2zky%Y>NNiRU91<N89uglCAQB-GA`&AK zBoZYOCK4wSC=#jFgo?y!HNhg$T1~h}yhy-E#7M|U%t+8k)JWJ!+(_U^<W>_p61&v| zk3?@Z;Un=Q2LN&iAO`_*7$64%aws_V82BGgg+Au6$TNpUW?*dgnC#J+f!y5e-0abP Feggguh2;PM diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Winamac b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indiana/Winamac deleted file mode 100644 index b34f7b27eee88867fd131f0e9b87b4c3b4c071c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1787 zcmdVaNo-9~7{KxKw8j_{#G-kGg-x|eipY}?ZJOd4UkxpFj7_yTrlvL2U6?o6w1`xN z7()p)MH)nqh=^9HsZI?gr5tKek-Y2tk0pu3&bhhwck}XI@)qC!i)7|59wL4_?d>Pr zoIHE;9_QId*^zkfz?JW+d`nmF;J#<-?zX5`J>Z+Fp4ZXTtZ5MsM}IK28MWe3zkB9! z@<mZ6D$J8!d&LvI+dPd{de5${GSBNvy%)!KsrsrS@8$NDN|$AM4Y?8Zs(6(5I(?XW zlik;QJ0oNo(?a6i@Su4=Feu)C?QNRuzi4{UYCbf+5+Bb#HO;qfich<*n$H#5i(ZN| z{!w3x(x?e+ZO|!+1u8XVib`#{DAESa)oC?5OnR3wI{jR}8P_~OkKeytO?Wg~hS%q* zi5L3INwdRha!IV55=vB4*EGs$aXnNd<Bp8{Xi?LXPsr(SyP286TYBcrFJ@Nsn9e+0 zW3uXZ=-Hbp&77)yoxQNs%q^R!W%#_Bw>3}BA5@|i<b>tIE`@4QTB2OkoT+jK_K-RE zLMpdii_AS0R7)CbWnRfhlYjq<URn@mmQ~c~<rz_<c2?>Y$=a-3UaD91x?xsND$=W? zFIB;a5?N4xT^05zl!aA?R8ecDTwAtTt*Z;k^~E`A!=<1s&Q4bw_Xyc0V6T{12d{s= z+P1S-pbgJ|zkL7neIb1R@|i%a@1HCe9o&0o_w3G7^z{AP*8+Vegd<{XioK`VdxpIy zM?|W9Pqm+M0`3WszmH|U{jwX&)?dG}|G@XNW1{8Am?EQ!j4Lv-$k-yI>$KyGj4(3B z$S5P@jEpog*2ri(?RX<2j*K}n>d3ewBae(dGWy8)BMBfGASoa@AW0xuAZa*l9!Mfi zn+cK%k_(ayk`0m$x_o#cA&$)mND0XaNy=%n;*gfp=7l8Yw3#8PA-N&RA=x46A^9N* zA{innA~_;SI&GFnnogT1lBm;WilmC<iX@9<i=>O>izJL>jHHa@j3kX@jil|gc_WEC zZRSYoPMbTDJd!<<K9WDO0+2O;tO8^mAS(e`3&?74+Vy~}2&Y{W$f|JKb%Cr5WNjd; s16d!)3PIKgvPy(o9{=wy>10<-vRyIp;h_mb5(dYIladmW5(anr2@}h^zW@LL diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indianapolis b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Indianapolis deleted file mode 100644 index 4a92c06593d33d3969756f482e5d3d4b773984ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1675 zcmdVaT}+K}0LSs?kk@(LFc&RW7jAmD%q$zL)}m8hP9)@yXes=a&Q2uH1yVP-Da?{F zud{4KTr|uuW;Thu)jw}D*7heCne9CO-+%60xN+k-d!Em8&Q9xG{Ju}1pk!mR^T#p5 ze8S1G-kjV=y5`b!I@UdY<A-eCH_knA^p$+DJlcKGl_?+Y54%rdzRM?TN9m5re&^}D zFS;|Y(|I=ik$#?X&FOMl^oz+yoEPelei?3cU)`+Gue%%FH|Gw@?)ECTr><P8rj>4Q zNkG1>nd`pGnkC;CPIEtfo1#CP{~m6O)ZQ6SIgMfMtL;_k2|<~Wo+dK-&+5#$H7c{C zUT2M+ud*(e=>>f;YT>aunf+{@@K=}0oU73yca>i*YKRbvQxoKp%8z1c<U|?ByDtJi z`{lBf^J3YD@j5^1uFAjjRj&x2RRyOy^vdpfwQ5hRUfo`%3X2-`nx-5j{8!}K+ETGD zu0gIZ_KTviA-N$lL2T$Nki|15isDD9vSfI_D7hFVH+}3Br44g*+2gNjb1+hGY3Wc~ z^TJvlXjR)%lrG=es46Dk*4uNd)b?<X49;#4!R}i!G&Lkb?I&f`K!MoNv{&xzN)^>L z#d23$l&C4plDiK(Vu;VahDQ9p8GJi<9X4dx@PF{~yp}nR<9XLF`64{;LbEf{-jA`@ z30$2?o_Fu2Z)&zb;H0ISbE!F(n{!dX$uRdB<}(hTy+Yvcb1O1mwsRX8{44VdJg;zQ zxEYxrGC^d9$P|$|TFoSpSt8T4nt37<MP`aj6`3nCS!A}zbggE-$b^v@BU47^j7%Dt zH8O2v-pIs}nIlt2=8jAr?d-W>`W$BdKmtexND5Yy1CoT*WPzk%HF+S3AekVkAh{sP zAlV@4Ao(B(AsHblSxrtzQdW}{l9tuvg(QY#hNOn%h9rk%hopz(ha`w(h@^<*h$Lw> zSt4m#O`b@iR+A}`Dv~RbERrpfE|M>jFp@EnGLkcrwAEydq-`~MBZ*s0=1A&D?nv@T o_DK3j{>UT1`A?q#qs^ls#XK5f{WIf};}c{3NlEcZ@rk2<0ei4<R{#J2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Inuvik b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Inuvik deleted file mode 100644 index 1388e8a4d93dc8e04680aa2aa9e33f32495e26fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1928 zcmdVaT}%~Z9LMoT(u}jv#}#IRN>m;p&f$QPfUhNVLOMctBs9X8z|+wR-*)B;;@?GM zT=AbV)}}IDH7{Ce>ROu{%{9Er=5TAhEbP6_)M;JFW^sDH&)T}^$}8ue9X@Al+&$l4 zd`)s=srlbcaDU;$?Q$Q!XN&vw{k<#XX7MXBI;YP}>CwCglCAc^)lrjO^NgKZQD7b_ zm}95qSIfhh0Xsb-DAWI#tvNqtO78G|I^*o`GV`O$I_v0p$xF?!kL*7#`K!|Q(M_M5 z$I5=Nk1zkw%+CJI1`E{$$1Z6>V4EozIje=2<K~IMceLo@76}c!so_%%Qrwx)$XoNI zB++F{w@;P1(T#Rq!>E)6pS4exek1cI7TWTho2LA?`)$RouTAB-Yj(l6XUxJA0bO+F zuvy%DMVB1hXO^~qp-*)kl&9-X=(5(mQdN9FtE<*Z^`ApF8tO37i^ptDR*R`Q)nk`m zU219%y{FH8*(|Y+Ze8*5VySCRYJGp6JioA38&VmvGB>30RX<DougTh2c1{|9DY8v7 ze=<!&lkDoTA+zS)>-NQwW2U)l*uFH_V_I5I+qDCm&AQkHUEkd;8$u`b<wR0iv--3x zS}Sc=Q<?~dByqk;lM^RP@`Fm<^y>}T-2Z}o^};0cTB^dne*C&=Z_Ke<dWX%{vcK)N z_S0s2_9eTcuHWn!yQQh}lad<wPIpf0lbwT~>aNk0>>fC(d%kLtj?Oo9?<bYg+0v%_ z-p&=1F)rht@ps_Iy)Ad?^!rD~jZde0#bl<_ht*{Hzf1{5BBs8oDsJjm#!ZZm`~Kg> zZ{rn@{`+rfcf4lgMI*18<7FeS8+qXzuN-;l9IqXD@yM%3UcT48exv}T0;B|_2BZk2 z3Zx9A4x|u{N{~`GYC($ex@wSeysjRkAdZTVl8~B^qL8YPvXHuv!jQ_4(vaGa;*jc) z^1QA-q(F`ekrFv-M2h675-F3TPNYzzQlwO*R-{<3s}?EO>*_@c_PUCZk~wNdibkqN z%0}u&3P&nON=Ir(iubzek@CH+eq;f>ZUvAf;8+7>5ja)>Sq6@EKo){yC6J{+)&f}! zWHpfG@VfOt7R2jT1X&WVTN7kakX1pJg=1Zih2dBkWNA3o23Z`A)j^iW>(&QZAg@~? wWQn|PjgUn`RtZ@qWSx+OLRJdz-lYn-@tW_(t0*=%TpErP#Y#%TCE-ZmA5g@<L;wH) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Iqaluit b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Iqaluit deleted file mode 100644 index 0785ac576173f7b7a5e7c2740df5f1f3492a4950..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2046 zcmd_qe@xVM9LMqR5ve<6jTME8m{8Fn+#T2{8kq*{cG?N)VM?ZN4ZEFCd{VpNkB~N- z%YU4+VOx#m`Y~5)WM-?iu`Fk;Riez+s?n#m_@hPpC~mRX?%U`2>Bm3)Lx1<ZeZP<I zzI?gA?)gf!Wge~d{&fWH6Hbo3_T+v+uf2TUd7}4H`89P(CiQQT<t-C;W`=Ie#LZ0` zD|JyKWNuzMOWzWjX^P82GJD3DnUgnD=3EV`xj&3a$;DsPyt5ai^wgJX{)tm^Yt}Oh zo<1gJtv{Ob9RvEd*g13is-yajqSs7C<t|;3`&fm7tvWRFs;c~XiC#E(NL3A|q`E(& z!lxHYq-V8?9xIlbblTMJ{9P8s6Xve9-$|@up;=rzC`+ann7X;&=(^FIw{-F|v+Vpu zbN9FXx_;nSb<YRAdijwdb?*z?^op*x)yjhh<i6(TR73k#X^do5Q)7cPjh{5}>Mc4x zeApxkR_es*PP1yPT(5rdS#|$cD<rwUL#=tYOqw?(RZCyKJWwA|Yo8pIbtQ!=)%vNV zCdbwK*z2<XryI<M((`)5xhrO4?xb#eW!OA4a#(LVc*Z<D*r_+SA2(b2*Jw$;qqZLE zkZsj{>XCF(+6%hX_IO0LkF}|EMWLj>s8^Y3<C1x^RP7kOEFFEzOy`9w`mt<@d3<14 zceUn>I&wxo5z}U8*Kxh8=p(bcd5_+m`(9=1`XoDYR&^J5OZVW*YR^QQ?CpO>?fbf3 z_V=XKQ}2~Z&*p?W@VqD9^?|(W^75zlnKpfD?@j3~`vbFw?|<@PAm8`jf6JTU`<I6T zv)q$HcP;Y$H(v5)^Vh(<zn}AFbu{WVwWPeJb@ps*<YLbUQ(l98&|vSqz@J}lum9Yo z{=?6I;;(=A?Lh`e3Qn5?k_3_kuagFn2a*Vq36ctu3z7_yjnk%s<bx!HWQ3%I<b))J zWQC-K<b@=LWQL@M<mR-=A=x=?dPsgqf=Gr)ib#$~l1P?Fnn<2VqDZDlsz|O#vPia0 zn=S|WA_*fIBPk;}BS|A!BWWXfBZ(uKBdH^~J8kkv_D-8VlE2eV05Su}6d-eeOad|s z$TT4HfJ_836UbB`bK$g;fy{=}P6sj{PCFsUj385j%n33n$gCjKg3JptG04myQ-jP6 zGC9cXIPLTx^W(G=gv^lBP7yLk$Rr`NgiI4MPsl_eGlfhQGFQlCA+zPQ(}m2J(@q#N vV@^9|$ebaQhRhl=ZOFVK6Nmq^nG4!cjM+V`N-hf5hND%<nwoG;I2!x|P;*0t diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Jamaica b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Jamaica deleted file mode 100644 index 006689bc895854db5deb33a29ff5d99c6c205fc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507 zcmb`DJx{_=6hL2r1ZXSNFAztZ%4p)iu2F+bbkV7cm~LI2B*Bj`IO*bQSQtzk7-VDf zH@Lk&VDd(`$34|e6BloD-)WjQ={eC^(%)4-rXWvPrY6gMFp%S+I<>|7Mp_QWarx!Z zxaKzY^iAr2JnNPDMOv9%>*{1^f~US-9i5xC%Oky>9GZ>Omfk!LO|9+gdgz(0W*9e0 zpJqGf#ZE5&%Vq7Gqf~Yltew58lC|%1$3N*tsv~>QliiQxpS~vg+oUdUW+sd8Z>&sm zw{rzC<1uy+!;E4HF@@Mdj3L$#bBH~p0Hgw>1f&L}2&4+645SXE5Tp{Ml=`1kuC&{8 Em)X2_LjV8( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Jujuy b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Jujuy deleted file mode 100644 index a74ba046226060a01c6255b6714a40211f739a24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1081 zcmc)IPe{{Y9LMqBa@HCi1_eb#2r1?wcu?1(G@jT&h<34o;Hg6dK~QwaAj-OQh+q&S z2ozUdqn-}dP|GKm%{<6pMnoM(MYkkkjrGr`@B4uc(V=eremr~q7(4vf=bafkeyl6_ z<60}<aJYKq@VxP&eB8R0Rrk*g=m%S#nZmZLE-ar?Q=87)smTd5-MFV`uD?(ZU%s=C z&PL7b^k!{`vgYyFn4a5LRK*Kr`($g~%pVEs`PH~89Z1?z^{!gDl+%mpn`Uw4vRz6$ zwPZfnN@v0>r;gfMUqsc$>-KZ=303ck>H7O|)7X%*jZ#H@sSWF|mEGoBF=4;Y99BPW z59rm=gmPDV^ty?ICen5?zdbi;+G4qUd-9WM|9B?f5g)W2Z(f-lD_3-<*_)47D{AMB z!PaE`so66dH~quwP5<kW))D7iXid{U-pyfd`7t)hX?AXIAqbo+mV>Z!B^yMXdtMH; zIQO<1it!w@97<<`l$>3vM^3k#-<QbzeVe{t+ce~XOJ3WZ9=%gQwnFwoHbZvv%67<p zUfB@Y5!n*i6WJ8m71<Wq7uguu8QB`y+bf$RyL)AOWPhXquXKR4;FTVbCXg<WHoVdY z(g@OtS6V@O@k%pDH%L23KS)DJN9bGPL3-l9r75H<q%EW`q%p5_hP39D-jL>y?vVD7 c{*VTd4v`kU(j$(@s|5c$%4n~oy1zU66E?ExkN^Mx diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Juneau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Juneau deleted file mode 100644 index d00668ad189cc7627b9301e08c00d84f1688ab92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2362 zcmciCZA{fw0LSrr5xCqd)GZ+qiH=Voj~=e^RFt6@Arct3n-Ezfc88UqFovR}rX#nC zi){{P(Q%Hgw$wA-O4q{DxwcG3u=Ow(rCYO{y4KTdB)9WDwDlt1=Kt>eKZpN#`}_Lq znx6AH{`0ua7Y<L4IowmXo7cHLNor)?Z!IGYsosebWg`4ehS$-TE}XB#dLuffi)kAd zh9Vo%RMaX@D7wV0T=Htj_1ZG!_6~*IhffL5&pI^y`=cuMoAchdk9*Z^Cy#n>fA@&+ z?(g;9u_q+%+}!G&(X>g#*RB-_<$iHjQGs`6dcH`UTN9e)P83NId7-4tcyH1#OZDta z3smyRe0}$6mr6Mnt?xPblM?Mka?Xx(YHnb*oVWf*F+cC7T(IIZk(%(GOv`vrq)m+L zbkFM|ee7GEaiv9M4xZ9kqpzy${)0N__y)D8>t!w9s8+c_C4H?vwYY4jytgJ^<)t;s zeBU3c!1b^!Or9YMFE5lu<G+jhKK01^FMK76b*g^g!;|8{P>f!3;DC6j`HC*t^?_Pi z^|@ZwxL=hnI--}CcB<vSUX*3oeWGmij4Y4aBFc{s$Q9S>Ma7$+=#^h~sLHK}^rP?B zsjB+jx_V!+T2&m>kF}?$n&fir4>*+nuS^}tyQBg?JR(=8gvIK!8M1cbqNp2)l~0bH z5%s&S%clkh#G1xo`E-A`c&75IZs<Owp3NT8YlFL0W1QCO%7SX$wY@r+R<45Q+jNsF zQ#Bn9==GQ5)bsmV<qN|Z;>GsI<pv!qnga#0rRTcXm_JKyY91D?3FES@>X>K?&(!UO zL#lo3Pu-EIRmb23z4^vowWa?f-T8H!+S>KD-gY9Oy4LK_FZC5FXT&sT<dnat$*<8d zu3PvEhj)xS9N}=!c1L75{8q>rW8bm%?d7{O-uzFCBhlWI?S0P5O24DJ#+)b2sWzw7 z@2KUNZzUDxQc_`V=5g}knY{R?9+}7d1Ba*A9PX(%_{%(D^DH@i^9$V8?K_K%4;i4< zj1cV*xiCf^Ge}^R$S{#{A_GN6iVPJQtJMq^8Lia}7a1=yU}VI|kdZMXgGNS;3>z6Y zGH_(%$k36oBZEgqj|?9fztsf5Y9fGy0Eqz-1SASb7?3z1fj}aGgaU~L5)337NI0w} z9!Nl}CL%~kkeDDrL85|$1&Iq17$h=CXpq<-!9k*fga?Ta5+JLI5E3FJMo5s5C?R1& z;)DbWi4+nlBvweUkZ2*{vYL1y0kfKjAtAGxm?1$!qK1SGi5n6)ByvdTkk}!?L!yU- z&uZd_1kh?Ch=kB;Vu%D0i6Rn4B#uZRkw_w;L}G~q6Nx4gP9&a4K&>XCNJy<Frbtk& zCaOqSk+>p(MIwuY7KtqqTqL?kc#-%b0k)b5BO$h$7$ZTpnkXY-M&gVF8i_O#Y9!W3 zupOq@kr7c-{-P(py4*3h@aJ%hc9O;aHQfJ}`=6VKq!$tQtjfhXz8slVnVXxFn<G7c E1GEiWo&W#< diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Louisville b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Louisville deleted file mode 100644 index fdf2e88b48cecddf4eafa6d8a41ba7363e4874d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2781 zcmd_re@s<n9LMp4A_$5~`2!WNr4>VwUxvTJ(v;m$ubN&=(eTmKJJj-<7(p4{=C5>X z+H_FXNJ~v?j?`>gjntSqTbVMQh2aAwm5DxPE6cpM=Y1;X)*t=XKb^aCUeC^8@XvjJ z{P~6RGM#^1(e@2D*B*OwP7K;d<@S`|tMC0Pn^$!RZrM~PTZ?{iwsnn{V{zky$If`= zljlOglYM`Zle1#X$+`+vyER5m<(+cs4i=fS^%cRdcCMHD>eAr3HH$@8P7gK|`lYdK zc<}4oLGn#O@8J351ZnbSJKqlWnD3H2&iCCMbHV=g3qLoSADSASi>GT$^N||o(uWOl zxk?9(XTAJ>W|+Bgw3iO;Pc-2-!rG|_nTXX5y491~w3d*HR5zr}M6IGmoRjGE!z%ju z?h?~!kHqZSXkyJO)lRRJ_FufF;|>O-!+{mL<Id%#(@XPo{F=GumeL3Gt%Y9Gd0Ic+ zB{$i09ok-ZOKxWp`XsCFZJSMxR_#=eA7iCwL$gXeaZ!35I<7psKa<{DcB|Wp9drA$ z8&sdXM$>nGmA)gZ#@spP1$|eS?Ix*TkxmMIB+0RPI=OzE^t&)v_pe?pDYbqzpt4X> z_YP8NWn(3MLxRc(1We}Q-_$^FuDN^CS(TO4-wevER)eGC%#fa6>LE>+&Cu%~=wU}r zn0x9fb#~Py8UB7y-@EQ}x$ouKdc>kVGIGT-b^nBoGHT8&H9D<Waz>9*IahZW?|_-w zTf5fe#*Ngudl#B9&3*OQSJue5(<78`=>i%5ZXY#ahEFDzN2&+2(`3>UO=@yty!i8u zD*yGXG9~LxHRXIqGu3lMPp!FPriFIs{H?WSdi`2GW5qu6aP>l6FsH)ItQ@bE?;V-7 zdV!ifpj;ja_|%-Z5}E5wQ*)d1C6E-a0-t6}VboPsxXUB+n@*_(<-^Rv<5%>f#fj#z zs#?7$FJxrhKK*!>Hj5Wk=%Ox%&5{YFdP(S<6b~s^#r21zB%wr=RKG5z*Yed<l`G}x zGudisSwNoI?@?t1xw7m<N41Lh>(e^2<@ooj7TZMK^oh9XeDnMN>KqPNZE~D&_`ur{ zk>T)Lo1M1qxxM@B#M9{<4u5<wB4M1*?~EF4@5%Ol$leqEPL4h2*mqnJ?i2j~{>|TO zf7t!zU;Fd7?0*mr7qkv-MoNIx04V}e1*8l}9gsq}+Dag$Kx*M?i{Wakfs_NO2T~BE zB1lP)njl3%s)CdSsS8pVq%ufpklG-{L8^n42dR&%Ef7*6q(n%KkRl;fLdt~H2`Lo1 zmEu6DxNNO}Vj<N+%7xSmDHu{Qq-3tPW=PRoZPk#nA$3Cvhg1$J9a1}_cu4h-@*(v@ z3W!t?DIrorq=-lrkutj4IwFNcDv6X5sU=cOq?$-Mk$NHpMJkGv6sajvR99P7q^z#C zu1H~#$|9vjYKs&XsV-7pq`pXjkqRRvMrw={8L2W-W>;Hhq|ivEky0bIMv9G88!0zZ zZ=~Qz#gURDHAjl>YO9Wv-PP6|DZHz#JW_h3_DJ!O>LcYx>W?e{vI58wAZvguf~#Ex zWEouTIv@+-YF7eT3S=#i#XwdASq@}9kOe_j1X&VfO^`)FRs~rWSGz9A!noR%L6*kV zt_`v{$m$@=gRBp-K*$OqON6WuvPj4(A<N`y*9loDSG!WkQn}i-LKX{IEo8Zn^+Fa5 mSuteEoR<CiUr$-AUAQc}a4EilshO$iDZY%1)Qr^h*gpU+Ex#TB diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Monticello b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kentucky/Monticello deleted file mode 100644 index 60991aa38f5ca016d9f87bd6cb5b436ec799a10c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2361 zcmd_qUrd#C9LMn=f8?JaP*R9Q1tmlNV<Zw428>}IAw3X~;R9j}q4=42gfe{GEYq#I zDWd%u!fcIdPLgO^i?lU!{aGTb*(`dxh&4C#M|5Ff=jr$Ub=gH*>#pzFb6yWlHf}y| zZ++_%dE##us{e(D>(vkMiMIage<Q;_`u=Zn;DrVD;47Eq=P&y0iz&a#i;dyx#-$4J z$N6;SKb0=rp(rJeM2Ubs*Hqy4Ya(b%qzrDHZ_lf`Dnp8=?a-VHGW4ZXJ3Qv33_pHM zM5tal-#KVUemkt9&TO+6oIaqU-#j2<UhY(}dppHV-8Jgw)*7*}u0X|A6o^|^B&b`{ z5=4CRa=9q%hDZopBols#w-^67Clkkiw{JW9y-a%NJNx#*kK`S`XmRJRL77}VBT_bh zsP4+25O=RSs+Po!iqxgMRH}d6PK(&6(k4gjrB}*S`q&{mW1>lB_HVbdMoMLNPo14} zaEZ)q@rk^xVRBh{t+;3H6`7w}DDKVsLM{(Y6a|ZaRs~ajv10BsRd{Y(-FLa)DLQdg z-v5E^Jh1<QeDKvKr?}&!T)BIv^-yK6ENO1EO0#{kthB@`n;lZ+nH!w)iG8XfYNb;# z(ymrbr#KJ4wpXtHrr7fAXp?K+OSUT4dt_B#u=Pk$wp_by%37BgE4|g{E$`f{tjT}N zs`)8e)h3;DYCoA#b^alz{`Cp<*yKKE{q9lq_*lEs(0o{J=wIVlo_A&Ao;Ir~vrlep z@mS4KU2;=-wzX-xUbdvhS}k7|$<~lrtMz!2+&uNQ)z(+2+P|7{p7bTEr%p^b9o2p% z_m4VT@*VYb$6;q{+{dc3vfJtO{~&z@eU@+Xtn7;Kvbx5O$?og*)-(Oj%V#eYSvz`K z<a4Kzte%Dnx$}sy0t56XDA>U3zy5^G`_DeEJKQOR>z*DC2zK4K2Sk{8k2K#guKVek zfQ7t^_|+b-C@Iy?I{iGVpDM2?(?6H#pSb|@4c>p=*dhI&&Bm_(^;`NcaNUL={{XT% zWOvB+ko_SWM0RM@TSWGVY!b~bd10HJ-Y3UKk)3jE71=AYS!B1!c8z+!$cBx2#~fQm z_Ka*A*)_6lWZxVcM|RG!b!6`xn@4ufv3+F!91TD^z|jJu?g7#SqzgzJkUk)dKsv$E z3Zxet%|N=r(GH{^91St*jvy^D>YgA?LArvp1?daY7^E{uYmnY>GzaMpM|+U|a5M<% z5J!uQx<?#MLb`;s3F#BkD5O(JtB_tH%|g0`v<vAM(lDd$7}7GM?itcFqwX5gHl%Mz z<B-lFtwVZ;G!N+>(mterNCS<!gGdXFx`#*;jk=3S8<9RDjYK+$v=Zqh(oCeANIQ{! zA`L}4inP?Idx|vGsJn`^)u{W5G#2SB(psdqNOO_yBJD-`i!>PNFw$b9?lID2qwX@& zW~1&i(rBd9NUM=vBh5y-jkH^sTK^B?9ie-kue+Y%S(cTTm6PGg&CSZq%8B?BJN%qm diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Knox_IN b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Knox_IN deleted file mode 100644 index cc785da97de0a5614613f9ba6e502d7dc5f525b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2437 zcmd_rUrg0y9LMo52q6eaCWd5SS}_9&Y$$E8wFP5`#6Nk!KM+Q0h-E%1kf_n))+8^Q zrA@&a>LQnGhSpSU3r(rDnlm&BQVB4LS;(VtK}zTJydN*KKlgpv@4U_qC|931-bH24 zPm{k~i2a0z+hrf#$7uUfzb{Ge{`7aXXLF?9yX%7b=5?PwJ9$u@EeSQ}^Uq7$#M9>c zw4>54jiw{IPCB~YGC%kZ>kB8=nv0z~^`-r9s?O#r{o|H3s;j<Gcb9opPj#lg?3u29 zDvsAz=4Y7RoDBJSMx5zOh?Bk><IGk2+po3`nO}N)<kz+q)Bk0QTsz*a1{%Ax*?me~ z-+EFHF0N5Ghf3vEpT`Whd*qL=5{<7ZQT!i77^#hrfSLgl`0{{^SRJl{N=E76IoH%( zPxR}Mly6nY8wolz>SGmp;5`X5Z>v#V+jV%yK@)MJLPs9kW=8MdCQ)_e=I$-!GN!7) z+*4K{V;82IXivI~dpy?MJ0(_PCe2XeM-EGD;CK~#BSzoXeM?Pfy{Yg2{E~`0bWz9e zJ+3BJj+O^D?NyWVugl~WpP2{K&dEc$yUoMVhb7^WO(wzDs;7i4F<FmRs_d+}D*Lyi zk~4Ls$vIaio`~7T^T`Iu?N2pNy}MJ-Y@4O>Hdg6bM^e=6qC!1q#~3v?BU3+JF{tKE zh}YiyHsu`-&;@Bts^ChTEQtHgEcilXq3?)U)X*b^owcUuwHA4%dA%uKx=$9@7nx`C zPU@1HD)rpd2EC-TP%Vwvte53vs%8Dlb!kGpDm|U6%R&NF*?}azqW7|TVTVUvJmWVj zD--3V#%{B!AVSpEQ)YGAfUH^dzF8aHD&@0lOu4ULSEe_p%FZ)-UCd^+uKAFz8d|Q_ z*KgMw+H=*$>I(fzQ<ADKp08i6jZ}dF_G?6tgSU773jUkV@BGv5)8K#j-hcYv{Qi%= z7V-O!9SjKa`#;<xBi;LO_Zr2kjJ^H&%sj6=nPs1O_L*;=IbO-O@3{c?3f_NT-#hk) z-TH=Z|1103{r=(+zCFkqkwqe_M3#xH6IrO!t`u1+vQ}iV$ZC=0I_-Lq1tTj)mW-?! zSv0b0WZB5Nk%c2GN0yGP9a%iGdSv-dyMCkqPFn$_1V{~#A|O>j%7D}XDFjjpq!dUk zkYXU!KvxdlP!G-)grg!zNjPeP6a}dYQWm5xPFonHGEQ3>j@lr_L8^n42dNKIAdU(l zCE}<NQY4NlA!XvI6H+LSN+G4<sFl+e3#k@TE~H*a!H|j}CF7_WQZ$aLA!XyJ8&Wuq z$~kT6klG=|L#pSr<>RQI(-x4Uf=*jPjv69GM5>6C5ve0mNTiZTDUn(t#YC#<wB<zV z>9hsqsHoGHl%u9dQ8}uLl$E2dNMSiDi<B0rEmB;hx=4AE`Z{fakqSF)iIEyRZIO{G zBW32OGg4@dN+YG_s5Me-j%p+2=BT&R796R#)0P~mxziRMsX9`2r0z)Jk;)^bM`|yw hy#I^bhuOad)9qh{q`b$HrzNK(<)x-3rzWR_{RxkBPOAU_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kralendijk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Kralendijk deleted file mode 100644 index d308336bec9a539742ca3885c44a4d3c5a674463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWHE%1kq2zyQoZ5fBCe7@MyF$eApsr~GZk8xICXrvLx<$1*Vd|9@Zy1Iz#a#}6=Y r`S^w~=o*+98!$Kqhk&#KK?n&J{D5cyn)&}f$RZF;l4V>#dri0im60!* diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/La_Paz b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/La_Paz deleted file mode 100644 index bc3df523516d19191aa9d9b88ecc97c3ea1acd4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmWHE%1kq2zyK^j5fBCe7+atL$k`z`?a7XJSFhCn|NozniJAHT{{u1%3}BMw|NnD3 zj2!>}A3wmr<Kr8`;0(l0!66K~1|}eLz#xRMeXKx*AUg$qK(qi&|NlR;T{;CsgX{;> WKsSJ->wz2wavZ{C19X<12^Rnvh($mE diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Lima b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Lima deleted file mode 100644 index 44280a5c13866d06e34821f8d276178b14d97f21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmWHE%1kq2zyK^j5fBCeK_CXPc^ZI3Pl>~o!{@yMj<`N{II8b;;h4Pcf#du-7moku zKOiS@BtWh|)<OQ~_X`RI6Aq}(dwfAnwB~@WDszDD>^Tng|NsAIWM)Ev%>VyyKf=HO zB-en*;|Ca7{{P>(fq}!vH-tggzyyd*f!0Dm2w}$x0abz>`va;6Xy^aTcI7=F8svBo z4e|hp26+NRgFFJFL7oB8AP<3Qpr=5_fIJ4Kft~}=AP<6QkS9Sj$fF<{<XI36@-UbN WdKyI60}W%K$md)(z;LiL<pKbPQHQty diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Los_Angeles b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Los_Angeles deleted file mode 100644 index c0ce4402f60a135017d49933afdbee55916b9be3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2845 zcmd_rdra0<9LMnoMG+J|nJ5w3NlgR+0Y&jr=52tAs33_MUJ@9lp+cx-NQ*LS#+S@X zH#(ZNTp60PSrnlyS8J9*bKWAdRHotuE%DOxbl&IR{^;-4d3JuU-=4vr&-;@(yC5&Y z^N-WPe#7N_W-sqO%Iu@+y%h6yO^BH1qs-RVugiDq!c2X?YfJ0r4^T(E#dD69?Udu* zujE9XsFRKF%FjDKl*Zb%^2@rHrKzewel1ukr%ETwZ>cln_na6x9XV9aBu`RjyH8im z5z(r-b%;6_&{dtQ4^ijOTviu$Uso*$>(#}|W9m}%MY+7JMqQ~mEUjzy%hke<<=WhL z<d5`M<<BwC$@Re{(l&6Ly3uWx-0W1YZnizEZ#Czs+edTtU*DuC@4jU1dp}BfwnS>b z7rLl+D?97<%La=7{0P%wdXRJ+8)yRJE=a)o@g`7xFM&J1)IpbbN#~|&)8*J96<k+o zx_(-%y6yN#tJf;k9qUAQUsa^;ELg64WY1I~shPUxh~cVN<S-rDH$(0U4Ao)n5+$s4 zsJZ)8FA1;jX?pL!A$@kYnR~XL5M44z-}}rL(l;wu_gi#a^-sK{@0;|w8W8fMj)<yK z5#AOP8C0es8-FlS=N70zwYyDpL#f16Z7{KW=E>mFCrsRiaT1^ZicTo%FGG@x_0Wut zk{FSthb1)2@PH(p6y8B4oek3?Zk<&l58l?JPJF9I?+P{d*L<KJsJLmyys=(ASa{Nm zE#D#I(reB5g)hm3!NyFSutX+aZP3XvFRJ8*y*f2`u}a;uSx;)2swTg=$4oi0NYYks zG*dsBBI$Ehm}#40W%}rBGowUFM))X`IkQzVZ}&D?i9bo!>5+O?pDSwC*Wo(b+n{D| z_v(im_o_MNP5P1A%_?W%0X?^Bm715<Xy&ioC<|ih%%k}$WMS|&lbf6^xh>@;KVp>R zAIdWY0llSQXNp;L#wU+$%GHYxhpQze$@=kXuPV%n)JrRx)Usin_42|4swkvI7pHGm z#lApOl2j)pjpxnE&~37^_K;cCRxVFgRhy@d=E>^PO7rx-6e-OqGHbR(NjpFLY47jg z^}qA+`6>r^JU-uB;^*)4Rg`%;x%V#asivf5dZtaVH^bhC?46crf6*R~pL=BfdkJdn zAG#8>@gMg1?8)&Dt3%3w)B!03QVFCKNG+VU7)Ujcav=3U3W8JwDG5>&q$o&Lkg_0k zK?;LZ1}P0v8>Bc$b)2?5NPV2PKuCp<5+OB0iiA`NDHBpBq)<qukWwMFLW+e{3n>>; zFQi~jTQQ_$NX?L<p{p7%l#OHS1{4md98x-@c1ZD%>LKNG+WH{{blM6cB}8h76cMQ+ zQbweXNFk9*BBexXi4+s5CQ?qMo=8EFiXtU-+L|IoMXHLF6{#yySfsK@X_49@#YL)% zlozQlQeda8Fj8Wttuaz$q{>K{kvb!VMk<Yz8mTo>Y^2&qxsiG!1xG55l-y}+juaiK zI#PC|?nvR0$|I#mYL65jsXkJEr2fbPIPD4`OW?F?fGmR3t^%?Q$T}bkfvg0w6v$d2 zi-D{LvK+{IAPeHOD}pSE)2<1!C{DX7$g&{of-DTOGRV>(YlAEfvO37}AnSuH5VAtZ z5;^S}A&ca+tAs3*)2<V;P{>LlONFczvRKG!A<KoV7qVc;iXltpv}=Yen$xZtvTRPf yZpgwRD~Bu{vUbSgA*+WhpT}+8|8Dw%>>?)FWsFW65}Obk7o8R#9~&PV7xXtE&6qp@ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Louisville b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Louisville deleted file mode 100644 index fdf2e88b48cecddf4eafa6d8a41ba7363e4874d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2781 zcmd_re@s<n9LMp4A_$5~`2!WNr4>VwUxvTJ(v;m$ubN&=(eTmKJJj-<7(p4{=C5>X z+H_FXNJ~v?j?`>gjntSqTbVMQh2aAwm5DxPE6cpM=Y1;X)*t=XKb^aCUeC^8@XvjJ z{P~6RGM#^1(e@2D*B*OwP7K;d<@S`|tMC0Pn^$!RZrM~PTZ?{iwsnn{V{zky$If`= zljlOglYM`Zle1#X$+`+vyER5m<(+cs4i=fS^%cRdcCMHD>eAr3HH$@8P7gK|`lYdK zc<}4oLGn#O@8J351ZnbSJKqlWnD3H2&iCCMbHV=g3qLoSADSASi>GT$^N||o(uWOl zxk?9(XTAJ>W|+Bgw3iO;Pc-2-!rG|_nTXX5y491~w3d*HR5zr}M6IGmoRjGE!z%ju z?h?~!kHqZSXkyJO)lRRJ_FufF;|>O-!+{mL<Id%#(@XPo{F=GumeL3Gt%Y9Gd0Ic+ zB{$i09ok-ZOKxWp`XsCFZJSMxR_#=eA7iCwL$gXeaZ!35I<7psKa<{DcB|Wp9drA$ z8&sdXM$>nGmA)gZ#@spP1$|eS?Ix*TkxmMIB+0RPI=OzE^t&)v_pe?pDYbqzpt4X> z_YP8NWn(3MLxRc(1We}Q-_$^FuDN^CS(TO4-wevER)eGC%#fa6>LE>+&Cu%~=wU}r zn0x9fb#~Py8UB7y-@EQ}x$ouKdc>kVGIGT-b^nBoGHT8&H9D<Waz>9*IahZW?|_-w zTf5fe#*Ngudl#B9&3*OQSJue5(<78`=>i%5ZXY#ahEFDzN2&+2(`3>UO=@yty!i8u zD*yGXG9~LxHRXIqGu3lMPp!FPriFIs{H?WSdi`2GW5qu6aP>l6FsH)ItQ@bE?;V-7 zdV!ifpj;ja_|%-Z5}E5wQ*)d1C6E-a0-t6}VboPsxXUB+n@*_(<-^Rv<5%>f#fj#z zs#?7$FJxrhKK*!>Hj5Wk=%Ox%&5{YFdP(S<6b~s^#r21zB%wr=RKG5z*Yed<l`G}x zGudisSwNoI?@?t1xw7m<N41Lh>(e^2<@ooj7TZMK^oh9XeDnMN>KqPNZE~D&_`ur{ zk>T)Lo1M1qxxM@B#M9{<4u5<wB4M1*?~EF4@5%Ol$leqEPL4h2*mqnJ?i2j~{>|TO zf7t!zU;Fd7?0*mr7qkv-MoNIx04V}e1*8l}9gsq}+Dag$Kx*M?i{Wakfs_NO2T~BE zB1lP)njl3%s)CdSsS8pVq%ufpklG-{L8^n42dR&%Ef7*6q(n%KkRl;fLdt~H2`Lo1 zmEu6DxNNO}Vj<N+%7xSmDHu{Qq-3tPW=PRoZPk#nA$3Cvhg1$J9a1}_cu4h-@*(v@ z3W!t?DIrorq=-lrkutj4IwFNcDv6X5sU=cOq?$-Mk$NHpMJkGv6sajvR99P7q^z#C zu1H~#$|9vjYKs&XsV-7pq`pXjkqRRvMrw={8L2W-W>;Hhq|ivEky0bIMv9G88!0zZ zZ=~Qz#gURDHAjl>YO9Wv-PP6|DZHz#JW_h3_DJ!O>LcYx>W?e{vI58wAZvguf~#Ex zWEouTIv@+-YF7eT3S=#i#XwdASq@}9kOe_j1X&VfO^`)FRs~rWSGz9A!noR%L6*kV zt_`v{$m$@=gRBp-K*$OqON6WuvPj4(A<N`y*9loDSG!WkQn}i-LKX{IEo8Zn^+Fa5 mSuteEoR<CiUr$-AUAQc}a4EilshO$iDZY%1)Qr^h*gpU+Ex#TB diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Lower_Princes b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Lower_Princes deleted file mode 100644 index d308336bec9a539742ca3885c44a4d3c5a674463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmWHE%1kq2zyQoZ5fBCe7@MyF$eApsr~GZk8xICXrvLx<$1*Vd|9@Zy1Iz#a#}6=Y r`S^w~=o*+98!$Kqhk&#KK?n&J{D5cyn)&}f$RZF;l4V>#dri0im60!* diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Maceio b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Maceio deleted file mode 100644 index 54442dc737ede2aab1b597ee71a1db3aa8e33aa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 770 zcmb`^KP&@L0LSt3H&Rj-gF!vSgyd;SH5#!J9V9nkFp22IU?3qSVUie0Sl%cGxv@+Z z)I@|x8me?;A^u!i^1SaEEhJuZ{WMLkx&FTPXnZ1Q{WvA&8!k?(x%gbQXx`R$Cg+pY z{n_MapW1usl>3<(k?!7=>4&_$uDf%t_eR7`p;l(LGUE1TQ)cauc-hd-YuT81I~bSm z{(y3a+N67YDDu8@C%^5g!ehDoSY1%{Cu=e=d!-swmm@-_s&OeUn<`VPdAP=DzMmE? z;b*7i;#kPVIoVMkQ{lHGr#rbKBDXmic^(iwDeXk3{3@Zfwu*~>`6|{rvus&f=dwkm zT3?=76@xL`YL`KCh0I^(*ngPG{l3NgqSnlXOy+53L#9LKLnibzGa^%ZnmLh4ky(*x zk$I7ck(rUHk-3q{J<aUM^qyvZBmt6v$0r4n14)8pLDC?3kVKv)6Ozi)<U*1m*^qQd aJ|v;1$%v#xa$>?f+dn7uMNQt`knam56e{Ha diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Managua b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Managua deleted file mode 100644 index c543ffd475e374b39c6800fcc69c3c06b6eb5dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmWHE%1kq2zyNGO5fBCe0U!pkMH+y_UR{qDY|bSKoJ;Hi1OtCO5WJEfAZ&Q+f$)~V z0L{dS3R(xf1GJs*J}^4@KENsBzyoLd%m9~=yareK$OJ|vW+oOOWQNlJ|F4%}U;vU5 z3@rcuuU^2w@&EtM4GcUWl2HI6;^P~_;0wgg!66K;K<w-i0(1oegb;SWAW${f{Xd}E z{sTc~yG{y-2Kfgh4Du6*2Kfs_gZu`jf&K&0AU}d>pg%!0$gdz8<X;dC@-v7A`5Q!o b{0^c){s+;ZFaXh@aA2TCKyU#=$czgBd@pf= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Manaus b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Manaus deleted file mode 100644 index 855cb02c4082719f3a51c8401288c013efefe683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmb`^IZFdU7=YnTJP7e>Y%DyYZ32TyAtEv!r3%7=;17rhRyNv2ZPSaOg{4|enMjHO zi(n^;79ojg>;fuyghUy?cP#}$aF*G3SlD6bS$}msJ?{M&ZSsW4h{<H#y(72%v&?+1 zZ{;cXxn%Osv--Tcr%DqAU8+ZPdEn8O^J}Wo8q?Loy1K8N=$b#HUJiQfYsZFqvzz+8 zH*Olsle$s7QO#)0HcvZEtKP3avRN~Dd8CK7AI$LaoE=G4Ol)^ck9OUexV_Mc^tH-3 z=e%&}*DLH?vEX^m-Cl*-Wo^C4!lLgbR8nS24#4pLaOlSOE3%_=9G(IYR1hc-6buST zP(h)<1Qi?#5Cw?>MZuzgQP3!G6g&!GP(h?X1{F*SC<T?z2bO|M0j3~RpefiCa0)uj Q$X@>fADxn)FrA8i0o?5eRR910 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Marigot b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Marigot deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Martinique b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Martinique deleted file mode 100644 index f9e2399c9d2254d5c447fbd0b6dc6be303569262..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmWHE%1kq2zyK^j5fBCe7+bIb$eFnKgp06mo`Z;q*ak)>W~TrDkL_V#0Fx~L{~tfV z!1@3G)eDTgKE5FgZf-!rF&KzlLO=$AK?q?BS%C^cmJ0rWXaO4k|9@t?$Po|?asWse T<OmQAatH%iF5v<?&4dd85=%V} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Matamoros b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Matamoros deleted file mode 100644 index 5671d25816de263b5de2d310bd974fed88238605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1416 zcmc)JPe{{Y9LMozB`A^wfe<7L6?kYZH`A7BSz1GLnmTQ%nUy-VKYL0YYGw~4dMXcr z35A4cmk{eRj7Y-j5`_dI(m^OmB9NY-NJ#wkynh`#b%?&>=Sv6kviB!Y)!gV2f81L0 z4i6VJ55KQd=Eqp{UEP+7uVQP<6YUN~gr_x5ru%|oSJ`Kok(wnkJ+I{M*d*cI{7HKk zSH+&6FLl=U7_~P#t+OXqRL<iYdf&jj+J9T>-0)L%p!d2wSTdsW>ccXBXRkVxUn&o8 zXjHy!>C(4+O%%i=%7VEDQMm9!9=UT%70nh)e|M)Uj;6_ynrd})aHA~E&QWFU-(-1G ziV9TB%D{?4Rc1`e%8$t+nEX};UkGu0HL9ydKZxr2Azjn^T%4Hd(zW&X#L3|rUFV-x zr}{hP=^dl$OsHDcC-kWXUyf{8YEq%p6d8J5sG4IPvU%L8S{4`N*}(#FZpPB*BiqG= ziT65OnIPoAGkr1Ri?|dX)2)ebL|aL}Zd+Ya5$~vs%+IKfO?|Rs>Y?gfZjxQYH`V32 zLfPHZuC7cvWl!xfb#-XH6pl6j<YieSxk6ah{ktN@vK~Ef#1;7iBCp&$`2q8ta)H0- zVEOk)%zv~jdf-o*;OGKrgQE|m5sprfRycY=n&Ifi*0jUX57H3Q5z-RU6VepY719>c z7t$Eg8PXck8`2!oovmq)qd!~IAV-Hti%5@1lSr3Hn@FEXqe!Pnt4Oc5rdgz0ThlH_ zzqY1fj*gL*IeJE#=I9z}o1<@}ainvkb)<Ksd8B(=(>~I_t=Ryw16#8NWDm$DICg<- zgJU1aMmTnYY=vVl$YwZpV{5j9?8nw@2-%UX*%GoRWK+nlkZmFRLN<o~duQ=xc9~{& TPJg<~<4SY--ENoLl@|XC#x-QS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mazatlan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mazatlan deleted file mode 100644 index afa94c2ac5c1679d39143eae062b812070876492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1564 zcmdUuYiLhl9LIlSF0GZvatV=8qP3gNm>Ih;V}G;lj~TZAhX0IRZM0$AQ=|xcrbM}x z2uqXfl1q6dmk?UHq$JsrvZiH7$MZRq7hZYch41M(pVO&xUVT2^++u%}{IS9I4Tt5~ z!}ADjZ)e-OD_VNXUbp#I_}Y`7_&S1T`Z~Vv>AC;D()X<CYL7^Tjx5@(qN+ye8L561 zoz<^nrY=%5qh9FPA=A~Yai3*YSFoD>?YYGDg_t>Qk0t(ckePe^gd{Y6F!PQz$o%q$ zCUN&Mos@CeB(Ja2DdC6Af|Pu{a9FiTosy_i`<ql+;AEZltV%6@J4i3-Sgz6^OcKx0 zShe(0pk&mHQOowflgxq`lT~s@vJ*!eZ~8@9KJklL5xQSi%1e_o^1RM@ebcP!+oyAH zoieLCOZ1uxH`LnJr8;l#NtJ&%Li>ufDya8JVOpVDmlrPUr=_S33B$!7;xk3#KS@z< zlG*sZQ;MHVF`Hhs%jPSCP08)2y0od=l$~qU<(2nL#hxR&GPg@@@z?6AxVx%);cC5g zY_r-HUL)JS9#A#Ia;4@)xvKpbFWawWsvVCe$j&pRrmjV#epiNRIQT{+V1RoK3<&%O zm*X6d7jc{uMgkqD`LqmmoJK9dJO`+s@6$bA@nm}?*`8(gcv8I9h2Qi3g+=|pK6C7_ z31Sq)Du`JSyIfksAeO<OrtzZ+%^l+))<MjJ*atBXVj;vth>b3-kq|2xW<u;_7z(kJ zVJgH{hOrQ9A?8Btg%}L67-BNSW|!7zh}ABw*$}%ShC?i8m=3X>VLZfohWQZt83jNp zV3Yu<fl&mc3YWGFNF9(uAeBH$fz$#i22u^A97sKkf*=(!N`lnHC<;=QOIsGCE=FOH z${3|VYJ(I9sSZ*eq&`T2kP0CsLTZE*38~VhEfZ3wOIs+UQbwteS{cPcs%4Z5|Brfu ZY}&Cl=}=E}SY%j4s3$TaEG8@>=m(pAkqZC- diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mendoza b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mendoza deleted file mode 100644 index 5e8c44c8934960e2010e7b0505966747cb2c6e50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IPe{{Y9LMqBbgLyE1cUw%A*7g#;6Ysrs`ZEmBihBJz*C1P0-@-TL4Q`4PQf5X z5Gby^20aCqsO3}3RzfnE5kZGV(XEJBV_Et1eLv74I@GP-c=q~j3^w+84-6hV(i!}5 zt&n#(TuC|Huf8BpH?CyV-823A-uh=|a$`nME}l?RYtGrJiE%SsyRB!gzEt;Ly|WKa zH<;P!wb~A5%)`-9{b)yC<<A%G;|*0acPOmqmSd{Wldy&IE%o$bR?nxdoB5BI>_W<^ z1@pm{I^t%r_pq((imJ+3)qaT#scL7FuD%~LwdP)1E0omN%CKH4Z8P8Uar=E{zxr{r zUoVfumAl-nSB~#B(bnU+P1y<4+LX<;B|e+BPp5M2>$-LO^Ss%-bkug3JtkIuqqkf; z*pjF|G23TjMw@2Sb0BH^hF6)s*XfqDb1qa@|BsJIn1}yxI8q;}lUEVvX3qwJbNONr zcCKK9sB<rhp+@K4mP1Y42aWqu13|Bxt*Tp2mz>`>8Tk83yML`zlN&Di;qK(f9r;e@ zSPfYYSr1vzD=Q*PdSy*yQDjwQS!7*gVPs`wX=H6=ab$I5d9SRG6yTK#kP?s@yix>G zg;&Zz>OcxXD)CAwNG(V)Ua1Bt$1C+91tAq7B_TB-MWL^X8!3zbmb#F_kjjwKklMUb s98#TE%0ucy3PdVIN<?ZzibSeJ%0%k)N}-sRpBDW8OdEDeyveSHpJY<*WB>pF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Menominee b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Menominee deleted file mode 100644 index 55d6e326692c81a3a526ee65fa5ece091ba5101e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2283 zcmdtiUrg0y9LMnovks8_$)peoN=t?ujt2}ylcIz%P9pv}A_!RshFHe8grlg@<HoQq zj3#AT4W-Df6;opw)*}0R(VrROT+Jk{<(iH4lwSCUozwGvyzHXOw!UY--|LLQxca<< zD;popRsT4T{Rt1(X&=5PYy0Zn@6~%hxGeiR;&sm}r{wEr!}|ENi*md+#tgSyP$vq1 zH<uFv`bu<z2@hnc8w!6CkN-RI?8wkDiSJ5G-y15{yeK!G>CzK^IB4RIw&?gHJ59n{ zJ5}PIW^>bX&1zz6g}J%0LQSg5H%X=W>Xx}F=GM#<l{|HhOpYE?DdQ$f%3sNP%Gs-u zI&?+f_Q`2UJM^PY@A+764<)EOw)M!=<$tPa>pn7f<_)X60(;H$r1w<DjBO?(Jft&Y z>rCcIzn*cv*kld9q`kwdCA)j0_VpLZ%(g1+@0u<-4I!1gAzEgYRI0m|o|n9gd1`j< zH!{bQs`97&X7bO4)!eIJnR#EHQTLpB$IL%4rVBoN-rU<cqVIcEOkvYeeSiB7d7%7t zy`a8Hie|R!;-V!|eBpgnlD*!P4DV5;apk78e~Su?=9mXxds#0$xk$>kw(3QP{Zd|2 ztrzc_C`;xS=%p<eWm#&v4lX|_!LcY^kvAX}zox0mv=gTC3#F>Uht0~~pH=n9Zd23# zxq4`DvsqQYUp?GiV;(8{RM&2AmDSn3x~`#G>f<`}nvw!pGrCqcWTZ>Ow*lSgiIT=X zuU>cV7kO+~se1fa#H<fxsV5GcHBA+9N;*F?Pv-rho@#p2Y)BeX&E?xob9hvT@_QvT za!hYZ?vPD`hji<uwX(UpOK<r;AY0p7^wR@gX<M~IKeIbt#zooBb>kh^^Zmd5L?V5s zm5M};9E=(tiM+i}MZ514+&huCnsn{w3(JCPL6Loy*=L1)76(<a{mw<XHw6EEMlaZ3 zb~Czk?XT>Ak3?!WmewJ&LZ*ex3z--)Gh}K`J2zx<$n22mA@f5f$T34?icUL6WRgxh zOO9zG^F$_!%oLd_GFOhtBD3X~E;3(^2_rM+m@+bFj!7f4=9sqA&KsFHGIM0=$lQ_1 zBeUn2J~Drf1RxpUNCA=qjwCp37LYVJZ61(BAelf?f#d>729gaV9Y{Vn5`tueBPB>q zIFf>7g(EFan-`A6AerGv4U!uqIY@Sp^dR{`5`<(3NfDAGBuP%2C5|*XZJsz1<+PdN zNEMPRBw0wdkaQvWLK22#3`rT1GbCwFn>8eDPMbH5#5rx|I8uk?jw5+U_Bhgq<c}kP zNCuG<A~{5oh-48-qtoUQNu<+e5=o`g<`PLJl1+|uBKhP<D3Vc*lp;ChNGg(5j<h;$ zUXjE)ZDx_wI&E%|<RaNc(u?F5NidROB*n_L_y61CSexqEHrd{?S-xDK-&>ZG<IC~+ GWB&#UvwV2~ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Merida b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Merida deleted file mode 100644 index ecc1856e1e513bed6a07a80a01e0b9d9dc706c8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1456 zcmd6mOGs2v0EUlcWEL2O5<Ng75W&W`nU!gy4(3e0ZZ%o?C>@)$JZg!Rj{}Mzl;t9b zB#5FHh1Md;Y#~7|A_)qqgd!*+YSAf>q^#+Dw_3Go5%dq|d@~pBYQE1Z@%s|QADd;K zaG2K|zRy?Yx-d9V9?>;kzQ~<d5MSLS5*kBfqRT6iir&fOs5Ft1@IbDby;P(wd8<?3 zd>5;~-q&f9!D`LmUA=Z-TCE%I(doxusP%nPXVi_T%+6zSL;gACtgMq+v7IVAt5D{I z`IKu#qI6Alh}__CnftU#Y<%@u=G}4$_t--1ITbB7U7OVT&2vS;(I>jFB1#q24(Z~| zIm&YP>CKVv)s~o6y;Y1UZ}@5HeL0}EO}5CAkzTcZyj1SE(l2)2%#fwsCq&uF<+9x0 zAS&9@^{!k?>@JPemC-4pDt(6bEhtje%U<j1Pf2Rew^8kX6ruJ$zpQI+OsU$@dvagz zgxY`clB}!0qhwdNtS@;c8hkafF>P2J$nnU7i_eIrSif%i(k`0A@^te=g*fzKr9OPy zDULi0(=F%ARBQi7-PVz*+It>r5i}!c=0ErZ0#~PnF!xyz90&|u7a`n1^L{>Ydo1BB zwnVl$&MeFP$G>O&g&R}9UJ97u2tV-z;tIqUhBFXv816v)VK@Zwh~bh=;}gRvh*uD| zAbvp{gLnpU4dNTbIf!=<_aOd39E5lXanYvnk>R9G<0ZpQh@T8cA)Yc^h4{*F7UC_$ zU5LLBhanzAT!#1zaoVQw8sav@Z;0a%&l#>md}lZh@t)y6#D7KukPa9vKze{QVbgR0 zX#>&+q!CCbkX9hQK$?Mc18E1+52GPSM~s#rJu#ZHX}V&xWz+P<XbjRBqcuoxkmexW d!T+(nP?Kbe$uY*0<cN2~#dzZ59LbKj&>umYc47bk diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Metlakatla b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Metlakatla deleted file mode 100644 index c0335970448cf4d433b86e08d79ae4b9a167e1f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1418 zcmb``Pe>F|0LSrJU0qk#no9G}K^_H~W-=Q7JB1XO*rMXPsg-4Evi<YlB3fw*hIt4_ z4`GMwK^S!~hfa3LqUaQgd59vA3ZjcihYm*M^u80F3PI=%Z$9IC{r&>=q0@QVU&o_< z;c_a}<vXoky<QHd%Eg`E+7=tr^|hH&Vc*Nrwed{hy5`d(y5mG-`!3Vnm?5L8V$J9h zuk;wprsw*8>DA{=@6;0!`_(ez-cL*4+c`b{>8RZFXj<QV|AEkNj_O;6O|iA7Q{NWq z5D9fPdSY2XY%ea<lQIiL@{VdV#hWZrBl68){zn=7bkL|xvqkNTETeAigQ%bM8Aq0$ zi=%@p#<AH+(a^MD9G@5xC;ZD+<Io*>a?iYVs^zL|inpxh(iYkLWz1^HD3dL7VJqa> zEkjd5>&)kPdG<!9ac&_?obReJE?7R%8Z0#0Mpi_7L5k7Qx*$3ee;DD4hazkzSzSf* zvTNzP)tzj~?%8)%&+3@GIPuuJ^d>AX_uaO7XM(b?VZgdFUL;)+kuLYTPgL{<9@`$g zt7*19(yzH~`<Cg7ao#@Xt=slMo0h<TT`7nB0j;uH-NWius(T=ym6WR=O3KxjIxb$n z3H&>T81-*1r%GME(^mOQ9b27!&wjqb-XS9ui3AD7QN@BzFnkaVM}-5#g9L;`goK2| zgam~|<*33!;&N1hA(0`WA+aIBA<-e>A@LyrA`v1XA~7OCB2gk?B5@*tB9S7YI;vQa zU>#MoNVrJ6NWe(MNXSUcNYF^sNZ3f+NZ?51Na&6#b|iR56+IHZqlzCH05Sq(2*?<a zK_H_*hJlO&83-~GWGIemEXZIS)o766II8g=142fG3<((%GALwJ$gniEEO$iIx=*xc n1COS?PABXCHn2YnbBtws#cVIzzc(i@$H?~Q=H}$)7_q+qS6XeT diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mexico_City b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Mexico_City deleted file mode 100644 index f11e3d2d66a2d7c21f498df96c3fd1db3a0d8817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1618 zcmdUuOGs2v0EUldWF{DuEqXvi5P_NR%*r&a!F2M`q-JGf*4U)!NlUD>4k$rTmW${i zLKM9y)E4>377-*Eg<(Wx7z0I!EjkL4^tzqzQma-$oBqSO-(}!3o9}ZKcs)_#k4-ke za9Odryw6hRakXPuwvCnhIy|}V&XfUnS8$xW>-%y2=xw{Z_gqX?-{w(Y-^fr_zkjc< zzcV*$@It8XO?CaV$dYOiRTU_s9r+?AXGF#>P7rZXPvr6`^F;jIVIBYBhgk9Tu}&Bd zP%Aqg>Q!yu)asr_op}1KTGK3bQpE$6+;B>+&AhBqc2&sKWesXwYPMV-;!%!8(b6$d zFVX@+W!kIVV#B-7GQG<oGM>)V&htye#@pjMvu2veI{8v(7cEvfW!-vH@>J!@Xx5t- zd{nt%bvjQxRr#S8WxlUXZ5gkX1rM6k))$3x+s#(7{ce&hJaI<sIJ;1~y_KTqXrkVk z<`Tt)3-qofabkC(zxK??Q6=-=>yoh;wdZ@U_72Qedxvi5(mNBXtoM=J*EFcguU(fF z`|m4x{Dj<J@LE)QN@Z0-k2tX2DG$zR5!K7Qy86p8Q4^A`YX*zNp-)To;d?3KNPmc~ zy|P2qwT|ke^~vg3<8v+i{5g}%39z5M{o7+%SAvDGtd=t(z_M;#5`mW0-R>7`Kc{Cn zUBbD^B~rMl=H|JK9>3@M3#}%8ePo%T7eq0LW)RgNy4f_!L9~OY2hq=_Q4pe`O`{@2 zM~IUAEm|_vgy_jo6rw3ZRfw((Wo;U58R|mxg(wWs7@{&nXNb}ets!bd^oA%7(Hx>W zM0betHjVZS^=%sc83{l#V59)afsq6x3q~4{JRpfcGJ&K5$pw-OBpXONHcdW|gdiC~ zQi9~fND7h_BP~c?jKm<BF;au%#z+p59V9)QCO=4mkPIOyLUM#83CR+YCL~WtqL54( zsX}sPBn!!wk*-aXFC$@_CSyj*kenGwL$ZdX4apn+2Z;xn^5abTVa}NF$nc0TXJkZp IY<NV_PXY<#QUCw| diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Miquelon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Miquelon deleted file mode 100644 index 75bbcf2bcf70ebc700cb98526d0f2a1e5cccc438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1696 zcmd7STSyd90Eh9>#6pS!5h5Y1EXmx}-Obv{wo__Sy6wr<GBdlViI!THW@=gyND)Ov z7bzs78&UMooj?vG21Rs8%pi~`kqCMS5ro3&eDl&nPrXF5%>0IZ8~A@GTvWNkYyELW znSZ#ss?5#%ltbom`jP)uY)z?3s2|ib4(}H;3wrdds<SFF{g$4+x?atRJFb(GH>jks zn{sZ<A~kp5m`wf}ujX~_lqtP_;pz-Z_x))iwKY|yo%ty|6}j45Hz0gDE<HbAiS(q& zdV%+<SQ!0X`{TQmf2db4`f)`q?s=$}d^n;q?!A>upOvY=sRwe|rIkw5o|nsymWmaj zMwwZbEwWOJWOi1P$R0kSb6lA!r?*D0nlxLjx-a$WZ{t<&<!YJtE>Q$qLUPTcXb~#* zNO|sySep?m^Xp%Vb@3xITyRH(fAq`s=_ked!C_rE{kAIX?$aB`PN<@5kM*X38dZF> zLvQYqs-&!0Z|U@^t-*_OTYE@scQwh<3Xdq8R4mJLVnzA4fUKA^A}U@d$jaz`QF%8~ zRt-HBJI_zoyWaGv>IO^K+<UBQ3qI-Hr#jT0^ln{O+pPA+-O&3&o7KLt=d!`yBpL>; z%f_k2qOq%89vBUXrp`*){60anwC2i#Pa;KYiA%O!7!+-`ZCeqM<NnDn(zag}T9$3U zP*#*}_i1Z_ZGZk4F)=R~wwA98Tdp*pxqt5~{1<B*HEZKCA7ryS-dP^9K4gK&3Xvru zYeW`_tP)wKqgf}iP)D;;WU0tnk;NjbMV5=K7g;c}Vr0q4nvq2#t45ZMtQ%Rlqggq! zbY$(w;*r%O%SYCa6o6EKlz`NL6oFKMl;LRVKnig*l^~@!np%)zkZO=}kb01UkcyC! zkeZO9kgAZf98FzFVUDIUq%=oU8&Vun9a0`rA5tJvAyOhzBT^(%B~m6*CsL@RsT3*I z(bS3*>u9P)%0=o$3PvhMN=9l%ibkqN%0}u&3U@S>Bc(f<+L7WNP4!6mNd3qOfSdxz oNr0RN$cf<iU!Mvw8Rnb__{`HAND2DfUUynb(BpA?+-Wht0Kk8;*Z=?k diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Moncton b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Moncton deleted file mode 100644 index 51cb1ba3d2de0ad19453704e4b796dfdf0dd8464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 zcmeIzZ%ma{0LSrrMH!JOsThK(XoVV}fF%BlYv~AuJSw1=;HfkQ-hx#8lQ*oT6J9ho z^H2U6&T5itO$~D>iI}3Ma~?qnGw~>bW}u*EBv)?d`}8ul-u9w%_dK6x&+grQ_xmQ# z$$C4=_K)Lj-f(fwnTzMZ56$hv)&rubbdB6`=!z&CAFImt4{;psAEXX%=;kPIcdH|d zZ#pV2*Quj3e{}p%R-ukXf9*KF?Q>Px`xD2B+%|R6@2un0tF7u(^B%|Pz8UIt&6$cb z1=nTOkO#R{vRPH<)#wY3bLwJBsjeBcPyH0LRoB`+RhI%>`jXC5KX+`Amn&weU+PxM zE4!D7y7F{+wJ=raqBwaiD^^_350Ui=LE=V+muwj77LD-(_03*^>Q<;-|JwJ4y6s)B zZ$CVterv4MO*LPs<`c#G&XG!Sch7OzvZGkEuG=N=ttu4va|+~xc?-qw)3W8mxFqq% zh(y^oG)w*2GeSP{nW`SOP0{VQ!j-!=Og}!=Q+1T~(4OK}W!v1M?Q5%5mt|GjE4M{- zm3L(~Q6+o^mB=UjHwj<cM(NwKTs*0l$?lgnD8Gs{+2i0+)pK{A_TMsFJykeM_gXPl z_0Afj`=s?(0SUpnZ)}Hpdgx;vI5=4J^SP>n?2koIt6K(NyDIvhuanOlJt_w5tB?bC zejx_s-P0i-tr3G$F6bfIJJqu>2lR7OK32~Me5ON(FHoT!-^pRV@oHGzW;y)!F!e%t zx+|=DxHG&c&J|J8-8mvZ#5HpL9cN_b1b5UT<&2IW=pHrWTW3tD-Th+J2Ipw+dUtH_ z-lo{bO81!d^-W_>6uZY=UeYvv&vDm;vec%R*6nh|ZHsMk<P^9ju1;~jJT2Sx%KXvJ zNh1<nlPC3aPQJfY$A?c>@zpM!;1{hDN;346<^VNy`%0Nu6D5*d>GHJ$eZ;i6aZ+r2 zD5j4Oku&mY#mxR*GCAdtNN#VCsWIC{YJ*+R9#E=gAFtPG9b46$FDv!ybuKk`b+Jw_ z&rlij3-!DrhmuLV<Qr?##hc*;@~zA`G2bs+E{G2i3z`#UW~i6QJR2diyc<N;H~uoa z@uXO|DNH-h)vI@w_R#O{sZ=>BEjo8yv3f72N-xSOREq=l>m}0`swExg<<i&!v9zv4 zE)UEW%gZ;)6>W*){i0=ZWo?9T<)_IHO8rHC#yGiZ^F3kr>e9)lYqw5bcJ{^p+B=Wu z*d&|H<2kt3*45*=sO&x-&&di~ck9{Ty7x&;O14d&nQWUl$y_+gTq4<wh&lGZ@5%o@ zKgxX5nx8i7C;Y3&lQE$Adt{D~NkV1`nI=m!Psl`BnwdhT3YjZpvXI$ArVE)bWWtac zL#7OwGi1^%&8#8QW@+XPnK)$TEX~v*bB9bGGJDAMA@he!ATooNW(tuxL?#iLMPwS0 zc|;}>nMq_Sk-0=B6PZn9I+6KACKQ=bWJ-}awKS88%qlXi$h;yGi_9!CwaDBelZ(tQ zGQG(BA`^_vFfzr+93zu#X=WLjW@Mg`iAHOtd0?tJX0CzBMrIqCZe+fZ2}foenQ~;# zEzP7OvyMzVGVjR5BQuXoJu>&m<Ri0>Og}RJNCJ=yASpm{fF!}vWC2M7k_RLaNG6a} zAh|%2fn)<o2a*pYAxK7$lvtXaAW5+_SwYf*<ON9#k{Kj5NN$kiAlX6EgX9NE5RxGz zMM#d2Bw3m)A!$PLgd_^d6p|_=S4gsuY$54F@`WS}$rzF{OOrDsX_h8yNZKq--jKv0 znL|>C<PJ$5l077SNdAxnA{j(dXlZhYB+=4j5lN$^$s>|TB$G%gkz69lM6!vb6Uir% zP$Z*BN|Br*NwqXtMbc_%@`@zZ(qtA%Es|R#xkz@A^dk915{zURNimXRB*~U0%Sf6n zO`efNTbfKGsYY^*Bpb;#l5Qm5NWyLZH@wq^`<l3qGLa8UijIhi7#Wrn85t27G1B)h D+Bm-s diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Monterrey b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Monterrey deleted file mode 100644 index dcac92bad609fac72c04077782dd08a9876eeeb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1416 zcmc(eOGs2<97q3}kXaxUw&($3fe1D_zA`J*GzZhk)UhTjAEjfXmY-T;<>Lb-5Xy29 zL=yC%7lqa$$t;i{7m)--R6-FH5w++ulBCz|o@v>tMfAITb7n5w+1ztHrG8(6{IMDK z9S-x_hwpQ={c(P1q9UqfQkK--G0vJ6NoWpLi7u}s6}?x<(P@&B@IWn}xkyqMzB8$B zf69t)_f6VVh+a8#*Q^@+u2+xrn)IVD^_qTVG8#s8X7>@bw&1MJs%lW#aou`dcA?4% z_i5MCMCF?9lH8C8mHVt(*1!Iu@@~2$e|(;CpNNqSSEo!t>ulM0_^BzZjMhc<!=^ZM zmiFZLo07;6dQ)t>*(~GQ8*x&3Uk&OlQ*Ekrv`=q+Ql_?D9+2%fGE`a5F)2SDr7HYQ zQrVGicI0|wXIZ4Fib;{`^kCzgTcm3izcDqRlJu@0W5)kzzOH?7$<$q+*7ale)b73s zz30M3)zElbt3y4ivGln#`RY`2+KBAUajSg`PDx9g-?V(~l-BS((>hTp`#&x-2X1A_ z!H40d?OeHTADA>9U75PG_py<n;D2&i)|t;DmUZQ{gjm+_wV=>^w@0#y?UU`X-zoF_ zg$L8WAF=<@vhabQIKl7&;s(PHh$9S7Ag(ZcfjGnPCP3RAhCdL8ARa+ng7^e+3gQ*S zEr?$b#~_|TT!Z)qaSq~LfVO)K{{plfWOxX1k>Ml6NrsmYHyM6H9EEraaTVe##94^9 z5O*Q|2537B@fhMV#Ak@p46h+>GyH})&hQ-KI>UE}^9=7H?nC?!&~5<I0i*>;50EAx zT|nA^^Z{uE(g~y$MlX<N7~MeHVe}KA-4LUr0PU6-JwcjcbOmV((ifyL_`f>~v$IRF Vvx{{nIh>C8Shq9Yk?e>M`vuR{Xd(ar diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montevideo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montevideo deleted file mode 100644 index 9c6abeb93c2c25ade68add3f9626506739908ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1537 zcmdVZTS!xJ0LSsoHg8#iLJ*p+i<H^rpb(>`EzRa_wQ7P|Vf2vn5>y}w*@CDZ>LG&i z#pqNNRtEntVbR5vl`gRknc;(>RG>s=H&WK+^#A@%dI;*db2$Icam)wh_w`rp*q&|q z<BF4?@NiYghxgP2@;G<mNb@CYM)1;yL~;3LrSr<u0<F3ISnz5~t+@HQHF&G7Ros5o z5WI7yL9|`33x)!9;_m5F&U@9HM0@>S=lzwr;=z_G=fm`L(UI$NcE-B2@T@dvcsNaa zbo7j~tK2KP)4HAAC#xNAryde-KQ3{M6qbmQL(d&!$-Bi^B*iiQ$uA;tdmNFTW#a3b zi~6@8dD{1}ZB0K0b_uiZ)B;QBf@ZxDZn9PMYqpUNJ!W83#8r6~BwTx;Pag_si3g(` zN#%#N<eeUUcDrAjvm#HQd-k=MH}i=jqohV;ysy>g&ra0l8x?wHe3r-*%k_nWJzCcB zRDD(17cGCy(ojLsd1G~QW2i8_)K~avf5;PCV|aSDhKh!ZjpCO4P)TQ&QQBDTE^C@* zc=xSxuRStqtlK=-?c0^$Tko>FH~8N9Hl_@@{hHzPe+|0>rfFKIL`~ebDDKIhq|x@@ zcZ{7o+8*=!qrbn|O|#2yv8dB#n!ScK)-)e?S`sGDUc(|kc{ONFGR^)z>x_x_GOyp_ zmCs@=hbKpqXEu*~<FcxA^6>wAN0susYDeS0eo6kxW?g+`5wa^}TS~bvWMjzAkgXwm zLpF!(4%r^EKV*Z*4v{S)dqg&g>=M}~vQK2A$WD>1D&=00%_6%+wyTu;MK-LIJ4Uvw zlzT=tt(3b)wvFstDL0Pn9N9XucT}6_h23+>?F0Kq8c@m(kQR_0kS35WkT#G$kVcSB zkXDdhkY<o>l(HS9AEj&v=}0MCLV7})Lb^iQLi$1)LpoE+){x$mvN@zXq&=iRq(P)Z mq(!7hq)DVpq)ntxq*0_(rEC=g@?UQGpM#Be$*A*k;(r3lB~vK? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montreal b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montreal deleted file mode 100644 index 7b4682a39e2fc97450c99eed4576d2a4614bf294..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3503 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montserrat b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Montserrat deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nassau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nassau deleted file mode 100644 index e5d0289b511f89e273438cc487b0dafad48093ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2284 zcmdVae@xVM9LMnkN$G%)iXufatO$fVzz{@AR2ZFlVtP0@O+OlVLnz*<oktnk#F+f! z8VzbSw$jSl8kt$T8WVHoKV^>9?8oq9TdcLHkFkm%@A^Ey{n=mrSD)MG9^c*ez5ia% zK(KjRvFjgan*D{#>9v>V<bC$5r*v8OueA~RZOI1pyEiBk_w3exq*lmeVuPNXs5evJ zFV=rvDmT~8&(YD7nI`snOuPD`Ca&v>j^C}#G>NJNbxp2Yqt*1v%QB<zj7pq4B-hV8 zqTH^-;x^ByBz-`VzkEffoDRtir#f}&8~e@77q;oNgH7hf_6PJ$%{AuchCH3_%Qd$w zO4hgLCYg-vTy<OGn3)xyq-Oo%mf2UvROZDWWzNtAm38b>x&7s1YHrwN?s&RKW!HUc z=4~I)cb1$rcdd9<-<|%N$;sQPbD|$fuDed>j=U;)Ka}eEgI$t898d-Q&Eh$}P<cC6 zN?}iiDhh>6@s3HgpvGtJUHgqH$(e5!77wb@87Zc0_E)-W^k=hZ>O)<A?xI=zb-%6{ z_(|^jV4uGK&}Xvb#jU!s?HyU#xmPW#eNL7)Zc$a<uvAwqSJmT3O-;dOT{GNmd?`z{ z?|7?OF*Z-HeCeR9`l3?#_q53B_p(*(M!&4-O;8V3cxCP5qiS7dngr_3tH9K_tS@;} zt^Y37)MuU3^=Ge|hUifpJTh!HjCAXbohQsggROc~W1rdFzgjE*yRxOLMQttUm4`!q z)tC~IrW&tm8VgD&CryPusgUOB<Er_sEZIK#xoYVxH?0@0>PNzv=Fx#+-BuSha_EG9 ztVEj~ZGC!Y`WdsUwq5UvUY2lKuL_S0NhBkpB7=veeIlry=szG&UaC-gIzsZ)$t=~e z$tQcCcPUqV+<)*Bi@hIqxni-8Psb(1VyE7AC9d)ZT-8<ft_#>Da035gJrjSwV*fD~ zV@1f4kToHTLRN(=3t5+=T^O=5WNFCS&{-T0td3)s2docSAhJSaiO3p}MIx(2mWiwr zS*W93DY8^#t;k}L)gsG9){86{SuwI?WX;H;kyRthM%Ili99g-eT{^OMWbw%Ak>w-n zM+$&c04V`d1EdH@6_7F@b#SzWKq}#AOM%n^DF#vvq#Q^+kb)o;K}v$u1Stwq6{IXk zU68^cm2tGCL282(2dNHH9;7}<fshIzB|>V16bY#kQYNHMj<!%pr5tUkkXkv~Vj<N+ z%7xSmDHu{Qq-03VkfI?~L&}EK&CwPPshp!N9a1|-TRfzCNcoWZAq7M#h?EeiAyP!7 zibxreIwFNcD(PrTiPX~3789waqb(;=Po$toMUj#sHARYwR23;JQdgv~NM#*uX_4AG y+TtSBb+qM0>WdT@sW4Jvq{c{*@&8?Aw+(cO4RyYMfv4D0nC~wt@)UUr-G2cP_@SKu diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/New_York b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/New_York deleted file mode 100644 index 7553fee37a5d03e9163ee19b1ced730a02345cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3545 zcmd_sSy0tw7{~FW;u1<|in&Fm6{0L|xKd(jgnGmUQpxbGKnAsVN+m4AN|bP>tkJ=? z!Q9a_a=|1E(F`4%HgPS*S5s0GdzBW_I;Z#h-geP=(N%xve?Dg%818=GCn+U!T5r!k zp2qfnczG_{m+x&}v>!$5LS@CrKdJW?d1U3=U#eB<XJz$*i+auU4`gl3dbMuCL9;%j zKo$4dWQu)j^~Tn(nT^%?`u#dFo60lw=Bn}LgQ8KoWLsbJVQ!?}^6og<nlVyso7YFS z$498rDIu~W>{j*B;NN9u6QjyHo{+MdLuyyRuVz=}cJ;}*W9HM6Z*=*-GP8ThR$Z~? z9kVBEnckcCg83{lTklJoYCeyiq$|DiWPk7=eIPPb4%AOn2ZQ3|;PHX#i&u;s>iUZu zQa5zfoO9-I+$nt|xzZf%yjvfODK^JFEA@$x#pZ-wpuh92m+vdm^~vf2Ikn+sRb4(q zP8XypUF4NBnGdS7xzX}NLN|3TwUwNo7^Q3CBh8QfTj~p8!RBJyYx+`?tLD;ghxJc2 zRp#>19lEx%)LhwJrG73sBxXgay1Hb$T${gK)nygRFH`5LUlViWw;_+H-=kBczT30< zkKkCj-fXhIUO&m)xG-4%d3=!h>%bk_x3iP+ulH-ua-V6Ce?~WaR+~oRQvvEPX*^b| zCUK{wY0tf?>8tJKmX>SOEt{8_K(k0S*9)b^iB&qNB13L1%hSOd7MPZAP1CIk(#>si zAJVNe<4v2%-E~MpxM@4Eg}yz!xoOuWT(xgjYdSP+t~y)`l#XX=Ri|$+%N={ZR-s$I zk~>#!QJu3r=B}5PsxHZAP1orq`tF#0=AMyn=zBxfnXvA&beQim2@g!x;ni!U`=$Q6 zM|r+PR3)j%qD+a})=x#}j*^~B+o@g|8K(C$*HxeR1k-o?Nfi^;!}RN2uKG6(G6On( zrw7#hYzE%=L=UR`)(rl>NXM33k^6SNsPA9$jSP9`aUGYnRfguxR}UmElVNF(so~Mt zGGh2JHKMNA#79om@l}gWLeNm1ux+LpS=&{QdbdDEAB|Jqc{60pjxH*3idV)K2B>kd z(K3EcjhfJ@l_Vt}P)RrH<l&f&>f!UjW>RRSp0w|(nd~dpDQl|CBh`!bl)O^&X!%T? znzr0bEgGYhce^~6KSMnpStw6rcvV_Zj-<y&tMu9w$p~wuGQNzJ%qDdzb91OnuQ{S- z6b>>ozrL!U%<g2KDyh<0$vz`XO7+t*+B}oBT+a&GYi1|T)w6x4C3`@j%C6ocIqh;( zPWft?Tc4tyD_SVeACFb@ax>(GouMi>H9_XT=}`?E+~mJT0XO*zH~R<vyPx;_KQ8ik z{QmtF4FdfBvJXAY-1iplv*l=Sl4rzl`%bX$MEj0SvRmfyG;kkD|Gt5>_6OYt*7F<o z@!Kc0k$D~2L}V9{ZAA7F*+^t3k*!4b64^{-H<9gh+WkZ})M<AV*-~UrkxfN*71>r~ zUy+SPb{5%MWN(qpMRph2USxlf4R+ccMz+{#_ZZn^WS5a`M)n!mXk@36tw#15*=%ID zk?ltI8`*HD-Em~gop#TWO-FX!X}2BOcVy#{okzAF*?VO3k==LN?ML<>X#mmzqy<P1 zkR~8qK-z%x0cix%38WQBFOX&+-9Xxb^uuWzf^-CF3DOg!DM(k4wjg~$8iRBOX${gF zq&Y};koF+`K^o+=9YR`!^ayDZx-RjBHu2a#0gXaBg|rIk71AuETS&W{wqHoYoVH^~ z%aEQSO+&hdv<>MS(m14ZNb8W^A<aX&hqMprAJRaigGdXVwueX)kuD-_MEZy{66qw; zN~D)aGm&m0?L_*CG}LK3inP>edx|s_=_=Azq_0S0k<KEmMS6=g7wIn2UZlTBgOLs+ zEq2--BTYuSjI<f)Gty|J(@3k4UL(y$x{b6O={M4Fr|me>a;NP%(sZZoI?{He??~g3 z&LgcydXF?8=|0kar2ohb;IwxDatk=^J%HQ<PJ0(1w*hh=AU6VXCm^>1axWk^19CSY zw*zuNAU6bZM<BO^)7}%vP2se61#(+B?R|mV7|5N0+#1Nef!rL(-GSU5$o+xbAjlnp z+#*hUk03XR)7~Y>ZQ``|338(#cM5W=AomJ#vmkd1a=UnL`V#q{9xs9Rrirn)O@y~k SRPU&s5#C<CqIyO34E!5Kf4#l{ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nipigon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nipigon deleted file mode 100644 index f8a0292b25999d4726ceed52d1b55a4713700045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2131 zcmdtie@xVM9LMo5L`4TAlq4yULB$UFZ73QQChR)(g!C{a(~kz;PAJ}?-JlG0VW|JO zM#Ea|T4~MN9GTg)8k2J7*2<LC`ZfC0CVy1e$LJ3h8`tOg`L{p%v#sy#^L>1GyYGMZ zdWM^$TPnSOTvyv~I9z@9@H}&uy~R)V%c~#!s?JRY8$a7?<YK{}a#2m`)VafQUFKos z^A3s6Jg3t19!dZ9b)9iKBG;el)id6D)?~i4MQ816H8*rWpl^%@%*=H~Iy>k$H!Vun zv;1i$C*QAbP8~P1lhf4fKYTLhr*V~g;WxQu_`J$H_J!Q~+A%dZ=9$}e_pAJ-pH0Em zL4AAG8FR<7=k=Z0Z<@lQZMty!6Y=|+w14ysDf(rho;TDd#Uo)=5|2vh@dc`^XStO3 z=ctNE#8h_vrRE2M=B`ygsH(zwW<lkUT6k@Ssh;zlt{(f{ESmaAFFt$0-2HuA*9=~k zdp_Ky?>+FP-1qWkUEA@lEa}~;?r(TOmbPqCb!9QBuUo3>Cytmv$wnO**>8dwOLXvf zyID3~pqIb0PgZ<gt3o^4Waaz$s$qRd8V6F;gEeKc>d7&+IyXzgP3Kg2YC_gjy{*<< znqk)Foz-j4TrumWkLc#ZBj(}J{d#@x3G>KMyWY@p&}@va)GG9zZ0c)Mn@a}d(MU+O zWOPYupiH%nH%p{2OGQ4fk?1uODta_ewvK(J+6ESz_VZWtW3gQG_~3}{Xqq;1;Dmmn zN}JA(gL+%`$7Xv&x86Seqr|EQRBUuux^lWy*U%y9o@`c6#rMe5-_)obJrQ~4WS;8T z5R{!SdMY_7Iq9kt?*Hj0kvLlGd5OfQr;}0=iBs=*sqQ)5-7{B&!d`uyJ*(|`$ezZq z{Y!gZlDmcfeF}T+58V_ddBa`_dv#vkU5iWunFlfvWG2W|oOUj}%Vdz*Ak%T$`5+TQ zW`s-$nG-T8WLC(uka-~!LuQ6d4VfD<Ib?Ro^pN>E?F5k-B2z@>h)fchB{EH9p2$Rz znIcm~=88-fnXS`K7n!fqP8gXnGG%1W$fS{3BhyCajZ7SwIWl!*?#Sek*(1|O=I^u# zKr(=&0LcN81SAVc8jw67i9j-eqyotWk_;ppPMZ!SA5NPPBqL6n5+o-`Qjn}5X+iRW zBnHV0k{Tp8NOF+uIBj~6{5WlbkPJC(ijW*3NkX!OqzTCrk|-ooNUD%rA<06rg`^9~ zm(wN;$(Ylo49S_(CJo6Nk~So7NaB#pA*n-hha?Zl9+EyJe@>e~B!f<yLL`Syn?xjw rNE(qmB8fyYiKG(ArT0JRrO#%x%I35<G{3a6w7fV}QBhh^TJHNBVTxT5 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nome b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Nome deleted file mode 100644 index c886c9bc0f46a6677e9824fb188761b6dbc418ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2376 zcmciCeN0wW0LSqQ0uK-rB`6}%^$p@hJb)k+<pW`aid^OKNz7CVVp#GLjNuC?r6adW zN1MZGcAR6YE!&xHrm^Tr*V?k&6K*BBDBYUrlC@qflH2*7+WMpBe|hfi{T!b0@9*nd z-S||l^{*49f8piq(J%MZ?fP?OS6Og))=w?NwT}1q;gxFQM62Vz?(<sx)lSF@1>Vrk zd}mVYia=QH@?iM#`GJU%yr3s%O2G5d#$Z(3^+42-D^B$HUj%OZdL$S#@~byCFc`f3 z<cRl<H_kh8`v$#t?s~_$YtyUV$&Ck`_?m6rgo<uwN>QzMYWjL7ab{OwT2!f%6uK^u zlo=nF^h2qderb+O9-gi4KIM@qM<didhptGwqe#r?IU{HKr;Aw|zO`rP-w<;ae`Kd7 zd?nH{-n7#u##MUs%Xa$cmn!3Gi=8?2p2|A+qMUp1kjg&RB<FQMuf!{k%xRD!w=GxZ zl|LuuSI5izv^r6c`-@!Qc~}%CPqqs$-z$p7f41-YFk0My;d8rKrK$%8PudUeiBt>s z@3+0pS5?W5w`FP7$LgWFeX?xcTWV3+7P;uhi=upPzg>Rrw5W*PY*!o`5R0#^v6mcp zUoHKtQ&w(0td<>LEvwe-RL<UFxxBbRt>{RR)yWmg=eMNqk4)vyza;(NJR(-5xb~_K zGDOY9MSJx?jCgGHw7q7>n0S0>z+PJy6zdN5+UqO7Q?<Q^<r8zyswW$E%DPyk>dPBs z{k1;TkX9iZK518to=n+z#IH77j+IaEZ4=J~Gwh8WD@Buvv77x1M9c0myR~4Nc(yrc zw<U~=_Nt?HyE|2N6rPnGqra)nL?t_iE~rh{`{d?>@2V~5+vV2o*HqUDzwBPyqqg-I z%8<}WAz|S+dm<t|xA1Y@x-rXg-Fn9gbKSP}A(7@AV}6M<_juRsX|WPrclY*?WOJXf zw9;oStJd$M`gMF(slJz%`K%gk$r61jS)y<Hgz(|~b@Bc8(xUZ0@N)X}%RTivf9d1u zv+&f7PqC}FY8Y7{vO=R?BC<v_i{!#8IeMAEI+2AUD@B%ytQA=-vRb2FF0x*uUNEv^ zWXZ^ykwqh`MwX4N8(BEAa%Abq+L6U0t4EfPtRE==QURkbfl=20DFRXjqzp(MkU}7p zKuUqs0x1Sk4Wt}MJ&=MJbw!Yp7<EmMq99d4%7WAdDGX8>q%=rvkm4ZKLCS;F2PqIz zA*4h`T_dDONR^N>A$39ug;WYD6;dmtSV*;yav}9X3TD(5LrP}UHA9MK)Kx>uhSUuy z98x)?bV%)x;vv;T%7@esDWFkT5GkQi*AOY9QCATuBT`4CkVqwwQX;iPiiuPcDJN1- zq@YMek&+s9O_8D+bybnF8g*Tf!XlMLN{iGMDK1i7q`XLdkpd$XMoMhdHAaeT)Kx~x zY}9o|3XN16DK%1Sq}WKck#bu)-C?2O5jT50QIWUsv8>}w^znZ!_&*8%`xZ^xi>Q27 TWnOk}w#cf?$;r;i7SVqK2N!kg diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Noronha b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Noronha deleted file mode 100644 index 6d91f91452d0c8474f917c41add3395838504ac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmb`^y)T170LSsCMMw#^8gMiv1_?FLRQv--NS=tW2@+FBw${vW69dDI;vdkONF>-K zSj0=cEY#phs7A@T?<FP+iEFN(rqkv7^C#!$;@*!_VgKQBI_>3mUB-T`Zq3eQ8<NM_ z&$!A3?Q-X8PMr5^d0u#u7mX+SA~z&1%hmE~{a9RIuE@L}6EACleyti6#oclFRxea( ztXY;0w#9p7U%ziYs&b(uKbBLf=_n(c7mrkn?$EM#Pqi*h$+p@Z6`cs{=<T$K_1){( zX-@PNv${XKAQIPSGVu^n$-_Voq&$^2#(3e-uRdX8ZZ<s6nBX~7Y0O>Ts~H~gy{_&a zd%uJDe~44EaX9u3hDb;#r;UXKL!u$!oHia3&}kzgA(5C!P$Vi67Kw`lMj|7joi;WS z+-ajD;gR^fodJ*$kRgyUkU@}9kYSv59AqG;9SIo<84DTAX-7kbL&n3jeapWN7#Xl* H4#p#2M|K~x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Beulah b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Beulah deleted file mode 100644 index 8174c8828851a7ac72aa65cbd5135664152e3182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmd_qZA_L`9LMo<BZ?5%$;1#4N=pI(0mXo%C?J9)2yX#}FbYKMfy)O-4E2-*<3;l< z7f~ibq1BoRb8|R0(#+OY=ECN*HcDGh7Im-OVu4(p@9AYP+FI}W-@ES5g_Dgpzpr;~ z{rVK~w+k@;!ozi%hxbTjzPb-)=vRjVR8L!^?tS?O^-)K#9$9$B8L18ve~dTEiSNtB z<oPmr^}`G?HJC2lHzS4Uijbc6DdG3zRXJ@_xbm-_r>7TBsu@`mIv{CO1w5Ck1LbiQ zcxXTd`Ce1keATOiFT5*4j_=m9j`fOb-|CU_rQPDXj%VcT=2~%meT|&6CQpRs-y`Ry z$BG+bZ<S#Sa@D-RAQ|o#qr!h(q$4f`s>qR<dj5$YRn)*`9o>6c-Pkl=-t_cgwP3X? z7jFDm+?;w*-cs<6SQL6v#>8n6Gxep84caVXM^EUu%U-c~_;nqB)=>%F&+5b@C2Gme zI-Rt4nM$r}l_^{1s-=1B<+74-l^S!eT%Pi|x-B41rbYZN(!L9p=@S=3#s@#k+rJnR zEBb?U=Fom|$DW_`o%?o)tcFkYU9J1n-9`O6yJm;VS@OKj%~_{%e>)}f5?Vyw**9c< zNR`Mx(jg1Rvc!F_9MCJzRjR_4W_AD3B&VpdLKSz;b{<%fsY)8JIIAL~m3Q?y$2;j! zrKy8X={HfLJnA!F`6(gROda*D?Ykr@M!S5Kt?!EmhqwExY7UBZ-IczF3g1)J?aj`^ z34Q93x(cTzq)pZ4WjeKE8&q9Pv{QGwK-C9$occrYYU8(GJCAnei^tBmzQ>yuizg0W z^fi=*2xrep-=@@G#O8(rzAd4jimgTMzO7SZswu6{X&ODFwuQAh+lB{J^Y{j5d-q=T z)cFFZWoM(>F&OXctSVExx@I|k9`l*zZ{hVn{>+&EuRgBZ^MVkr`*x4V-*xwEG1I;W z+i&T*$ND{Uco$(S3%#N+$2_adQ)ZrGugEq(XPcinkNpPkKd<dY^Plb7#{c>)^B1^o zm49$QvOZ*i$O@4qB5OnzX*H`vmWiwrStznnv`giMwQ^>$z-l>`i>wz}FtTD~$;g_m zX3@y1t!CNCx{-w=E9Y1`vUZNeBdh0FKC*s}0w5LOC;?Ifjv^pcK+1sB!D<SDR01gl zQVXOQNHvghAoV~Bf>eZ~BuGs-ih@+dYRZDt#cB$JREDE8NNtefAk{(2gVYBp5K<we zL`aR0A|X{m%7oO(Y6^u^ilbCWtvHH>REwirNWC};hExnG8B#N(Xh_wprff*vtfp{C z<*cT3NbNX^hg1(KA5uT0fJg<A5+XH3iilLvYRZVz(P|3GQAw*QB}XlhVscayDJMrg zk%Dqm6e%fEQ>3U!RgtnHb+wwpB9*n8(jv9Bn&KkWMas)jU!=es6-G+TQDdaY992fj z%u#2nDKt`Pt0^^7YpW?XQf;K%NWGDQBNazVj?`S(e*Z6W9%Kr?+>}1PaA{&nVp4oz La&lsFVp7nb$wqRA diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Center b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/Center deleted file mode 100644 index 8035b24fafeff6fad833094f814905213b2f3a0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmd_qUrd#C9LMqBL6kp%J((235lRa}0Rh8+q%0r?c?9*yA0Y~Z5X<=a2NX5>l?>*E z`D`x4{t!5FwK8OGhI1p#YOQoGY|hq3YRego^{l*Lf#>P>{&m?!>!Pc^XU};*IN7-Q zy!`7MpUV(`yAb^^JY1K4c=sy()pIn*e&=+E>h18_eQ*4%zTOvMk1o6^M{A?SACt}2 z)Qt);eYxDa^<|C-3}svHdtM>BV=Yf-Km_f$WzE<Uqk?Pa*)vP0)vOg$c1YTo3fZ4& zhgl;k?AV|c?i^9KUFowUzWYQ(j_kE(pXw90zu#+Fhxdv*_PuJ&X{{G`Hr82lD+@(b z(G%8P*-7H=qzA0%1qEteShy7vl&E5UOR!_Fg(>f7s6GG8FDh<u+>Y-%ukLA?Z{7RK zfLgH5wH9tVC+^F<YTaM_kw}O-Yb7qSMPlFwJ1KmtNE$n1FB<oY#lx?w<ck|*O3x0J zdLmygX{%Ie2NPs^LyO4R7Alt(R)`1JjLXc#9I-6poO~$6E3#s5I9b;NB75p9C+CYR z;^FT<be0cHtK8GCIgcC|Q;)tWofS<Z>aq6y^6`=*DzC0d<}Ybi1^KIG!S5f7!j#QU z;l;zED6+&UI<Z?6Poz6fzI8~gytGRC_Oz;1C(~p}b(JdZnj=>)&sA%hZ_2gac;#Pr zN&2Tfsw{Izmi-hbD&oF%Dn1vYGH}va-+xV1jdeTK?VpLKhIctNbw|b1J=M-LzE4$c zXRF+h(yyLvsFHP&9jd-CSJqE#R1Jyovf+HOY7Ftn#$(B9)Ab+a^Ib*ag$u5;xn;3< zap0=cR2C`ZfwRt*%wNUUrgxofQQwH|C7sUpz=Uea>X$8J7u3$^4!Lu9P_<5Ol)HKk zs@<21<({@?_0mwXY^y0(FL%$DK_2~?5p2Tizxd3W`Ja7Uw=Yx(*ZrW^6YRQg+alDw zN0@KRbx$4l%;jA~uk`taFJC`v^;52&QoqR4Kj-P6Igj}!{(oNEA^o4t+9v<{E&Ug` zZcT8+amxBA3#6=&vP8-nDT_4KtE4QGvQElEDJ!LBsl2dOPA`_QT8`yX)=OD1WyO>w zQ`T&%7fo5Usa`f^-IRq>R?e|>%Gx;=Pgy<3@+s@*5P+fphXfQ2I7FbRK#_r>gQ*sR zq69?>iWU?xC~8pTpy)vngrW$CBos|JM4_l+s%4?*VycCqD8nHQMH`AZ6m=-_Q1qb) z#Gw#HA`XoxB5|lhk%>bmQ!NySQWU8;w4#VbQHvrMMK6kA6vZf#Q8c57Mp4aF%f_Lb zsTPhyIa4hihjtY4DC$w<qv%HwkfI<(LW+hI5h*H~Y8fdynrb0Alr+^+a%f2rlS564 zoE&;m1m#eaA}K{vil`J-DY8;@HPymWlr`1TQnWSI;!@P5$jhNGMPLqvDH3yNOc9ww zWs1xkI-6>tDN37asVQ2UYOyJ5Q{<-TO%a@;I7M=b=EC^>zu-Jv3%^WDpX^(jnvt58 N>`PBiO;1e={}b5BehUBq diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/New_Salem b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/North_Dakota/New_Salem deleted file mode 100644 index 5b630ee66715d60ee99405709d86e0e6a0c8b29c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmd_qUrd#C9LMqBLG;K8?3allAe5E_0s@L5Nm)Pyc?9tYC`3^pVi}KrAW_3#NiZ** z&*p|$Nnqq^&4jrbj*T#@wUu*Wb6Ojvt$!BvtlVOOJpJCkF1zTW?)siR=k?%Z<L2`Y ztgqXUCjNF_{VzORyMB0&R{E>+Sf>5zfLC?3M%&#l{h&VH7itgBzitgzMTkGf8szx* zWn$t|sl4$~rkLzsCfzrph3JTqp0-I5^z02eWlN+Au9{;{Et*i%R*c);lo93KpKgc9 zAr*4GPx_pr>ZY%{?a<5bim;)*_Kefr;^sHIq&&P=+_LWlIkTxo+*(&HXRXT<;rS2A z*~{X^ZSi-@h<UkcPKZxN2F0n!Ul-U>S3^|v@N|3bnIBb5-!(h7`<%MHajv}M`4ej1 zT362B^oh7L{ffM+;BB!W{H%;iutnVDmv+2wtB4;tV<%h-h=qf%*@+h{mDKs7oqV!b zEo!c{Qw}asskJRKZQE?MIB$boQaq;8;~thv(>_=CcoSqs)bAqWyHL4o{IbaW@Mn4N z7XxB>ug}gJI3n&l@RNQ2%X`F%`XTi|%YN&@!lNp?y57oJ)S_~8R$IBhy(99HHamG2 z4vYM-LMQ*^E>SR=>OAtwA+_@2D$BpSNv%4SVii`DtD^Rq*6QV1s<`30wI(`N1=e1) z0uvrplHPBXd=n$eVm@=qJ`iHv<SA!;&s9-A(&1FJye}Rd-04(S9}|ytRydFQ-&0j> zP1X}hJ?hEYa;rM5Rn_EWSv8{@Rc&0XReP>L)p<Qu-SI@V>D#ZZr`q$y)8}1hbK^qs z%!w;beMy+G4xDwir2ite*1zs-3;$GXFKlzRPmZd_j2^3T<h<Gu(Q54&>{Cr+8?Bw4 z2i2}i1=jB72K8KjqSahks`hluu!21LGbPx->%aa?oBAJoT(@gf2-kh9%M<LnM{F_O zyoZ`^>AI(TJ+pWh5i9)x;m^^}8vT^&rzjw@_0QS*XU=23A@I*@JEZ@!S=-oOzoq{I z*R2c=?M2pyED%{CvP5K!$Rdq;mB=!Ybs`HzR*Gh+ys%bIFBVuW$8wSNA`3=Vj4T;h zvr#V^S+!9w8(BB9aAf5iOGnnuv3O+l9Lq=6&rtxR0vshkYQRwhqzXtGkUAK3A&^QS zr9f(d6a%RSQVygZNI{T_aFhh82}e<osu*=ykh&OkVUWsjlm@8{QXHf@NO_R@AO%7y zgp>%W5mF?iN=TWIIvI7LkV<is3aJ%Gv5;zUlnbdBN5PPaAtgg<h7=8{no*aHqi#lB zIF8C0b?G>2hZGN~9#TG}en<h43L+&$YKRmOsiIMr5vik57m}lrMqNsdS|Y{ds3uZQ zj(Q>m<)|o9QlzFxQIV=5Wku?0)P+SVYt*GhYHQTRMXHOGm!rN&fjKISl$fK&NRc_J zjFg$9&PH8mq|!!RYNXaiU2LS<NV$=EBLzn)j+7j!xiJ0yU*z1U3%^vCKGDB8IW0LQ N(Vv={oSK~C`xB@nc3A)b diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Ojinaga b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Ojinaga deleted file mode 100644 index 190c5c86dd8f1f00ecc13448c649acc97e93df58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmdUuO-NKx07mbarHJVx3IZj90wHvAG=DS8w9Is}bebkLwNi)4(kW%I^5;U5wDJ}r zfhh$^iwH$zG6GxKt}qv2K^9~`M1cj7VEVe})govWwCTItcODPk?i^Q{uP#aau@(9Y zmzC?w`)a8lgTeRyp)U=uf_3idySY=<W09%VV~ZE(9NvIPY6|x!=X=DKk`MlrxIIQ{ z(sP*>w#i73`6kleMH(3k&qU_eRcdSSiO3p`P}}bJi|p=?YI|RY*wOe{<#hJRoyEf{ zx28?zZN8#*<yFbu(akD<V~)(9zibqQZjc4jO~&5Y<+AYFpelM=A)T#VYF{v07FYPx z{@(TSKvtnD353Yf*aYP|I4fP>qm?`5p>)5AH$3ZJ3(rK9ad>G$l--;&%4cqgiq0wH z$oM5uSu<)>4b+Qj=cGE?)g_N5jHu&YpR8HgqiXXDW$mYc^2Q}d?<0@$g+)u>olJG& z?Ppovd&oFB86{2yGK_|yInn5jG5p<A;&jTQai(!pG_84QG#B@Z=A{J{NFR}bnHQ>M zZI5gjf1u9J2jsbd8|wVDN4B<KP;FzGvc0labzF^=!WP0=rcbEt-yYK(h!w&#`;`ba z&D+;SxM|)Swng%8Gk$(Aa=L`G)FpDcdHP-7-{<-ZZRUUdXzHO4L?MVq5S1W0S=37L z8(J~cg6PFi45ArCHHdBy<t%FLAnGyngDA+*5TYVOM~IRPEg@<`^n@r1(G;R8L|2Hi z7PYnzbuDUrAqqn@hNukD8KN{qYlzwqy&;N2G>52eQR@y--lEnXqP|6~KO_N029OjO zIY5$NWC2Nokq0CZNG6a}Ah|%2v8c0wq+?O%14+oD&IpncBqvBxjI1DOG4g^W#>fnk z8Y4GIau#)Vkn}9-{2&Qh)EPojgyaZG5|Sk(O-P>bKS(q}_nW4>jdv#7lkAD{PKU$p IuqQ_R0G#QIJOBUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Panama b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Panama deleted file mode 100644 index 5c1c06372c6dc8610ffd14f74e923bdcb9b21d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmWHE%1kq2zyQoZ5fBCeCLji}c^ZI3_m{*Mj7<OkZ!KV80Fn|6EdT%S+`z!$;~T=@ r48*R%AwX3i5JK2wm@Pa%AX<PX{{NrZt|kDYK{hcEXB8LFR#Pqj=|C+j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Pangnirtung b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Pangnirtung deleted file mode 100644 index df78b62682a5b376f6d7ca894c842f6b3d57f363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2108 zcmeIyaY$WN0LStB(l(Pxjk4Ty*0iN=`rgy^$}Lx#+T*R>yt(JvbZuu#dpIpmYZGnD z8EsViXMYqrD5PP3j3QPoM-hldtSF+pnGqFwD)NuOIA)Nv_HO5US`-99(4XDMxu460 zry%~miRShPE1bVwOUxS%*8y{QF6lS7;mOASkDmTUoG<)Io)@#;&!KSjLUGI3)$Qxl zHQVyM>{zb4wld{iSA0?B6y&<gGN#q?z(sfY+^-_{>uERd+>}@`KJMnfJ|?a|G3?&3 z|3|g*i6d@7)2FI%&k66w$QiY2<CES^*~eAU>Nc+^H6ltfqh86>pjiEViMM97SCmfN z<(3V#h~VjBH`KR5grCh3<;kS3*!zoE8;$9k8^02fqBZ)KicxXv;w)X6`-Q5UNjd8- ze5lu-J*RK`a!6I3`ay1Zr(fNE%#(LKzgtyzy&-E39};&qJSS^gcZs@Cx2&(L74`Ec zb+l}!icTEWv8);uJKd=_&K9b>UwB5|^I5fsAMB8u&J>7-?Q!W2q>Fp2Lb7rHjM$vF zR3@4}5Qz)(a!cf8vE{of_165eYU_J*dRywGYJO=#w@e*X+YgWE`$s#~j@CiFb7+$i z@i*nJr#i&$vH|%(GA>%PdSqKPB-&=1WwL0gNPb);+ZWA?_E+=eo|#F}F|b~Deln*X z>dw;-pPEozO(`vpji^T=O7HC&RF7uAtM@hZs(q<x*<Cpxx~IlvPfm~M86B3r3(exO zp(FCZ=T+ihUs68)R=()l5tE0GJHkl|T$YxecKJVk7A?N?$++T=r~g3nUuG`fpY#Ih z_MYMU?~gf4eE(Y&xXQlC=1pLk@4x+;v%>dZdC^(Pb70k9-<O5MPR)G@r^YpBvpIEj z+!9Vb$GoWJm}kcc*kAek?a$}Lzu3mYrJvxNi;W;VLAGKwdqFmX?1rzg9b`YqhL9a0 zTSE4PYzo<x)ocsd7qT&AXUNu&y&;=Jc86>a*&nh&WQWKWkv&??CXroQ%{GyJA{#|^ zifk3xE3#Q+x5##p{URGic8qKp*)y_fWY<=+Z7%kWY#iA+vUOzd$mWsVBil#zk2C=3 z0MY`a2UgPrqzhKl2BZ&G(+H#!NGp(DAk9F!fwTkZ2htFvBS=e-o>)y&kgixwTadn3 zO=FPGAgw`qgER-}4$>Z^KS+a+4k0Z<dW19y>5|p73F(v7Gz#gI)wBxf71AuETS&W* zejyD*I)=0i=^4^Aq-$2wHl%M>(>SDaR?|A9cS!S)?jh|%`iC?S|L-7w1;@!Wv5c5# Umd4ixD}v$DczJoSJQ&XW4V<53a{vGU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Paramaribo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Paramaribo deleted file mode 100644 index 1b608b3e57479c8ba49789483e4f19e037058d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmWHE%1kq2zyPd35fBCeHXsJEg&KgwMAp6?`?S1|TuRc}BE8RWNB#f*{}~vWm|0l< z|3BlwzyKs|7(i?v5P9wd1IPdWS1&N|`S^w~1OTzFfw8dxhy<Di10f{1;RjR`(AxhX gw}5Dndq6bEO(1EIyFhe3P>fQyaoGUfYG=#^0M%qrm;e9( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Phoenix b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Phoenix deleted file mode 100644 index adf28236a2feb68f177f5b002ea068db59eea997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmWHE%1kq2zyK^j5fBCeZXgD+1sZ_Fyk%As=I>^2SkNXjVd1Qo4W~PKCY%?)FLS>C z>6#0TQZm1OlnVTQ5y8O32!zZ)$jJ2n|Fm}u4FCVHUckum|Nq<x3>;uKkB@H%gRct^ z2Lo|<2+(i{2qEkw9-vCFlYT(;{0D+K7M=|t8stO}4RR)k200Z(gPaSZK~4tIAZLSV apwmG#$oU`|<OL87@&+aT-~xKgoC^R+MSyDn diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Port-au-Prince b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Port-au-Prince deleted file mode 100644 index 7306caeffa0ba1d1b8a9b37d9459ebaabaecdb20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1455 zcmd7RO-K}B0Eh9}G9kf(2f@;`??uyfSF@rFmRggd%}IAHSF^X$7C+M0k8JJ33JRf1 zNVR$hA?gr8Sea1}k`dG;QY`2Y_IB|QR3l!b!tH$~sK7&XYloTNFuThh_W1`wb%*ne zIj?yAgp*gfKDkdiqc2yRTD~tz-8Q<|@x{A%>a&^pVa%I0Hfk;z8T6*#y=P`zyW(Bi zbJ<*W_Lz5h@U>b|KcH3?JW#84^r+Rzeae~Drkt}wA~PYVGADXP*2nc~&2Xp49uJ6| z{z~B*Tqkn7HVgNq6yXV1sJzy%BENW(T3h-~Y$=JDTWgBEzTA*m<a2sUs{GQ7#);j9 zxw7==q$o>El7Zk05%@MO%L{Iaz0ansirJegbYtAAoVcK>&J9`nh8tCNO|P}Tf0q*e z`|?0{gE*KIm50K9QIi;vwZ*xj_ESiPok=46vQXB=Pm8+S>9T(EjcAB&v>IPcsUsa} zR@1<^Y7Wj?^5T$cDNt5xbFXSkermOsbgK5*_p)O{RCG*?$Vf^=M24@+&Y6%n-hW=6 zcv~n=c7^4shv}lLdb>Q`X9&mqdB2Xh1#^$z@BYhOEcV!K82ain;$pGqPaF$lu}61| z#6RzM`U8e(>PwMNpJf642OEaNVPgdTp2i;iNjr_1pI^~G7mL+(XP8JTJSG<;8C#tV zk`9s&k`R&+k`j^=k`$5^k`|H|k{FU1lA5i~4N1;cXNRPR<cB1PWQe4Q<cK7RWQnAS z<cTDTWQwGU<ccJVWQ(MW<clPXWQ?S2t8+$@MzTiIM)F1yM>0oJM{-A!N3uuKNAgD| zfXo1yf~}qdG6`Ef3uGF$dLGC`keMJ;LFR%?2AK^q9b`Vpgpe5_Q?k`_LMCOaXN645 vR?iEW7&0?tYRKG>$sw~trf2-8+e^@6EYPFO_UF6uT<&bY$K&$2+zCGbaw3PQ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Port_of_Spain b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Port_of_Spain deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Acre b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Acre deleted file mode 100644 index b612ac23562126db6b0aa3ce26dea6760c15be24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmcK1J4nMo9Dwm_Z9%H&B7%sIb{BjVL_{)nP`pYead0ZQxd`HtI_TokNfZ}XJ2^?~ zbX(CWb7`xBn?(>`rL~;@FVsm89K3M(jzGfYckbF|W?KCiQF+2-#AUMX&C2a4e~>Hm zXH=oRZi>%ZU)6F>dG1D+>w~&7)b=aIZKv9r(zVm3b6dUCckYVwdOYmEMR%Qdlhq%6 z^QMtb=|<_^X~v%X=J|kW)f4*j@WhN<=k@5$iy1ph`{Of@Ccd|?6Fm<mwc+ViFJe4v ztqO;Jxw^t(Yt5EY)|N~tVr}t4b+cBT_0qDdCMIWPCgo?ohx-SFM&~8jiv@!M5>!wq zFccgLP*6dlKm`>n3K#{A0!P8408$VskQ7V`Xi!0=zy=ju3NQtk?E_80rhrq>Dex40 W$^lRgfqL?-e>sTQf*j0ZGWG?L1Q>+? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Velho b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Porto_Velho deleted file mode 100644 index 2423fc19a8a0c15451876f0f8f7c469112c2d078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmb`@y-UMD7=ZD#eo*Sy;-G`pk5%EY9YjP<T~!bQf`5P_IJxLn?b=-g9UQIGjjcFj z5Q>{1I+Uh%5gY<4_z_y=e4jW9g5ZVAF9a^+ecaWJwF&3PYLPc=R!TO{ox5_|Kg~T9 zdsd!`pG&6nJg3iUIaQfF*OefltNo8&wY0AM=BTb62I|f~(RFuLy&QCTuWg&^&D+xN z-D4(Pp3-6YS~Ze&uTf|>&7fC*<nw0W@<<Qv+?&+#yf>8g&G6o~9_hF>S!=BmkNtAR zt-a`T9BXf`Vy)JeJtwiS=sM#nEjuH>&2s-RYWRIbzGy8YBV$L(=*aj;0whDEq(E{+ zN)jXsk_O3xBtkMFsgPVqG9+81q(kyWN<t(fl9JyiCz2G&iljyIB8f38Xa6B{a$1tl GWRhRy+5kfU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Puerto_Rico b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Puerto_Rico deleted file mode 100644 index d4525a68a60351f19a16e0b6f4f1422b71ff3fcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmWHE%1kq2zyK^j5fBCe7+atL$T|JZ=)fiAF9nwp-d<p2W@7yR{}4L^!~g%s4=}L& z|9|xYBL|q|@$n5|a0~|G03Z$z0qSG~;}F93u>uu>>=gI`BtYOl5L7*zx)Vf$><7^x SH-KrNI~d4u2p7<GCR_kVPD_#i diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Punta_Arenas b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Punta_Arenas deleted file mode 100644 index 4d84eed4e235bdcfb3ed8ea457e1bef3717db3bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1911 zcmdtiYiNye0LSs?oHIMK8Ji)-nEPcee>=m*Hvf&?%;m6QX(S4h7%?xXA+fwL7D-4X zNt*xWvQ3tM(uB!5FHWOK$t9A7+%J#+_YrTr@X8y{)AM{zr?c9N|MyqCpln&P^~V)q zzTx58U>-hq+hShTA}{w)=@b9a&5v4+S!=agw6UdbV}`8HvI6Hy%JumHDgFy-C*(!X z@<2m;n{Ie~$lv&_R5x8u^tbj|En8PT3xs@gb*Q37eha3{?=_#5-FjPF>+UPp2ETU8 z0_B;TtiuwMRENx2GTe$*-l)sc`><U_e2<eIuLM=(gLg9O)GN`cxlKk_1w`i~O|r|1 zdJ(fDq+|2<iLT2Ublk8C(Jl9&?jBpCdJNg5d%Rw+dWJ95J%jU9ucwoBd|j&QeWz6R z*&DAC&SuKK<zH35>O`4X=@I?cxaEMfFJj=#$8u1w2V!ulr3ZhyB8I&AsE6J=CWd{u zriWi`RwLR@>ZIdG)yRe_J!;!lHTu9xJ!Z*LCARF8W3zKq^5Qb-%V-lRvQUnTnkvRe zH_8d&A(d)%k*T*LMB4KtJ@NDlG3iFMPT$okGETMY%$2oba#c{vqMIsf#W|hrJENxL z@7Gh~cB`DR^)lyexyp;(C-d6fBL8)TEV#TzObeFC!bVF?ubU`mw0Ol#|294AaINxZ z-_x@<?@@D--piuWb*eb(uAD#NshEHEr7oGWLsi<g?Q*+3t}yqn+v7HOhwy)Td%d>Z zyxp?Q`;rxA+fB-fu<h&G>crb+-l2di=GQl&fE6=+MzK|7o>5|)c~Z>dGe^-}F4u31 z|9+4w%#WRe{PE{sng77H%XTJwMGiJ{xRC>n9CGBKBZnP1@W`P@4nA`DkpPeg98CyF z3`h`26pkhgBo0Rt2oec8q40rNxJ)oWG)Oo|JV-!DL`X<TOpYcfBq}5<BrYT{Br+s4 zBsL^CBswHKBt9fSBtj%aBt}OQBod{g2@{DE2^5JG2^EPI2^NVK2^WbM2^fhO2^opm z(FBb|jf9QFjRcNFj)acHjs%ZHkA#oJj|>1Z0>}^`V}J|-G788rAmiX@1_BugWGIla zKn4RD4P-cw@jwOy84+YikTF391sN4bGc3rsIGTY$Mg|!gWNeVZK}H7|9%Ouw0YXLy k86sqikU>I52^l6wGfv1rVWm0p)_=27k?Cf;GJTOh03OvyAOHXW diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rainy_River b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rainy_River deleted file mode 100644 index 70dcd2d8014a3dccb9c3cdcd83158af262afe6a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2131 zcmds%YfRN;9LIl$Y$A!0Ng)z=DG7xm2Sbl0WeH=Dh?gT5A@hPEmhnr0M2#LdCiWuT zq)b=CXjE&}lvswf$gXQ$#*pS}71LU-xlvE$3rfc6`8;oX(aW~JXV3Hb@9g~FozEw- zzV3k>`Nytx-*8x)J3LP{?&|36G$-EvQ$HOk-}w2#F>`MA6+O3Uf{mTgZzd$Xp>fh} z;_Op;-Gz2D@tadN{%oU}bmoYi{K^qYINo5df1*LAG?&>M>dItlW!NSbh2_S@$@Zp< zWJ#K}NT<b)N^;CJP5wQ}Ouu+lQwIJrH^2YArgnd4(mLPM8BLRA=KfBdweB~Wz5QK# zOYWfDT71IJNqke%=kB-ZV*@55Zi~$r>M?UK7ub1yPn*oa&6?Hms0sGu>-?5VlifZ? zL$ytkvny5?6jsRXYc6YU`Vv`~^Mx)NpCaMuKilx7F<E@|GrQ!I3v$P|ui2$1M@`;4 zhwPn)hs<5is$Eup*4*9tq~25df>~Zuule&^O+o%@E%@UtDa_ho3kQ!&QGBT_>e(yB z!y$X`bI+I+=T~aUzGk!XbhegOSD95ur|9aXd1g)H6<wQ>W+Lm(Yh*NF%5r<P?59+z zNd3xId@NEqcG|A*`a!COj@jzgkL13-J$6IQOLBilwcS|qf!Wm7tedmC%$C|Jt%*Ni zwif2;*5PfYHa$&izbrO&;{#gvdZyWa=|_F=XpubBAGJH0=E=h+FWUODc+tZj+DCGK zm7Vo3+FgkQ(oouF8^(rBQ@Bf;hWgF!qyxIUuiG?_Y|}j*?Pl-S#k#Mh(LC0hsVy7I z&Ev-=X-ps{aLqXG|MU}$zFZ*^jh;Cb7#EGc`n<&Y=ZXGKSWyy@<@xTcb*J2&RT1}> z776$(^6x4fbU*YejPQnA)NSW4ZMQ+xfan2H1fmH<6;G!N@1hJu8;CldP9KOu5RD)z zL3DyB#n1|(7DF$HVhqh7sxfqfD96waq8>v(Pp2S6Lx_qH9U)3Ww1lY1&=aC4LsN*V z3|%40GPLz{>O%DObP7W>hNukD8KN{qYlzwqy&;M-G>53p&>f;YLwkt&4E;S_0vH*9 zq=1nFND?4ffTRJE2S_3ynSi7Mk_$*OAldMA>0so;(<OwF5l@#AMou6}fn)`e7D!$o ziGgGWk{U>EAjyGb$J3<;k{?f(AV!8fU5Xevf+UHNB}keWd4eR0kts;3Ai07h3z98J zx*+-TbP0oG%+sX|k~2@2G)UGUX=CIKk~l`@AgN>I4w5`Z_8{qF<j>P35RySpmqJJm xJzWwZS%jn!l1E4)A(@1v5|T^#AM`TLWpts-X=cfSU`{YQvm_J>hJx8~e*<d@HIe`T diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rankin_Inlet b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rankin_Inlet deleted file mode 100644 index 9f50f36ef45a0210a0dbcfda1ff734fab79f8153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1930 zcmdUvT};(=9EZOLT^buTGYXNQ%tZ8XI0r+ICTVdP14Vo}5(t_piulIYw<Gw1KR2c~ z8W%3J)i51;qfQ<3Z7wqHWotUeaIURlTFaap^JlfmlyUk!|GH@FLcR3E{^wx_&bj(N zPjp`0(p>r9o^kK+um<<=d$MsazwcTt_j9H%>>a)F#?ZQQd9gBVlZ(Uh(!^Bza#pIO zjF_Oq2KPy7!Z1z!BgG8A`B2k3ADCCZ`dQOY{$w%^e5tR-o|o6QAJ7qV@5$@Szpx|o zy5x<L{dQFHDajnO-DdW8nykddHmkecjJZ>2$98;V{9TJQyLF=pv_~|jsnP`ZjM7kT zOmf!^)^SA@^5*P2nwL3A#^+wv34_ukJp8r|-|Cl%55KpQzP%xD{dm+)KHg{Y&wps& zZs|5tK2<xl{(^a@dAGh>cF+{m)N3TC*%U@*Y2lw|q$qopE$aG2ij&H0ar<T|=?U3s zpM7kmU!S3+TN=%b(?Kn(t}-+CzM!)v=bPCZ{?a*V874aSx<>narabSgmj9M673tS( z#Wy0A{ip4`wqK;Gd!Mat{#xdDY_bb#4$J$k)plX&Mf1VVMqQNMW)|00X-(1&v!p0r zm-H+%wV4@Od!@wG4f1K-F~3=U>sMW|w^&wQjoVeRv9kL3O<P}{B-(PxuF1PAYwHi$ zb;+HwzHFym-``_m;WmwRUo{OWJG7zWq-pG3rkh&#n9V<w=$57pX6sqMHZ6G1Y}@yo zN`fz8z~lZ5eC+>x<Ttvra*M~myWkrbk01G5o{h)Po$w{`DntHxCp#FFf=DDP1#{fv zSm^lQMW5i1d;k4l+>L{V95v*y`7_7OIB>|3GY%bc?2Lnl96jUkJ-XwE2mp})A_7DP zh!7Ad7-B%=U<d+{gdqw<7KSh$oiq?}JUV$G0zo8#hy;-dA{0a_h*%K07=l40V~7Tk zjUgOFI)->2oqP-dArdk~gvbaH5+Wr;Oo*HiK_QYtM1{x-5!R!VmLaZ3Coe-_k4|ES z$Pk$!LPMm6hz*e&A~-~Hi0Ba6A;Nof(nG}e=;UVvz@v)*BLt8bFoFPy0wWBNI4}YM zi3B7RkXS&10f`1A93EXfAOZ2{A_57CM;8-FP#{rZgar~8MqnV3VT1+}8%A&-(P4zg zql*tDKptI$AR+STVgv~iBubDlLE;1n6eLpcsSj16E7*8fFn{T|KyD!DFAaqPp+GS4 EZ|0Bbod5s; diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Recife b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Recife deleted file mode 100644 index fe55739dd36e6dfea5f340f2d099c30424ba4e62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmb`^KP&@L0LSrb{fU&6#bCgrF-S;W94XO=k%U3g0fR|MCkBH>%3zWhNm$+}2D!0J z7FrV#B5C>$ldur#(vs(W&uAg>n(L=&a?SPoi%!SpdaNI(!hFNU=`<Ig>sHO%*8Y4V zQ9oKpd=9I_=U#b~TN3I11DSp-$xPF&lR2Cc*>a=I?dC*2yCVxxTfA;-=dEf+6pv@+ zd$2{h6J63xo`_Q5(kbn^s{B+fKQ>lW^Vz0sS-w%Ns?QPjxoTUB$@bcm3QaaRp}R%V z5q@zxu96~LJazgL>tY~(F9#m#)nH0Hk%gd&YppH6?^iFs*7*_3()zyOtJM1X!m1e? zk6PWb$6U7gqnzj;;<(?pm|xVINJuD86AKB3L_@-Pns`V+PZJRdiNr*LB2kgBNL(Z^ z5*Z2YX<{S6Jxz2ZJQAPBX8>dbWC&yoWDsN&WEf8~4l<CZ83`E*84DTA(~O1;hm41D P^DO^5U?5_~9I^vnF4rb2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Regina b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Regina deleted file mode 100644 index 5fe8d6b618e34c4c87a7eac43f7a27af41161d02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 994 zcmc)I%S%*Y9Eb7Wl%-5VyqJMViy|}(1r3t+8kQv%jsz`aOcZA2p+6uFEegTK3$7jA zL`0A)FT<2XUdjsyW0`kP-ZCvYM2iUO_&%@gbmPi1yytT`%rJ}R8@(TIz9RdsljaSF ztIQmpb6s<L^0)n5qQ6^rrZU~0rW(Ju<c8OGz0~hlm%U{E89(VqywvFuCpEd_z23=o z-Xu@O-aX9n2OGA%p}SlD@U`~XNa=+C{zA9+A@7?r8lH%a{uy`1wqC`?TO&Gs@t2cs z$d#$aHubT#MLyN7s_F9!^7-npnvnsSJ^NhEdR;R2Z&1&_eJl%0&-CJpgu68GR4=!> zu9t}GFYyQN%A;F)^=5^;R$r{w3k%$h$}06WyIeLe6{*di`Ley?tMAiO@?#{e<XGsy z&+&`{U+;bSL=beWi3GvRu26<~){<qPBlfPiOU~`;s8m;&Q)|vWbM8c?+&puI{@<gA zDDd0<hJOtLN+30mB1jda3{nRvgjBMcQb;YUDTY)-$|3cTf=ETABvKP8id03)T1{P~ zFj5&QZ8f!#;z)I*JW?N70I~vP30AWPWD&?JkYyn2Ko)|m1X&8Q7GyEVYLMk1>p>QT XtO!|>)vO6w6tXHj`elX9)XKuUTnF}q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Resolute b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Resolute deleted file mode 100644 index 884b1f6470c78c482f0daa280b85e01312c764da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1930 zcmdUvZ%ov69LGP0E{%;^DTPQ-S`vC3cNlt_^p9f<5=lJ?gv=B}EaOw^32O9VWBRCk z;540%(os*UnPZu)N%nthHODB|Rxz#Rnj7oepDh-Q>-+lE1Gb*n!`|$7uiJ6=?DKjh z*S0-gD*xIw{u3V7;UC^-n}7LgtlR!5S-yVs&Yc%$wAIVZ#<<I_j>}C;a^1~Exso$y zvCf)4F1Z=AH22pWn|*0a^9KL4Ti*Xp^G|(i1;^jhTT|D|ZQaLp&YE9j?v}Ie_Oc<l zqvj<yFZ(SioZsyVCkCx3bE7L7?zj0@D&2yCgBBjzpvApAEz+ORlCDOJ9+;=G)|8ZP zo30D18sx53SG25fsVpk}To+HvllbhPT>SEcEE)UEE&b%8-2Kh#ZrRCkD}VO|chCM| zyZ5NN``XXh{XNg?19c~?qNQCEB|TP|SgDo2y)9M6TV2)A5vk6qbJhL3rDi1N9z6D< zEx)irYxi{8iqlc8Yi_cK4&A6LmzCS99lz`9yaG$ExuD7Mkkyx+(fS|rr6K=I*YL4O z<HTvVw(oms8b0irdp?p!26nl1Ew9R>z0GcY?FaVQzE0gx+-DnGo3tfsuWhO-*G(gv zt+lW~TfeBWwrL@4dn0UHF8`oU9IBQl&!^qi)B<_x<R#Z$pC!8gL-%yq&+<(BD{fo% zplq+(=eAFbSSsG9sp0e1k+WAj22NS$=w{v3d%$*oU88%tcG$CL!rHa&VSDcIbt)O5 zj44<9H+9lCC%?bi-%t9UKP$g<`qOivsp<4<FUz&*^gC~cvUrsn{{Eym8kLGfA}JNC z{o`5bIeE$daLA+o{4njuK|_uja@hQv<7ON<<j5I^4mozl!9$LoargoK@k0cFNB|K5 zA_GJSh!hMlAaXDSfk?s-1tJSWn1Egyh&TbgJP?5(5<x_Q$OI7zA{9g|h+GW8Ad)de zgUH4Z4k8^xyntRlhJX+W86rYtga`?d5+Wu<PKcloNg<*_WQ7PD&`Zk@H=vi7A#gx1 zF+*gC%n+d=QbWXs$PE!3A~{5Ki0lyI1A6Hp;s^BdGXfCMM}QFmNDLT3fJA{221pzj zfq+B;5(-ExAi;n{0}_saJ|2*O1oRPsge0Jk2_z_xs4&6;i3=kzkjOAX1BneIIFRTt z!V}QP2NIxwK0=TX1@tk31PKx)NSGjTf&>Z@Dfqt+Ri-c4B44m@?ZQZDBpR-b#Uimt GH1jVLtLuRP diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rio_Branco b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rio_Branco deleted file mode 100644 index b612ac23562126db6b0aa3ce26dea6760c15be24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmcK1J4nMo9Dwm_Z9%H&B7%sIb{BjVL_{)nP`pYead0ZQxd`HtI_TokNfZ}XJ2^?~ zbX(CWb7`xBn?(>`rL~;@FVsm89K3M(jzGfYckbF|W?KCiQF+2-#AUMX&C2a4e~>Hm zXH=oRZi>%ZU)6F>dG1D+>w~&7)b=aIZKv9r(zVm3b6dUCckYVwdOYmEMR%Qdlhq%6 z^QMtb=|<_^X~v%X=J|kW)f4*j@WhN<=k@5$iy1ph`{Of@Ccd|?6Fm<mwc+ViFJe4v ztqO;Jxw^t(Yt5EY)|N~tVr}t4b+cBT_0qDdCMIWPCgo?ohx-SFM&~8jiv@!M5>!wq zFccgLP*6dlKm`>n3K#{A0!P8408$VskQ7V`Xi!0=zy=ju3NQtk?E_80rhrq>Dex40 W$^lRgfqL?-e>sTQf*j0ZGWG?L1Q>+? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rosario b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Rosario deleted file mode 100644 index 8c58f8c23eb0d66d80714a9789b5c20abf043ca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1109 zcmc)IKWLLd9Eb5YZKE+13@9if60xNuA{=dF#6R_w3{^2p4Je%yL=XhU!3v_$#YqTA z5QLV-c2zuwYH6cAjWyb#1X2;fA)vS^A~D3OJ%7)MgE;8s8!n$C(@VZjX7I%EZtst0 znf$`x>662K^(FZlyOvY;&JXza*FD#h8*={S!f7?N=7O1;7}wLyyMFQdOZDK@Tl4T- zSkFwa_03>TKN=bFAMYrs(#48-vc92bkF@!-OL0}+lQiYp9rf&T-k(d~)N>!MnEA9- z^ZLE1#u9oVb<EUvg;agCVLk^>sz!IjZ@e4T%~dJWELYW+`jEd^-KxKq66Ra+p!$Am zz+W0pD0{WnUp~HHhdNFbHsvRDM<ie9On%axAI}!LHm+1%mBWRYXZ@JoUWnJKYV(al z(PZPP-Zm50{X;8s|LbgY@8X!=S3DZcT5AI>t^fE5w*CCHV5_?atu0kN&waO9TQ*+E z+832TyR~m>fe3f6{Xjb7rQ~c;y>fcw{Ju%%?<?*8wNg_qJo4i9%<yfEtcEOytcNV< zlogRBow6pfD6%TDEV3@LFtReTG_p3bII=pjyi?Xk3UEpVNC`*{PALMZ!YO4Sbs&Wx zl{lpoq!y$Yr&NQK<CJ=kf{==kl8~B^qR>^vMats8r7ol}q%x#5q&BA%hg9d3@{szR lQXo<xQX*0#QY2EPQ_4i@L<+^Myqfp_GY#*Qc>8+7KLGQ$?e72p diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santa_Isabel b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santa_Isabel deleted file mode 100644 index 29c83e71ffa6b071c52b2360295bf55009c09b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 zcmdtiZ%oxy9LMnsp(Ki)RFwE*C#4t&SN@A){}j7|+(5aKn2{NO24#>CO3@7+TWihn zMJMGdIyrm5S`o9z{xNdPtu<C*E6m22DKLy8){4q;JMUi)d(^Ym@9vz}-QDi)?t{<U zx2w7`&GnCGuKk3=(_s(qBU|kCTJNtdT}_2`-P6rey_My4??x-vnXu`p&nAwv46gd6 zZt%qWb>Bpnx`x`{p1S1UD&OaAm&;|zawQ={Mm_mzZ1FZV9-pMfr_<F$=t4Cy7@@9? zPN^Syep8d@2Gx)47u5WbZnNORfC}$#Hw)kER*Smc)apdLy5U*Ti<|1zlIs0>Y3U9X zk>}IP)~!{`6S8#V%3`^3UZjo+&XlO>3=@56xx@@EGqE54E-QLw%uTOe6y3O5-+bsJ zSy>XUSJiy0;xd2Ix8#4QZjJa-$0v5G_}NL55Z0m+hCern6MNO_z8;fw-Y?0W$Bg^* z9$Djm+@u`aD5+IPby|I#q<b24M)6$9j4#nyY2&gsG+SrK%u(56QF`5<V`}}mYdYuR zr)tAnk><7!URSrb{bBBS@rb&!_B(S|YnN;+>@%CnpOf4*#%#{rCwDJ8Y&>y=;+c6x z=Y^z7-q0bPe|d>)ed)9*__{{C&Bx6>y#-RZ`+zCxaLcw0rDl7hlH!;g<J&PUzH70j zB=ajNxw2mGT=BEo`ALi}ojtF1otoA64Zovyw~pxh`<_>2<!AK+olR<wci24m%yHS9 z+;1MLIw0lYCryQ?R4OK0O;vo3R1H*`>d;uJeq)QN84bw89TobKFJjcbMvs29dsfw! zB<Q-f5%pNse7(Q+tg4Tg)D4BFR6}5%Y0U1I#^I~xVB|?T*f(IBW?JQm&TjMMP^C2c z+s#vFwury1-aP$6qPT*BgMzOM4w+-G|IRBAI9lLx1p+UND<lwTYjIuA`=ABRt(<#l zf!F8q7W-U9oLqbEwWr8ucVeHQzi;2aSlEp76@E1kU}?zOki{XZLzaiE4_P3xLPxtq zWR1uokyRqgMAnHc6j>><RAjA=cCpB69qn?F^&$&KR*Wo}zr&i5MI)<5mW`|%SvazC zWa-G-k;NmcN0yJQA1MG*0i*<uwgyNMkSZW$K<a=L0;vR23ZxcDF_3B?<v{9z6vWY1 z1SyH5tqD>Tq$)^Rkh&m+K`Mik2B{5F9Hcr(d64=b1wtx>l*rN62q_X$C8SJ9osdEy zl|o8|)CwsUQZ1xhNWGAPAr(VP=4fk%6wT3A4JjK^H>7Y#<&e@LwL^-BR1Ya1Qa_}C zj<$kG2_0<>ks><UDk5b>>WCB)sU%WLq?SlAk!m94MCyqY6saguQb$`;q^ORzsz_NK zZC#PVB9%o-i_{h=E>c~jyhweK0wWbhO6+KBj1<|?Rv9U?qpdSiXr$6esgYVE#YU=) d|NnA_*{o;VtS5QX-D&QWByVb}JJp>M_7|antVjR= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santarem b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santarem deleted file mode 100644 index d776a43877dc872da5bc370cb2b186f7b0890b47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 zcmb`^Pbfq|9Ki8eyR@x;7Z(RCuGC~5Bx!Kj14_M8PEMp;xRA@@x_2oKjyTP6R}SyC zDF-DE+wR(n+ZM{7ZI{OH`?x8k%xm6vdi7p2pXV*CEDfn2BO*_jjJQnJE!%S2JKaiV z+UFlLAG0?5G-=LCyE;E|Zt|6=DRe&gh3v8}*85HAprY@J$ENH}=;!@b|D|zNzxwOu zt!=<o=SEF6cdcu&vR^xCvh_-bc~7Tp*Ttdf-n_RxM^k=0QMA1~8>X-M)+QI%Ov*W@ z8bZHZ;jnX;8Ks=Nxe7&`%lRtGT1BR3JT<5jGKb{^U&H&uxvSsr$QB&urx*kk2Z{y7 zgJKd?Tqrg{#fM@<aiUmJyeMWAH;Ns_k75{994VGT#gk%6ab^41QhX`K6laPx#hYSI RQ}T`fbdQb6pBPWXJ^@0N3Q+(6 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santiago b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santiago deleted file mode 100644 index ab766a41bc06db2956154da6e2fb0dfc3e9c1b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2538 zcmd_rZ%kHI0LStB00M!esHvbPS&|0A;g13acq9-=!KZ}$hlb<`%m6`P1SR<*skKOE zBWFdn*330MU<EdqXRV<Y6|4wdI$JYat;Nhr%=C7?XYr~Ry>070yZ3YV>|x{0?|TY1 zl$Rzr|F{CpH{4vWo16D(&F0Z6vR51^`p(<Y^lkq^XNOjs>-#(F(`46jXYkm%D*f)f zMDKekZ_4+5A06xtAJN?x4|scS6zSt9BfJB%E9AiT?+3p)*Q&pqby^K46zbu+HhE(x zRo-m-L%9Q=YNz^~^3-~@kIYrRh4I=iB1%n2UoHKe5ET&ID+4Z!s=%95<t-<MRM7d~ zWbmP%#l*f58PYN+ZhiH*oK)5&CO<Q*Lv!|tDW%<d>Vi5kZN+|lTWFh_9@(g;U*4%^ z`ft)RhaOU4mzL@9&SW*~^CCHWZ@8LsG+o|a^{1NK8X+Tg`HDL#edN59>*CJ*i}J3p z^J0Foqvu~cAtHYn(|4aeC>C7(NH6@bPu(-}mX3O(Lq&JD=taAqRx$0{bZp5ZN;L10 zaT!@EzPMZ_q>YF~xl%3;&J;^RdSsISuu66&$>dK0MamCRdg<XG#l5FPbn0^hBJI$q zPTzJ!ENdCka?QtTdD$_Yk?@YXFXttlIrRmV71t%Ru2iY)(0wv{)JNo8u9LaFmE!)P zb#i5oqgHh;m3jREBHz1PuYTo-@@AaX4>Y}~9*p{3t|_Wk1;J<J+N4Wj?a`m~`WdIh z`qt0%hO39g#!97&MxGa&R=4TR-4){D*qyq#-7B`t+$&3(x2uw|8o9MNUu`{8C`+YK zr9DZqEMkf(dpS&&yT7V!_1EQN7rs*4x6IIwpSmI{<TYJ+XjoK5e64r1bc<@IPuG;~ z7d78>=-Qk{QG2>q*2lH0`nO+`4WSLH;n`;S#N~~uvAje!4W+3kb2H^ropaT$g^_ZX z>$)BvkFUqiXZ+*q<2%9J{sI4ykH72oec(9u>F2t~l@sW?C$%$?r^h^p2R)O=pM1Y6 zufSPj?nPp;xf9JjzC@45OwC*#Pr<+M^Pu^m-RGG78~y{=E#EVzAK5FiS!B1!c9H!e z8%B1FY#G@zvT0=3$hNI!-^j+1og-Vfn!O{NM|O{F-)i=cGyrV}c%cPcrUyV1kS-u? zK>C0*0_g<O3ajY_(hQ^<NIQ^zAPqq}g0uwb3DOj#D@a?Az95Z3I)k*vYI=h-$7;HR zv<K-A(jcTmNQ;mjAx%QMgtQ6i6VfQ8Q%I|<rdLR_kZvLELi&X?4CxrsGNfln(~zzq zZA1EoG!E$;(mJGfNb`{HA?>r8{vi!SI*7Co=^@fYq>D%!kv<}gL^_GI66qz<OsnZ8 z(oU=CC(=-)qex4Uo+3>}x{9<F=_}G$q_aqCk=`QBMY?M>?M3=)H4R2OjI<c(G16qD z%SfA%J|m4rI&C$rMtW^E%|^OyHSI?FZ8Z%?I*zm)={eGLr0YoAk-j61M>>zR9_hW+ zG#}}{)wCb!ztx-p$T?s&X902^AZG${E+A(Eay}qugw>?O`9B^ML8;~lNl!G-g!JgV T<e2!FC9&~|(Rqviehc~wJPiO4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santo_Domingo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Santo_Domingo deleted file mode 100644 index cc2cbf2b1209b83085dd63f3df98e8f5c4fc3991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 491 zcmWHE%1kq2zyNGO5fBCeK_CXPr5k|6uKP|2zc{=v{91n4;s5fF7Z{wYPcXJ$zQFja z-h;W|Ljdz#77x~dO98C=J3ZJ9wgj***mHtYU|N9X?>!H!G#@4~GBYu=z#%I$>;M1z zDi|1mWC8=r|NqAiFmnF?zjFfv@BjY?b}$NpL>R<<d_x$5U4VqE3lIl~Fz6bX7#lD+ z0$Io)gs@+Pfa<}1`2p4V9|$trWjR1J$ZsGT<UcSC@*@a<{0Ra;zk(=`f59}+&mbD) uZ!it?JBSAPA4~(o07Qer0ZaqK0z`wt14M(u1Vn?vg@Kj<!vzc}6D|P9{f)H% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Sao_Paulo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Sao_Paulo deleted file mode 100644 index 308a545ce5931939fb6353fa4273aedf00b49372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2016 zcmc)KZ%h<)9LMp~k|maZ+FDstzedK$6Tf#ydYX~S5J(OpZ-!JxA|U<=Wn^esN0zy< z$*hcxw)UG3n&p<iwwmasBWEFNjdb>p=}EHn&s^C|uhY7I?_UplP|rMe_qws;&x7y# z6R&A%2nYW4xXyitCy#db<o%5a_wvTOEg$rZD;w(hbG|unp+FBNTV*i%o(`T%>#2#~ z+EWLX$>}S%X!6aZoH^aCL-B}QtQoDpk6JF5dROY@v6D@zDyXTxk0qUb!lw76%$1+B z^lHZzGpT=vPHy|kOfmObi42&j?M-^;m}4fVdc4g!yI!Wv{>@H1*(bSE$7$}NVUriQ zpn0!%$UQ&ZWT&qQn_%yUI-}vJ<eM&?x#(@t#3l_*ika{uVk23rr63yDg49PcOQz_o zfmLSqrB7_M=Vh65W?1KT2F-oPGIn0`Sabi;omyD&t9fAOUphbkgjujHr3-KUMT)A9 zXwl{4QXE@ii-*pek_p?iWdANHP4Bj4UC+pagD=^|iPuc|!3G<vecDuXm)gp*SLLCt z^;#u!%)@mhx+HLii5KN*{Ku#)%^9Oh`)`-(k>|B~&sAA=c0g;kC*{#(t$l1&uRMNu zp<Q0OTb_99E?XNqY@U2&fv%WfOkHD+)};?geaR@TKfcm5-u=BczQ4#cW%X-Qcb%;M zZm+J{Tr6t``s})zTzP8WJGOc5Xj$LcVK+=XCoRqEY|9^?No!@LZT)7SY>ckejYmE; zZMRiu+uk2!Q%ZI7i=F1#uW#1pR%|d^_FvTJ7w?c4y1vxF$Pw4}E0Z}{9tdPI!$Tvk z&t$&%Ja9vKEFPGlVfT!<1LYC_@1x%8KIV@)<$r?Tn8|S5$boy^kt2tW96NIGUU&4! z;d|ZjBLN^0AR!<zAVDBeAYmYJAc1&YBuFS;7Yh;$5)J=8;UMuK0U;3~At5m#L3v$N zNLXGM7ZRA)MTUgtb+IAAA<-e>A@LyrA`v1XA~7OCB2gk?dR?4Ipk5a#5-Jia5-bue z5-t)i5-<`m5;77q5;PJu61LaHjRfv>kt3mdUF=BkNc2efNc_kEAR~Yb0Wt>2ARwcF z3<EL_$Uu1ANFYPubz^}HhS!Y-G91WwAOnJo2r?wdm>`3Kj0!R=$haT_<8>p042{=~ z4Kg@hH#*4hc-{CQ1B8qaGDOH2A%ldB5;9E4I3WY&bt8ogmDi0GGFV<WTF7vD-FP7b zhKv|8WXPBygNBS6`eAb>rvKAJd&2c_ZD)?Z{(q(}d!C!U!iakf7Y1XYP<|+1XKFAO J&X4dW`){q=QK$d_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Scoresbysund b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Scoresbysund deleted file mode 100644 index 8e1366ca39a856d17bf16d5eb331e308890c7ce8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1930 zcmdVaT};(=9LMoL0m+ziUmp+(kP->VBb<YP4;?^6VAMGjcrp}`kO#4ll8m6FW0NuG z82h%d977gP$DBjzg6ab7IcJMln`2Ik)nuAhb2f9}8vFNq|Gns<t8Usl?3~vh7~|&q z{seaHZOE|x@mgSh!kgD?=FPJlG9Ueid@)P?&6}2GuKF}8@!sI_r9WtN=(ieu=VOhT zc~2j@IH(VQ@wUc}pOd)Z5s5$kuB_-*NjUhHJkr!6kM69MmA-%^dJAQhD_fG{lI5|5 zF_Ii!pviYLHRW28rcN!_$G=*jt4HV5b?T<B>Aj+9o!@BsfpK-$omEfOWyxq6m9;rz zl3D(aWW^6ic1D|I&j)3FY_G1Lu8|FYw(7=n1@grA73v+T)||18n%kAHdHr#^sUcDG zJ2%MYqHry!i<K=&KWkyZycC6ht;LByO7X4hQWE-^luTZbCudH|QzK`@H}Q%3d%C4` z_=G;)+$_&@AJ($xj%s;Ry>4CCqyb;CJ{w)C+gz!-ZPu+7QAJX5X^C#Xn<6_t{6j0J zB4y{`VyPPaO?CzENOkX|JYPK}H66d`?!1qrwrWD_68fY*XG9w!KF~e!s(Wr6)5iH0 z-Fu;3UziT)i>E8K>HL1#cO*xfhqlT~jS2d4SC;HA^GZuYw7lY3AqNWY$*YSkX-$vP z*4tO5ZPBc@efOob-@2@?zds~zOpfWnzR$H|WI*3+Kc&H*payN*wn82VeK0KiKmH1{ z?Oz)$%eH5Jvdr`Ew?iWSezqday;&g(?|=II0c(vr!@ND#YPXx;m>0h@4_4q`objCV zNBmdY=A8MKlSa-OIc?;;krQ_`XO5gYa_-2<BWI7CK63s@0!Ri(3P=t}5=a(E8b}^U zB1k5VCKV(XBpD<dBpoClBq1atBqby#Bq<~-BrPN_Brzm2N0S<oo1;k%$qq>m$qz{o z$q-2q$q`8s$r4Eu$rDKw$rMQy$<@&$i)8C)(naz`5=JscQbuw{l18#d(nj(|5=Sye zQb%%kG|3~`JDT*7{E-PjW&oK2WDbx?KxP4%24o(Pi9luonF?eskjX%1!_iC!G9So< zATxqY2{I?hq#(0`ObaqE$iyHsgG>!FH^}55v*T!{2bmv7GeO7<Ayb6R5i&{0EFsf` k%#-8)f1)D2X1a1cUNc^~F8|uJtTcDJ+vWGTohMJ^Ul5tY3jhEB diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Shiprock b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Shiprock deleted file mode 100644 index 7fc669171f88e8e1fb0c1483bb83e746e5f1c779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453 zcmdtjeN5F=9LMnkqQH%ZQ;8v<nU)CgtR#>b8FWLuL3o9$5k`URY6U)Y(?UE3#rVT< zR*YFDf|Ayni4SWwHq<p-TiG0LO>3b&mt~`eO%k}b^FAy8>5u+w>&t$;e%!&IpEvGR z-Zfd`A2->2!ozi$hxe(9ANJ?zJ^i7o`=tck^V$z;Z>?YNYndW?3oq&3_WkO^wg^2m z=l6!8>R53#-KR(Ab%;NrJ^EUhPh1;)Mvi^&5##48<irPg!hbwh2Hs2%VrRSzYW0iY zXD8&O^>Hesdb*xmI<BVVkLl2iVHLU~TZhY&D*WJK=@{9oZn)H=BQBf}ktdsV)O$T5 z`mJs$Uu_mQw!I*4+EOcS_SVR$E1e>y=m9w`H%Z)*G*8CPE>zRQ9WpLBQN{f_SI2)D zt`dgA^o&zKs+or`>sx!ys9C-l^0w`V)a(@jIcM!h;`Zz><Q+@j5p!eSmx;+*B>FGv zB*zAkG<-@YUv`T-2lnZda}6rB>qVV*v`nQp)#;2^7O2d+7MZninwsxiBNvp7s_euE z<y~2ys)eD+GAI73$oVcp=8jzud8dDtcYoF|7WFywJ^j1I;`X2Py}P!F{Q8geeJ#7x zl9E1sf6Z1^kp8kRELg1ye;bs})JEYvcR&_JR*9mcZF1?Ad{O-R8+zF%mCDuFsvmlH zu_~$b>e9|x>fuGjy37}>mM5fY_lmETdpuf~XP;K(-=s*-%&&xJFiNiU4~kX2Bl3~q z1ER8JNIp8yCaP+V$<<x!#AB|ry1KPhJ)U|*KT+pZHIW^<)>*7-ulRIbVydb;<I&#G zXyrYar`LY_i(1!NA)h=OC7$x-%BK&Fi2Cw)+0Z^D)@M)14fV&w#+Zw8Q%R@T<R8<% zoFmFN{JGv7+o3iOoX}fFed@Wc9{v1zk7{gc)?1I~sivx0y=`ZL3J&_~Yf{Md*S|md z?+pZYcL)&(yxkoXV&1g~v+oi1yIkgS3s-@8mYb)-Jf&{4A|Zn8H}}7<Z;$y!yS`EW z!d$>yRY*i1vPNW)$SRR#BI`sJimcRXmWr$uS*+Ep7FjN`USz?@imhhJ$eNKwBdbQc zY+hJ5XBG~uoMY+8+L6U0t4EfPtlw%1fK<S0N`TY=DFRXjjxr#1;3x!A364@AwcscQ zQVouBAobuV2vQNGBuGuHrYJ~Nkg_0kK?;LZ1}P0v8>Bc$bvVj{)Q6)$NQJDXL`aRS zrbtMYILd_72`Lm(DWp_Lt&n0N)k4aJ)C(yXQZb}tNX@LKXh_vK%7)a9qi{&&I7)}q zj-z-;^^o!*^+O7XRM2Wlh}6((iilLvYRZVzk)x1EC6Q7hwM2@ER1+yDQct9yNJXut zq)1Jzrl?3&t){F<T{#MiRF<Q(NNqWai&U4RyhweK0wWbhN{rOlYKn|h*=ov+)Y)nZ zjZ_*bHBxJiVk6b&C^u4Xj)Ef<=O{T+bE_#jQgy2-J5qP6DLhhnr1VJbk>VrON6L@X jUtDkg|1SRy^Iu`1`R|b8nxB@HmXYGh%uLHn%W(V&DI1f# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Sitka b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Sitka deleted file mode 100644 index 662b8b67e581cab42ae250c672580bf224bd17e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2350 zcmciCeN2^A0LSrr5x8)LdP+z{q$4U<UOhm(6=f(!hy=#<CPWs6F{}iIF?=I69l2Fp zY;!P+j&rQqQqOcNT?<Rs+A<m8*2`R!Zq0J)T5q$F+|KuGwYJLjm*?4eJ`dc#e_wxn z%aggTf1D`uA1<fYT)tDbn%AjaiE3=l&uwFksm|olauIqX-EsA&3HS3cPFUAeF=gHS zV0fcXMJ)FQBTJ)|M_vkgUR<oAosnSlf#bsagAPvp=8%f{^0X8CexJJO*dgcUHxCMD zpwGEwS5Vx#q1~C*vR=g1t#INi{NlFaLT7qffk;TH4bF&85Q$;=!NiO>C-KKcdgl3g zDrs!4o^`^bk`G7f+xLC1L}#&_z3r4r3Cxsp)_f=C=3kTZmVPW!<G+@^^tXg>azdwh zUlM8KU+MIVZ6ag%xXwKDg321)r?Zc&RSUYG)AHpSmD8+bZhNlEE8i~fsEt$kz9w0a z`>QJS+$W2Yrir2p^JVeGFXGORyz;KIpNkTms_%aHn7Ahxr5EnqEADN*s7rUeqZU<v zq8B#}sImnI^^&qpYROOMWO-J<C_i&jR>W=;6-S2T(#s8^@|6$tvd_9y)#m;Bfw${b zb;C|wv!_HYFKN~fb|$OZqzdg1xRn3*3?0ZnuL9rRFIOgq#L5rTW!>aCQ9l$TA09s` z8g^Wfj|>lqRZXMv(ZL?^Sk)!n*t1_fo;9MMXx^!sVzpjf-mF$%-mRN`6{`7khi>s? zsFni(z2-u!dTLL*e0nrpJkz;CuGKN3HBczqdasCe1vBLO)=|+OKOsA+4~ve_blq7r zqB_Ta(_IN#bq$}@8?NqF8wcOho4)8!o4a4rTaE@)_o{9B+5RHs4x8c*zupt!iM)YN zD74Mza)m;@TV3Iy(5pdrlzqq8w_|>7bH(wiJHdX>T2|$E)zq5%khwMHmib+E=I_!< z^HEx9zRYp+GRNxw_hEU>?_5rwxqPQy<u7wW<}5sM?Ni*+lQ)124jG-*3=i%2_+Wq> zGeTg9$QY49BBMlxiHs8&sMU-V8LHKc6&WltT4cD$c##1kBSwadj2Rg;GHPVl$heV# zBO^zKj*J}{yw!}}YKD)D9|-^w0VD)S43HooQ9#0g!~qEe5(y*}NGz--7)Ug%CLBmS zkboc&K|+GW1PKZf6(lT3T#&#ZkwHR(#0Cit5*@1v4-y|FKuCm;5Fs%_f`mi~2@?`0 zBv44CkWeA9vYKEa(XyIwA@Q=BfFTh>LWaZ)2^tbLBy33Bkia34Lqdnd&T4{(M9*r% zhs4in0*FKq2_X_gB#1~9kuV~0L;{IK5(y;|OC*>`G_59_NIb13ph!fmCZtGAk)R?` zMZ${26$va7StPVbY?0t1(Y2cJBJs7F03#8$nh+x~MuLn)83{8IXC%-_q+O=c;b9Ti zdm^KwZs6l`jlE75|9`AavXgAGXa85S>uj<AmhHc~{b#|w1ihHFXIAB9=Vr^ys+^qc IoNVd+1O3HSBLDyZ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Barthelemy b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Barthelemy deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Johns b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Johns deleted file mode 100644 index a1d14854af6b82bfe814f2c64aac01bc053d5fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3664 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 P%CPLz)a2CUl-S<@u$syt diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Kitts b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Kitts deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Lucia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Lucia deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Thomas b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Thomas deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Vincent b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/St_Vincent deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Swift_Current b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Swift_Current deleted file mode 100644 index 4db1300a26ed4ad20bed915020eb3af8ba639e33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmchTp-V$i6o=27PbXvG4T{eu7*<Sz{sS5v2zxSETN#+tVqOw#*J2RVHG{~iAlS65 zy}7x8K@i47oeKtwT+es0h{@u4oZokN@Ob>bxU^AOkY6*VZ&)VM<<vyPpTq@kQO9 zT&Amyy{t{<-nWu+B+Z?`+!i*awf<<@v-fhhcx^gzCEcl0(|xE(KR0ilrYGdNH#9Hp zro7%HX0YFoxB9>ix6dUk&sa$XsgY3Q=QHZuVPC|#vsw^3cVuPU-&voAl*!e6Ecq4P zf^JcFEtX}ynczF)KXm=@-|$!G=nUx%=?>`+ap0*QATA(2AWk4&AZ{RjAdWoM6T}t7 Z7sMIF8^j&NAH*TVBl90FGb(o}^95{L?5h9( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tegucigalpa b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tegucigalpa deleted file mode 100644 index 7aea8f9989fbdedf0527a172b41871e70d439060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmWHE%1kq2zyQoZ5fBCe4j=}xc^ZJk5+83Dg;{qVD8|eVP^#MZK-s1?z$Lclfy=cM z7Z{ir!SMh8bv6tP|NrmYz{v9d|LO${96r7w49+e<92^2P0|Y`yu=fW<3(&;>|3UVH hxF9!xXplQVG{`L=8sr`j4RRBhCedA7Kqs1U0RT7DJ_!H- diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Thule b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Thule deleted file mode 100644 index deefcc8df5a1111fb1ccacd1d67f44165d9a736c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1528 zcmd7RO-PhM0Eh84Lqak<Bm{kcC#}}iUEQ+O)Y8OqbJSJ*ZYs^x$~5yk^B|=sgRnrw zljNxkjF1A0%DnV3C58~lgsi88C<>wQZJxJdrw&20%>H&4b}#$<{iU_1J&r$4u=#|` zk>>JxV~=?n?rHrQ^{qok2P)Lg`EtE$CROd8ZkNuv!y;z1Ou8ncMQnG9jJpvk+%+ZI z)AUKiXC>)`{MW)8wO#M=+!K34ES<RZrAl1>sQ3N2tM<QmrjtHgSIHAvraWp=2L_(X z)M39$YZ#O1y^Z2v?p1lHsz7AKo{^auUXl5ANN2_5sjRs!ogEghvL`F`k(CH_bfi<} zy!QxSSA{(GV6(_APnBZuyU0t9l=+tyM8URT=`VaJ{67M+$U7p60ztZX$CN65zNAam zhE(a;j4oU3Qsuqlx?;LgRaW)u<D+Rx`fke;*DA!xm_B)`CRJ30)ye9tNKw6#BWt39 zMa?UhtPKf>+B@O0Zh2PJ-*oD;Z<f@#mQDKn#Efbv{H!kwjH^cPJKfaKuP#R1*Uh>0 zs(J0LY)R}BEsK+~ZA+bKn;w+yt2v@$v{iO4xI|ZXiM%`&F1jm|<ds`rgkxRMKYdu% z<6eiuvgTFLddr%9;@FVm^E=Wr%q{Sn|DNOji(XcLf5rTwWzh|9X$R>CX$a{EX$k2G zX$t8IX$$EKX$<KMX$|QOX%6WQX%Feo)-;H8h_s0Gh%||GiL{CIi8P9IinNOKiZqLK zYirs?`n5F;BOTkCmXV&3rjf3ZwvoP(#*xmE){)+k=8^7gP5Vgywq^s!4s6X9kUb!q zKz4y_1K9_%5o9OGR*=0Qn?ZJiYzNtot=SN=BU`g2WKXtcQ^>B6Z6W(YHiqmB*&4Dp zWOK;wknJJ+vo#w;c4%w1i0skUY!cZevQ1>4$VQQ!B3s4(Wv`)Tx(Q~&PG7vs<BD_o L+-{fK6&LyoQ=^pQ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Thunder_Bay b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Thunder_Bay deleted file mode 100644 index aa1d486097689f5c686d24abbeea0868667118e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2211 zcmdtie@xVM9LMo5h(-q_loTnEg2fK`ZKr5d8n6rXg!C{a(~kz;5Q=wb1Zil7k><vl z4Qe%3Y0Z9(%xt+DlXBM9%9PdmHTu{Vf3&cV(H}0>U7zP?{nsD;+xp%<pU3TXxBKh$ z4A(bpDfRyGOtYVGc%HO}_ZhqG)jM~G{`3hW=W>3Rb81q1{ZSLwb6&?kq|FqGss#0? zOs&-_arUrWo_bjMyhGwMkE<lTSCYSZNvE8Q$Q38L_4HRCGpWyR(P{e{&6S;Z=&PE7 zX2!ZaonGxXS1(G|*Z7l6Mz&vFn>cP}#wV$nzxia=`Eiwb_7}Ns_>9Ur`ng>H;!!ob z-7|9@J*cwlel$5-2ld>*DRaZJr}T~KubAAtZ8|slk@$Ue+CTcT<o&!*&l~EI{E@IK z7-*8hV+&MK*K#R7n4wA{5mVashngR(HaD&MUIlXJnFXaoYT;!mrfk-?x@_!MvuN@I zz4-K5bMtotx_t10-17czeQWO*a@%v8^^(@NWoh>=b$iXzQqizURTi~NRb_>$nmA&D z1sip6WWT9SS*oj#wU}k&IePi?`((veOH^oQv#fkKTh*)&No`+(y0g4URy{bTR%fP3 zxb71bo}7?1f!EZUpQf9&S*P{dQy0y;=n-9ic*NX2x?ivFK5p(AYS9}S`pw3Hm0E?~ zkxf0#YI8xK+#3n0hLjFz3>K-z@p_5mrm4th<<c~5LN&daC0ob7RLy;hP0N{!`o8u| zbN}FoZmo+N={>F=2x!yR+OM~ze`vPXbn5NVAEdpkPqmK@OGieB>KHmCotNs>!vlL| z$Jga*XIDfXc`r+KZK#%A&v+^>eo8|8)c?dQ7JDP?d9m2*FL(*D*on8i#8~X(lX1!J zPIdQ;6``<Ku{!KkaqhCG)}BiHGyBB-eTV;jDhKRW-Bd2Q-|(-oSlfj?`N(vT`5+T= zG9w;4C16g-q>x!5(?aHjObnSBGBu~28!|a$cF6RQ`5_ZTW{6A?nIkeuWR}P@k$EB$ zMP`aj6`8BkP8OLhGF@c8$b^v@BU47^j7%DtH8O2v-pIs}nLF*&k-0nV<dNAU(?{ly zBml_(k^&?LND`1NAZbAIfFuIR1d<9Q7fzcDBpXONkbEEsK{A4*1jz}K6eKH1T9CXT zi9s^sw5dUI<Fv^^vg5SrLGptn2+0tVA|yvhl8`JRX+rXZBnrut)20f^mD45*$(GZm z3&|IfFeGD0%8;BPNkg)Rqz%a%k~k!DNa~Q>Ic@Tg>^W`vko-Aq0+9?NDMWIJBoWCX zl13ztNFtF;BB?}j>9om2vgx$xMDpph2}LrBq!h_1l2jzCNLrD+djG?|`fPjyHoEzt S`Guv0#rdI<lERY0V&7jSTy6jW diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tijuana b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tijuana deleted file mode 100644 index 29c83e71ffa6b071c52b2360295bf55009c09b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 zcmdtiZ%oxy9LMnsp(Ki)RFwE*C#4t&SN@A){}j7|+(5aKn2{NO24#>CO3@7+TWihn zMJMGdIyrm5S`o9z{xNdPtu<C*E6m22DKLy8){4q;JMUi)d(^Ym@9vz}-QDi)?t{<U zx2w7`&GnCGuKk3=(_s(qBU|kCTJNtdT}_2`-P6rey_My4??x-vnXu`p&nAwv46gd6 zZt%qWb>Bpnx`x`{p1S1UD&OaAm&;|zawQ={Mm_mzZ1FZV9-pMfr_<F$=t4Cy7@@9? zPN^Syep8d@2Gx)47u5WbZnNORfC}$#Hw)kER*Smc)apdLy5U*Ti<|1zlIs0>Y3U9X zk>}IP)~!{`6S8#V%3`^3UZjo+&XlO>3=@56xx@@EGqE54E-QLw%uTOe6y3O5-+bsJ zSy>XUSJiy0;xd2Ix8#4QZjJa-$0v5G_}NL55Z0m+hCern6MNO_z8;fw-Y?0W$Bg^* z9$Djm+@u`aD5+IPby|I#q<b24M)6$9j4#nyY2&gsG+SrK%u(56QF`5<V`}}mYdYuR zr)tAnk><7!URSrb{bBBS@rb&!_B(S|YnN;+>@%CnpOf4*#%#{rCwDJ8Y&>y=;+c6x z=Y^z7-q0bPe|d>)ed)9*__{{C&Bx6>y#-RZ`+zCxaLcw0rDl7hlH!;g<J&PUzH70j zB=ajNxw2mGT=BEo`ALi}ojtF1otoA64Zovyw~pxh`<_>2<!AK+olR<wci24m%yHS9 z+;1MLIw0lYCryQ?R4OK0O;vo3R1H*`>d;uJeq)QN84bw89TobKFJjcbMvs29dsfw! zB<Q-f5%pNse7(Q+tg4Tg)D4BFR6}5%Y0U1I#^I~xVB|?T*f(IBW?JQm&TjMMP^C2c z+s#vFwury1-aP$6qPT*BgMzOM4w+-G|IRBAI9lLx1p+UND<lwTYjIuA`=ABRt(<#l zf!F8q7W-U9oLqbEwWr8ucVeHQzi;2aSlEp76@E1kU}?zOki{XZLzaiE4_P3xLPxtq zWR1uokyRqgMAnHc6j>><RAjA=cCpB69qn?F^&$&KR*Wo}zr&i5MI)<5mW`|%SvazC zWa-G-k;NmcN0yJQA1MG*0i*<uwgyNMkSZW$K<a=L0;vR23ZxcDF_3B?<v{9z6vWY1 z1SyH5tqD>Tq$)^Rkh&m+K`Mik2B{5F9Hcr(d64=b1wtx>l*rN62q_X$C8SJ9osdEy zl|o8|)CwsUQZ1xhNWGAPAr(VP=4fk%6wT3A4JjK^H>7Y#<&e@LwL^-BR1Ya1Qa_}C zj<$kG2_0<>ks><UDk5b>>WCB)sU%WLq?SlAk!m94MCyqY6saguQb$`;q^ORzsz_NK zZC#PVB9%o-i_{h=E>c~jyhweK0wWbhO6+KBj1<|?Rv9U?qpdSiXr$6esgYVE#YU=) d|NnA_*{o;VtS5QX-D&QWByVb}JJp>M_7|antVjR= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Toronto b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Toronto deleted file mode 100644 index 7b4682a39e2fc97450c99eed4576d2a4614bf294..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3503 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tortola b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Tortola deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Vancouver b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Vancouver deleted file mode 100644 index 9b5d924173e6e71c2c0a73cf2aca368d3af002e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2901 zcmd_rT~L%&9LMnmUl4>mnJ5w3NlgS50YOnT({xr$L}ev0!<PgG(@?QhOVK8pvNsNy zFHJ@N$cvmxbQl{OlhB!*nxYcSL~SEWWl&Pl5|ws4-{-cAuA9!zc|OnVESG$Lp7})u z$*zB#ZuT24r`BHH`)sz4$^(bw-Gh<l>n+jJFzEWqhQ&ivqqmnnp1o21F!!oHp<C6D zsg3%i>l@V+xnDOm?@_1x$K-UKQD=NL^3(2*jIVZ^{JiBg(_Fb$ekodM&X(rNuNia9 zZ+Yo*E-uBKchA!ode2rZvEy`0`zX~K5~EuiBGtw7etl`*4b^tES^r+qq%K!?%9T|I z)zxyJv~N0Wt`*nG^@Z=7KeDRi&xy~Q8zal4V`!DS*{eWq^(a%fI-b+FTMAU?$$b6S zm(!I0fLjMXh*z$iaXRS5a233+r|z<9sOh>mR=Uj&Gu<bJN=V`*(?egBQ1z_|bJa`O zmA$5CbG3vw)vJiQ3c2IcYSnA^9<AQ2P<L)Iy7&4Lbyv}9-6wahip=onzGKIzesQC9 z)WB?WcW9K34o)@E?J084*?uObp|A8meA5ir*CF@5ciL$0Fn!;%hs?m72t8=oDK$9t zvc7-%XKF~~F&!IUsbc+Y5*M~v#reLI_|_$ASnWO;-dJizRBn}onnh-0=~I%pb+Sn+ zd|fA(3^t?OYjjF>cas{MqemyVm@y$~IxVJ~O1luP$KJl6#vSd{>8HO^<M&3%go7Wd z2g+~B#J65m4;G)1NoBju<g8kGXz9yl%1Du^Q&yO%*BZ5Z#7oNExL;>PELRydJM{Fn znd;%UYh=cWWhQgOHktX!43o8Bt<2h<U}lfcl{sEzvSZT4Gq>G%I{Qmb>T#2EZk(Ps z;HsMUMU2k%H>&x&{Q6Pfezl;iSwB|0L**?!q8C=KSBo-zviOB<X32;;dAx9~SsGC# z`R-hk-&Q7tvFWC;zCemX`kSJUr^&MO0rSN6e7*ep7`4Ld)=yUZRdG(7URmC(R*mkd zR~H{qC6R4<P1Y{8CJ-v#v^wMUU6gfERc2jny{zvjGf!7m%QGhn%!bkm*?3@@Da|X9 zO*`XFa8PiUuJ-ZY`~(88yy0>M0`Hihu7N=LW>*jAJ=}S!8JQl}tSR<p+xv*Uvpn{{ z+~o>#9-e=%!{_#gP8~Y<3wr|g<W2BiLTZ5&1E~g54o6!Lq##H|kdh!ZL5hM@1u2W8 ztqW2Zq%ufpklG-{L8^n42dNKIAf!S_iI5s0MMA2Cl*!T72`QALtrSu!q*h3=kZK|2 zLh6MS45=7WGNfim(U7VkWkc$Q6b`AJqb(g$JEV9>_0TCFFVv4?3kXyYDIrorq=-lr zkuoB6L<)&i5-FvlttC=Sq?$-Mk$NHpMJkGv6sajvRHUj%S&_OTg+(fhloqM2qb)8{ zU8KB7eUSnq6-G*o)EFr;Qe~vfNS%>FBb9cvrABJ)Xp4<h8!0zZZ=~Qz#gURDHAjk$ zR2?ZhQg@{ANac~zBei$5#Yd`-lpm=-vH-{mAWML(0kR0lDj>^%tOK$T$Vxccr9jrg z(JltE8jf~3ko7<o1X&SeNsu)`76n-qWLc1PK^6vC8ArP`$l5sC#X(lb(Jl|NKF9(g zD}*c&vPQ@vA*+Ne6S7XoLLn=KEETd=j&`w-)pE4Ug{+sOT`*+DkR?Ob3|TZ})sSUF z)(u%WWaW^hL)OmGE*`Raj&}Kw^>effh^!#8gvc5qi-@cuvW&<&y8gfO7-m;9&93M0 U%uxx+35mlqladmW5)#Ay2A}k~%K!iX diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Virgin b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Virgin deleted file mode 100644 index 447efbe2c967cc5642b58f51aff86b67073134fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eC<zyoQ1C|Nmnl3=IGOA3wmr;^P~_;1~?#0zn7~ Vru_ix0GaatKYmlWfX16}0RSy&9%BFi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Whitehorse b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Whitehorse deleted file mode 100644 index 6b62e2d3c39a8406cdc087b387fbdac0709f9141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2093 zcmdtie`wTo9LMq7Qm4zo2XZ>soqcrX+}v(I+~(=*mrc&u&MkLdo|(Ve54N-|w@xjc zCyXK^_AXI_?EE<VM<kpKMX-hm1tF4c5s@(@D5Dsn1+A2Q`#eAOUw`yx(D(R$AD{cO z-G8rVbVFN9x$hs>RQraTYrnlY&rRA#>cW+Q;}`Rcxi)>^ME`K|${Py@hVy>y9Nt=? ze=AAI_`-g5H?Ubf(6&?0h_6%GwNX8D=@K=opi1Y=Yn0j3a&&HbrR3hJFb{q=OZ>w# zP2l6-WzN}g^U#Uwq7#es+yfuUyjYgbYyU>gue_xnUj3n3ko|?uFHEWYi7``<nN$U% zpPRy;wy8x!XHC&aj})g4nc(0SDd~CHlpb0kWv%b%@~-)^INYr(8mCBQeoR-D|0qi` zLOSH1tU@<)_0qdH)v{0T>FVpBspSJX=8=o1)uVlXn8)6GOFiE4t$CvNl&q*9GEX+W zDK#a=tgP7~D}Nc$;o^fTJaSIgW^GrsgGcr1u{G+cV}qvdt9FU(J#5yTuao+XyG+B8 zpgg@iZq_E0H2SMebln|^-V2ym<(CrsewkiB=eAn^iC@PjM%0Fr6Z+ZFb82Jn4gK8E zQMIY*vfiB9qqamw&DPfs%eLZ6=K0oL(v;P2n!|Bv9_ux&`PI^TwZ*h$1f=bQRi^z1 zPhL3EthZnDs~w53e(}tN>WCHS&b}M!rK<b&&W_8fD|<|L*Pm3~-ZYa4U6RD;&t`W{ zzw92mYW9rx$}6ce=GCuTWN**gX5WQX(zB_{?0>gV($nnczDenm)2C$o2OrNn(B$)Z zUSBe8l0A3&rn>WV_f($uzNF3I?3?Y*fx1Z47q78*qrIQ8cLU$;iw66m!OE59o_`tr z_Z=kdpSvB5|NVcSz4pC!@EEcSWE;pnkc}WaLAK(wdqFmX>;~BmKhJ)U4Iw*1wuI~n z*%Y!XWLr+VFJxoL&XBDkdqXyd><-x;vOi>l$PSS$B6~zO>9o5<w&}F{L^g`-6xk}W zS7fuuZjtRG`$aa4>=@ZHvS(z|$gYuXJMF%ajUzipwvOx_**vm)Wc$eekp>_gKw5zG z0BM5Lb^&RF)Aj*rgwu8cX$8^?q!~yzkai&bKpKK{1ZfG<6Qn6l+ZCiOPTLoxF;3eV zq%}xykmexWLE3}#2Wb$}A*4k}kB}xIT|(OAw0%Mv<+PnbTIIC8LYjqi3uzb9FQj2e z$B>pGJwuv?bPZ{n)AkK%oYQs=X`R#d4rw0JJ*0g||BwbE9Yk8_`@hF9(^fKMD_Im- S94rr(7DdX+f@Q(d%s&C-P%%gV diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Winnipeg b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Winnipeg deleted file mode 100644 index 2ffe3d8d8e012445aa961fc53b38934681dd2a2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2891 zcmeH|YfP1O9LImh8;GK2VuS>y6+;mL#qdH|>KG(~dPEd5H4L$g#~X?l{56@ES8A4* zQKXJqt`$0$;$>uN&aIq7lq8K1m7GdGsavST>HqoH3%A^S)62eR|L61Y49+=k_<X!m z^WKV+f6dQ4;jlyIaNk4CrNr}~zU0`!^wNqQ`pLn2&e83|^;lZ5`~BKhJ=6EDb7n?I zw|ebtIXiK>dv4M>sp);n{V{&OoR@O9HfWpF)^Bt#n76xdGTXgaw?%*6wZW;YEYx4t z&3Eccv-DD)*J&t9)XT|3oGa79^=f3W)0i|ue(gTky%rHB*KYT8ubXdky{g&0(byn2 zYmU23CyvW+8xOm8^2_vY>`eDw*A%_)Um*9JbLGLcOldivEPtLHCao3y#rJur$kssd ztZ9`ti*HHWc_G?vMkj5b-l82wHmP4so%;7atsT1^(E!<_0q#!iRKH0(*M1{`M;2+9 z13RSauJ@(ewpH@Px`oocaF#rommxi-BuP+mg7h33DNjX)NN}Gq`m}$GgtUp!klVr9 ztD&QYR^8WUzP+JgdoF7Dj#JvZpsPIlUb*&}^t<$(^MgDWUoFq4d?hageJv6FHb_Kk zl|}~4m&m%k+V8qo`d5CaQPqwPC|#`4dnf3?qA41)X|TrT7D(KJo;oNgQwC3H*7%5F zG9>ONebFye5_<h135~5X^g*o*J5evgFC3B)<t>_c=wo?leVx8svQkFoAJJEeOZ3&W zojNLKg^t>vUq5<av5px%-WhXeza$Nq>n2riljOiOH+k<eNok68U;Ai_j;$Hzq%JSi zar<JNwCpTR-`w39KO#{lEV}DV3=LQBq#DQD;?a!w3Mb=gm}G{Xbu+&cnbNw?om$o) zS#?|8?Be6{dgW4gTFz(kMrpP?J@u&0SX1cC98jij=4LrLfva^^Qlc}fX}0D@ggd#X zQZ&!c<K%rArE?lDJ8y4JmUmA3+_?q)<=yg2Zhl6fIO~tO^WtyG{QOVd1wmD^Fl~*y zu(e4G63U!{y3@KOc(t>na*q}^&vurUZqjAvQ=H{Ri*!Xrlv6Zqvaa0P#cAWQueR;} zx%vCYM_t=@_-|j2{lG_kiHD#0d}TL9e7*y_J?(tHFSd)nz3*(V-5!2EHq|SmMw>Iy zoXO^-d(FSNh{xlx5b-`<4~NaKT0J!LH)cMwoGZIOfat=~C<CGmh&mwpfG7l_5r|4G zjZPp+foKJy7KmOTih*bbq8dx18;Ei&jdmdFf#?UKAc%$_DuU<;q9llxAZmi>38E;7 zrXZ@aG`fN)%hG5IqArNOAPR$M45BiK&LB#IXwA~74Wc)Q;vkxXR(0H<J7$!}&>lm5 z4E;eA2+<%!g%BM=lnBuxM2(h4j}S#dG|5mUM3)R@GPKE1CqthMg)%hCP$@&F45c!( z3Q;RVua-u!5Y0kV3(+k^xe)C_)XUH>M8OOVGgQpbF+<4=En6BjL-cHE6b;cdL)8#n zLzE5CHbmVJeM1z^&^Scp44p%i&d@qU?F_wJ8pSg-&rm%>_YCDjw9imKME{HgKr#SH z0VD^OCJB%%K+<4o^1w)hrO5;%6_zF!jATHv0Z9iWACQDVG6G2nBqxxhK(Yc!i>1j6 zBr%pIGmO+&n%ppw1IZ2}J&^n`5(LQ*BSnxLL6QW?5+qHKJV6p=X)*;#m8HoQBw3aw zTaa`?^2JCPBx8(}L2|}O8YF9sv_bO5NSvj~93*v?CU=nJS(@xY(g(>OB!Q3&LQ)9H kAtZ_Ne-n*Bjr&Y4hnQ?er4EXYi;js(jg5_tjgATU3t;rI(f|Me diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Yakutat b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Yakutat deleted file mode 100644 index 523b0a1081ade2feb2e163279c0b9960f8550099..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2314 zcmciCZA{fw0LStFMc@KKQ9?XOx04Sbj~-B-iZT?UD-sabn-Ezjc88T<Foq8hn2y{k z$~K3y!EuhQwrpp*m9D_jwYE$~xb-lK(ydu8UF&HU$?bg4=Bt{on&-ds|6K0fc=!AI z8d{#rbN+SQ<{K_&z+66idd=(fp2d1{!EbGoP0PgWu{ARIMv-s^3#IFYWD(MpB<E}? zP@zrvI;=KPg_kC1xBN@FU#iuSv0tmm!)IjF&tvMQ??!d>S5qS9gJFI1@lkQhoA1lm z{lntcJwx)gt$ku{ORtQp-yq_>>*ejm<su=yOeW56Qc01iGC5?WO3sXnP5xzto_Btc zN|{`!?>OmJo+IJ<&VxTH(OE3->N~CG`{&68n|=@r^RLQ9t3DB_@!!g{jJHJE?2Jy2 zdRe4Tf1@)lwu#KK6FTeciz<8Qpw2nESuN>#Udz{NRBk}Yy!Je`v|^`RRu`x8)0$;L z-XE&a{eUb=nJbDeESAMHzl*y+j*|CGeIZJ8s=oKV<Kn(oBJ}bD2gLoY7j@~bch!pO zPxZ>?{i<xq+q%4LyDI<noUF(m6cuMrNpH+H;XOJcS6ylpm9KxOSAX86s&*XG553c% zsvCFfntdgzwj`h*?)0d-6tDLA9p(EwQ~UGJEC2To%C(-LSo=|ite-t68b+e!qtmBE z<F3o{v9S@cu6aT}KGZLssQO7a^&e8}v&Z#@z;4wXqxHs$fZBLzuMVVnRp3mAZgFR- zmcxF%=|YTpYG1p2dLlzS)44`&*3qKXUntuKE{iP%N%Gm&3DF)uBRi^(h>l=_?kpNt zozs8nu0*Z6#-{YvD|^+pp;5j4%MP`pXIOV1^Q)e9efqh<BIOF1;|jg*6CQR0pJ1@t z<v77$Uz-ye3=Z_VBJ4ZbzGLk>&i<OTy2|I&*O~i>xi#jN`JB>9`!e5}WB$)IeE&VB z2=hCa^QyUg_FUmFbAsk9KY8^t?Cvi-fs70pn$?UA?cn&p=s0G0!1#~>A|phGh>Q^# zBr-~?874ALs~IRVQe>#eSdqaZqeX^`j29U&GGb)N$e58qBcn!!jf@)^I5Kjp8M@Vs z9T_|_dSv*>_>ll05kNwK!~h8b5(Oj-NF0zrSWP65P*_bYkYFIuK*E8<0|^Kc5hNr? zOpu@;Q9;6j#03cq5*Z{kRudZ}I7oDm@F4L)0)#{e2@w(_BuGe<kT4-}LIPzqkwQXc zHL*g1Wi`=4!iB^O2^bPFBxFd;kf0$^L&Ao{4GEmpL=Fj^)x-`7p4CJT2_F(aB!EZ+ zkq{y=M1qJ!5eXv_M<kF)B#}^BO)QaMT1_;Oa9T|~k$@r*MM8?i6bUL4RV1uPT#>*c zkwrplHL*p4Yc<hD!fQ40MFNaO7zr^FV<gB(l#wtyrp%!sVb^`!;WzMcobf)g_`e1E fTA{5`rImHQVgjC3wKOL$M`l&!=H}$)$f$n+=weO| diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Yellowknife b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/America/Yellowknife deleted file mode 100644 index d9d6eff70d7aadc55e202b7d31ccb1359870b81a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1980 zcmdtie@xVM9LMnwV5v9M&sG=;nrV4L+;N~JkeL;9Azc`rh(wqM-cBn>-OUp5-NG^c z;=OXL&1AW1{?STO*J^Gw*YKaRxpQm%Sh#*~mJO>-Hj8hc=jY%4>aVum?(X5-ZvOLm zzLIU}9hK%Eccc3kKHPry;qME?eT|hCnvVzbHM{JOp6s?lbFI9sXKKZv$(z!h_U0{d zQ_%3BonKR8ZYfz|3zyc*g4rRvFgGj<e_O6a-_Dle>?~b$_GelA?q$98*m+r!S!8c} z;e;&R6xd}uKQXsgePi!f|BhK+@R1FdstHeD(vr|_Q!;T@OD`wQonx<S*~K1-j2zPF zsb(qfOKI%oRZ@}ax0QS5%gXo;yQ+Cgs=^Q1yDGnw)iX<Nb<s6b{ZqcJx&DQzJ@>1< z`>Qi%&1gvPIdjyk9r{J@J#x^j>;6>l>pvp*H;w88od=|@{3Wfg+bZ?HkK1^p*TgR# zw+(YTOv9-`yZ*{L)A;I}`tWD%lIR`KN8Vd2P3>vjFuX(_UDK$|nOxae9MR;a?<M)? zJZ-5uCoMme+1AD1nbz^ScFXj*X?tVRJ~naOwD)K2<70!Sqw}=gI<m_=k+`7S1_oq% z<fJ~CN=xUQ!`c;Zl&&ioO@$+pI^U}4ne!z5cCGIG@v7_^-fW+`FxNbtsj<(Tm^9rj zMYd-sYo4w8%kJ(zZT1vgvU{6`&EDzjnyEf1nTfA;U*TcdH};`EH<gj+M~><K&s(Lp z??pZEey#L%bm_rYipAvR<mS!DyWv0h<6fD&Ab9JwoEiRmRuCLjlOF^hjOJMXF9nfU z%p^7^O=5%lY;>QxI=+(bhdKV|d?)|K+n(~j;=c_7-Z=8kk+<%3?;Uyb$h+rfynW>T zb2NZ-z|jKI1JVT2h1a!#^no;jbb_>k^nx^lbc3{m^uy5*(h)~XNKanZ6w;N~wT1M> z(HPPh(i+km(j3wq(jL+u(jd|y(jw9$(j?NQ*R_fC$<Zj%DMzbFuN=)H-Ey>x^oul% zbd0o&^z3y_BVBu4+eqJD*ErHSN9#!MNb^YdNc%|t$Oa%gfNTM>2VS=c$S!!@HX!@p zbsK@~1jkk&d%>|8$Zl|K2eKa=8-nZzvL(o#Ae(~hiq~xmvM*k@G04t%-PRy`gKQ46 zI~?1C><`BVAv?seMaUj;Y!b3dUbjuiK6%|nAv@)DTZQZuvRTM(A=`!Q7qVgaf7!8+ ZTe#J3+{zLwqm|KES)!sMS`m$f{sy2q-OvC4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Casey b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Casey deleted file mode 100644 index 676f06da4a89848a21cfc9dbfd4ea7a40cc4c22a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmWHE%1kq2zyPd35fBCe4j=}xc^ZJkKe;mvUbom3y!%gm@LM@Y!Qc7pga|I{hWh{i z|1&T$F)}eTF#(l<K|uop3j@Qf4ImQ`Y+VBb25kci25mz_kSaz95ki7Het=D9U;tYA oALJeo7vv@o4RRNV2DuGHgWLzAL2d-ml)9742Iy`(T|+}I04&@zRR910 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Davis b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Davis deleted file mode 100644 index 40a992664e2b228b0f6ab99a7aa655df53015dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmWHE%1kq2zyK^j5fBCeP9O%cc^ZJk^EnO--`wvD{BvK;;B`yHz<c^H2fvl84E&wH zAE^KT|33pG10xeN6EibVEf^#ffHb=WFmNz1fY`bQ1`OH;=0I!;l4k_r5E2~m18gb- x1JJJjAjg1ckb^)p$Wb5wau|pPISxdF90;O8js(&5K(%B!l*<O_bUR&hE&$zhJeL3f diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/DumontDUrville b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/DumontDUrville deleted file mode 100644 index 06863534c4c733f9a1a11800b614ec901e64cc6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmWHE%1kq2zyM4@5fBCeRv-qkIU0b(l|5w*_e>HJp4%`r)c^ngpMjBqkr5~k20aTH ySab~x7_<!y!2A#r4F3T&18C-dkR>1*WD$r4Sq74>2eR>6$Ylex+D_NdfC~T|oGK## diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Macquarie b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Macquarie deleted file mode 100644 index aea2be77cccb5187ecacca5673cc5b42543dd3c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1543 zcmdUuNk~<37)QUWK1FjV6EmmO2It{fnWjF|oLv+olA;z=ri-9Og+%EGS#Oh@5|Ruw zLtKR>HY@})gH}e1$`%b+i->4ggar<-|GDL=MXMJ59`~Nh<^L9scTR0XTT8b5F+cN$ zi#3{y=TJ4bzGv-vZ6faLfP4JlY+$P_Jm{9iu?|^!R4>b?M%6Q%FH(0&Eq9D~6^)4Z z@jUejiWbM-D0R%|s$b@k`aO?S|ByH8e|u2_zD((={`C_0;<W^IEJ*OZ`x4UpN>=v{ z${N?Cgtm9d+Suz7w!cNfmd{CeZl$dA-Xjt5hc)7zQzET$jT}CtQFBQe?Jm=psQ`^V zny4GDj7eO5hsNt;O(^M;jcp%gQ^Hx<Ts0$GybefW@`xmUyCX@T<}~?fucXXOYwGxE zNxM0u={=2-(e2jE6E4X*)~3#;2F<R!AX^IybX!iVY>$c6obYPNSrXkbpC-94-)i3Q z2i-aGQ1d5Kv|wmX3i|`qb$(ikIzH>JBSTW${6tI2+_Kv>rllD-v@Etq%N;dR;de_a zz7I;}`^!=_+a=YHPD;()7U}eOJeHT`ZTUF<!N=Fv{FU}D4v3G))ltiT<;}0>mG=^y zo|PrVW&3K)t+ZBBolXu~mbG%e_U{HYnX|S*KYoA7{5a1UN4P+Yf>;GH3t|_<Fo<Ok z)1Yk|4;aUcbpZ1i_Av~ESjaHZrm+!Xq)lTb#7vvUPKcopOBtpzY-JeBu$Eyi!(N8L z42u~i+cY*ajAmHPFx#fFn_;+3V>!fhi0u&LA=X38XV?!Z08#;?1V#;vA{bRL%CKqb zU=#wWgi#8l7Dh3UY8d4}>R}WFsR&XMqb5jEjH)1I*)(-Q3S(3TDGgE^q&P@*jPfA$ zF$#oK$S4s~Bcn)2m5?$abutRIX)0xu%BYo5ETdZ1X_S=zBi(=kld~(`=?wS@y2w-r diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Mawson b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Mawson deleted file mode 100644 index 5197dd97b9f871f533ff418b1870e593530cd501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmWHE%1kq2zyQoZ5fBCe79a+(c^ZJkBL$-duUkqE_5c6>XJBMv0t$gaNCHTmTL1%x ru7LrAwt*QCo5JKsu;T|*577AkAiF?ZkbNMU6g#<WfcD$znsNaEFL)jU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/McMurdo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/McMurdo deleted file mode 100644 index a5f5b6d5e60f15ebdbb747228006e8fe06dd4a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2460 zcmd_rdrXye9LMqJpwhVKWemws!@O`gTvUW2LIninl6fQ~qi>S%pdpkbbb(AGa|~<R zvNfZU955{rNzhUdL#TBjTa#+pH=TL5LUT2xEbMtd>%Z3evp;&y&hz^1>^y&*KR)l{ z$}cI3HU4(pV12@yYnS!rJbt5fYi)0HA6U92udV95d2r!*Y0v93-wExLL-8$U$EX(R z45~9bf9%!6!=>htkDBz|!5s6wb8bEQ_7(TB6CY~Vwn2Ay<32sU?uff*^EN$^z03W6 zVY&7?YuqO@>!r_M-2D+{(towuJoVKp$zDN!sMo$d>V0XC_%!^kzJtfrujY*UcQ$H3 zLAT!ca;=U{+O6ZNigkR*GddwJLnn+BX<&S~242`KK~vKusBg6dJHjNmX_4IYov%#V zGD~jmz9=EZJ~H|B0hy9EBvUuG$t}@d8d~y+P7C-!Z*@9ky2k>Y;df4EoSmjKhk9jJ zkEe!x+$7<9LnY#^trA%`Mx6C)C2GwDi7w5On8hDRY;K9p4%;hp;+E)K?|O*~jMTWF zTXf!)0FD2=P7}VkthXI3)!V!LC2>cN-qG-rB(0CpJ8Mo!^2%(PU(hZK5~F2d(o2#u zX`G~nR7vW!UnFfLUlv`h)$}uol5x6N7at3eB^?=>*<eW4&T!4HJ}WtuetK8Yh%S{d zxjRjDS+cLVruXRb$rmNp^G(gYJ|Ope|E%VH+a@bcnwsDBqTIW`R#rB*>V3}_OTly7 z_5QL95wk)c$O)HK>A6}M<tGo$jMvrvm!xRyaw!`2(c;VV#5_HuC7(@{H65So+SY6G z(9Q!|`ocG|u5yQ#m3K+Gw93OPzSc*Qx6As3qgpYgLLQy?nr<+1Wy7yeYo*3Z)t80( zSa+~IemGU1Xo=G&cdwG_twCC|DMg+#e^U>K$EbgLd5#|QpS}#EanPEBvA^Fj+A!Ye zG`tL>xtsH$0f#?l!#Z=%%yJpo`OCQ3rxX{@84ibyb#wju1YfnjW>0YVuZON%*Zhvm zW@M7cERks<^F$_!%oLd_GFN1>w$^Ns=_2z*CXCD&nKCkGWYWm2k!d6IMkbET9GN;Y zcVzO&>}{>-BlG9yk^oyP14s&x93V+RvVf!k$pexIBojy~kX#_iu(h&*q{G(A2a*t5 zD<eosY^|IiNkOuLqy@<fk{Bd2NNSMWAjv_pgQN$^50W5TD?><%kQ^aNLb8OU3CR<Z zC?r!zs*qeE$wIP)qzlOxk}z8<V@S%7oFPd=vWBD$$s3Y5By&jWklZ23L$ZgY56K^r zKwB$=ND7f0B1uHDh@=t8Ba%oYlSnF&Tq4OtvWcV<$tRLfB%?@5ZLORlNky`Xq!r04 zl2|0ONNSPXBFROvi=-FHFOpy+!$^ve9NSt+MzV~g8Obw}Xe84}s*zkH$wsn`q#MaM zl5iyBNXn6%BT2WlvW}!3$vcvGB=bn>k=!H6N3xHk-}s-j-<yAi$e7sd{1jJ2R)TY` QGddz`jx)v?9W~qgPuMCAVE_OC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Palmer b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Palmer deleted file mode 100644 index 43a01d3e62d45456e5f7317d2a9d17a5e746058d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1432 zcmdVZOGs2v0Eh8AI_aQEg^Sc)R@%#~qvK;V9Zx>cw9Ir!34<tzbTiVTHi71%B%%it zwGiw95n+0?MJ|jE6-f`MLBw1HK_L`@^uWfnZs)t^s#Ub=Uhe!ZGt8aEeE-0nrh}Q* zABV@h!^IIW7xxR>%**8E+t%cGmkP(1=<v|6nEHBDejm<J(+{)t%wV1P(OoNlc4iCv zbe4?1Ua34O!7Gc!ph}3^s}n-IRpNM&PU`ciB`+G~((_4bS+8F%Z<$dm&L+#`)=053 z7$H~XO^eml?_^5iYmw@+bn4W7vF3AFuN}K8)_r@V*FU(YHjLiTY1g{c#=9Llz5Te_ zbg5Zy-hV)ewv#fWxJ+g4Ym(l=QIRF9WOi(+$cY<}xltp^XDyJvXC9IFK27J}`XIJE ziPHtAo{Pep6WZV0BZ@jgTGl;PTMymQ#olgJQgKn2#-CAT8U3>CON%OBbU~I+M2Lz{ zN94A_pr{Nr$f^NLZSTvMJ03@i>Y8@Fv$IFl6p!g$$IhwRv`JalcvuBuU&;F1aZ%s< zQ8$#FP_4FYTM@3g(;ew{&5Qcy)9p5YkvVL8NLy~(9(n2V*!J5uuKC<s=6?2_xlb)m zx)4^n$TFALT)#_jxn>_@4E#kO;n{DQU$<>KaWt(Uy*Qd?kZzE6kbaPckdDx4i5t@s zkEbc5E2J%?FGtfD(izek(i_qo(jC$s(jU?w(jn3!(j(F&(xszm6X_Fa6zLRc73mde z7U>pg7wH#i80i>k8R;2m8tEEo8|fQq9O>NAw2t(SG>>$Tw2$<UYyjB-vIS%h$R?0o zAlpFp;b=C3?8MP*1=$O-8Duxec98ub8$x!3Yzf&DvMFR&$hMGuAscfvJ43dHttO%W NVQ(=7W{G}p%r6}>oFxDN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Rothera b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Rothera deleted file mode 100644 index 56913f8a10cb61305ddc4025c51f72e56b195781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0ZjFOx1q{r~^}85kLXJRtc0|LO$>7F`1a23-SV but*3AM*aZnfDj;~L4bhqTsA<9?2Nepj*AyY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/South_Pole b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/South_Pole deleted file mode 100644 index a5f5b6d5e60f15ebdbb747228006e8fe06dd4a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2460 zcmd_rdrXye9LMqJpwhVKWemws!@O`gTvUW2LIninl6fQ~qi>S%pdpkbbb(AGa|~<R zvNfZU955{rNzhUdL#TBjTa#+pH=TL5LUT2xEbMtd>%Z3evp;&y&hz^1>^y&*KR)l{ z$}cI3HU4(pV12@yYnS!rJbt5fYi)0HA6U92udV95d2r!*Y0v93-wExLL-8$U$EX(R z45~9bf9%!6!=>htkDBz|!5s6wb8bEQ_7(TB6CY~Vwn2Ay<32sU?uff*^EN$^z03W6 zVY&7?YuqO@>!r_M-2D+{(towuJoVKp$zDN!sMo$d>V0XC_%!^kzJtfrujY*UcQ$H3 zLAT!ca;=U{+O6ZNigkR*GddwJLnn+BX<&S~242`KK~vKusBg6dJHjNmX_4IYov%#V zGD~jmz9=EZJ~H|B0hy9EBvUuG$t}@d8d~y+P7C-!Z*@9ky2k>Y;df4EoSmjKhk9jJ zkEe!x+$7<9LnY#^trA%`Mx6C)C2GwDi7w5On8hDRY;K9p4%;hp;+E)K?|O*~jMTWF zTXf!)0FD2=P7}VkthXI3)!V!LC2>cN-qG-rB(0CpJ8Mo!^2%(PU(hZK5~F2d(o2#u zX`G~nR7vW!UnFfLUlv`h)$}uol5x6N7at3eB^?=>*<eW4&T!4HJ}WtuetK8Yh%S{d zxjRjDS+cLVruXRb$rmNp^G(gYJ|Ope|E%VH+a@bcnwsDBqTIW`R#rB*>V3}_OTly7 z_5QL95wk)c$O)HK>A6}M<tGo$jMvrvm!xRyaw!`2(c;VV#5_HuC7(@{H65So+SY6G z(9Q!|`ocG|u5yQ#m3K+Gw93OPzSc*Qx6As3qgpYgLLQy?nr<+1Wy7yeYo*3Z)t80( zSa+~IemGU1Xo=G&cdwG_twCC|DMg+#e^U>K$EbgLd5#|QpS}#EanPEBvA^Fj+A!Ye zG`tL>xtsH$0f#?l!#Z=%%yJpo`OCQ3rxX{@84ibyb#wju1YfnjW>0YVuZON%*Zhvm zW@M7cERks<^F$_!%oLd_GFN1>w$^Ns=_2z*CXCD&nKCkGWYWm2k!d6IMkbET9GN;Y zcVzO&>}{>-BlG9yk^oyP14s&x93V+RvVf!k$pexIBojy~kX#_iu(h&*q{G(A2a*t5 zD<eosY^|IiNkOuLqy@<fk{Bd2NNSMWAjv_pgQN$^50W5TD?><%kQ^aNLb8OU3CR<Z zC?r!zs*qeE$wIP)qzlOxk}z8<V@S%7oFPd=vWBD$$s3Y5By&jWklZ23L$ZgY56K^r zKwB$=ND7f0B1uHDh@=t8Ba%oYlSnF&Tq4OtvWcV<$tRLfB%?@5ZLORlNky`Xq!r04 zl2|0ONNSPXBFROvi=-FHFOpy+!$^ve9NSt+MzV~g8Obw}Xe84}s*zkH$wsn`q#MaM zl5iyBNXn6%BT2WlvW}!3$vcvGB=bn>k=!H6N3xHk-}s-j-<yAi$e7sd{1jJ2R)TY` QGddz`jx)v?9W~qgPuMCAVE_OC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Syowa b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Syowa deleted file mode 100644 index 94a9d5a282eab90fadd38e144b3987bf6f4e7da6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(^NkS<_5c6>XJBLm^1wjLfPqEVz<@#9z!=OA cA;HKWP&0rg{s$Qi0tAfbvH@CTr)$gw0Lh>jKL7v# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Troll b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Troll deleted file mode 100644 index 3757faccb282a975e3130e5ed9a84bc0e5881a79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcmc)IPe_w-9LMoznlMJi*FZe<#~^~Dsm~_TMGe$#Sk5w+nP&D!r`B4jC9bjsK}3jr z4?%bcib5h{bm-5aLlhAPGP+1~h(MttLV^nGAnW)3)vZ%>=o!D~^=yY7p3ghh-X9M- ze_Tt<FC4CrIXo{tXKuC2B2I0%K<m0!O8xrx8me2AaKQ_Wta~ew`FGNg|3n(HQ?hmL zhHT5+md5GF8XX^#raRYldon3I#?EW=?n}Be(W5P!6B=ub=&s@>ZS`-|)&*DFio(+N zYK89kwn5q-eASK_pX|L>D4q8{$-eX#>AIYi{arJ1VDzIN-11Nkbxvz{$%OP&XEg4; zuf3~Pdp}&!zQsZ9pGxWBH!(eOt3wmd2ju9*YE4eI$g#c>J$|852AZp6FkUP}fi-d> z^g~V-Ix<{dq{E+QWn}q+j=X#(srlD>>h7eR&OXvJ6Hj$Cb5+l#Zfbfwt?67Y=j40x z{`He*-mAS<t@ZqR>0bNQTk5*bCO2q~>o^{dJ+Z$S?ECNk1%|Vl@sI(L5s@L0F_A&7 zW>jQYs~Hy=7#SHE8W|fI92p%M9vL4A0Eqwz0f_+#!fK*G!mye+kU)?~kWi3VkYJE# zkZ_QAkbsbgkdTm=kf4yLkg%*KE+jA{G9)x4HY7MCIwU+KJ|sXSLL@{aMkGiiN+e9H zi4zIbY9d8KMPfyQMWRK*MdC#Qw*HTZeN`su8rR%|HKjp+w4$uC%q<W2qXE}GRrr1a D*BAYi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Vostok b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Antarctica/Vostok deleted file mode 100644 index 9fa335c4478a8205ecacb645c636ebc07ad714b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(%ZSc~`v3p`GcYm&d0-Hdz`&wwV8EblU<Ton bVB`;|89)>NgNz1o2^i011GLCa*Nh7QJb@Xr diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Arctic/Longyearbyen b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Arctic/Longyearbyen deleted file mode 100644 index 239c0174d361ff520c0c39431f2158837b82c6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2251 zcmdtie@xVM9LMqRfk?4(Z-2m9fRIS1cJdqi5tq^l%)GOd(?~^75wR}H%NV3anRBi& zeCt@|$f@O+HN*a(`~$6(+GyeBFXpUVTdb@!x<tZitUk|gYyDAM|Mf@T@9z8f?z{W` zaofF~fu-wea;(1{vE~UMju!Lb{`Tk0rOnl6wO!a))qT`o)pKROoPOP@;a9!#$*w#( zvn5^5h7#o5s#v*tBvr2+^2zrvd!&DRhWyZwB9U5=AIlwbz4W>aOz)E$t_w2gJS9I# zM29j*%24E-jtTFMjP=izak;-}eA-n_82h<8qfe`I;9VWxcSP?vzhCb>u~QR|9haoT z9g_UYKAF(0lCtS}NezbNuH~y`qAwt6g~c+-T_EX6F1h=*@#2c{s%tP$Cx4Z$Q+gA0 z>Zw@0r}L(|4}PoDT0hl{tsiUVhGUvl{ibGDT#}qnr{sFNByZ76lApX+3UV5xV7N(U zB(~~|%PVE(uk||XxL5A|tXvD*E7j9AOYhrOq_f+SbWTm07Hyp=_m{+|w>nYgreD!w z@354_e59pmUr1^H*D^2qeVG^TmIwM?lldKQh_B~8^|v(3g2M;&!MZwmsQCq5`0$Im zD7Z$;rUy0PE7ir$1-isNMVAa^X?c8!lwTa9j|@(hrSII(Wxa8-eE(>v=)5K?ng*n@ zH7r$?y|Qxice-l!QCVHlqtz*UWR0goYi@a4*Cwm3{bsk;4u^DIccVUfIiQanTBgAd z*URJEJzCdZCQsC+=#$&>W&OfJ3Dr2|sq6`|q4;NcdbB0=nekd5`BEB24Qa!flhW9K zNuPPET{echbkm*>baTgEeYWwSHnlWqlq1R!J>nnEsF;!e{b^Zo<IEq~N=kK%u&hyH z-TLSCk0*aU_xS^sx44W;fHxfGKywrL_u1?)U$kd)(|*UYeltg?e^L;ck*%2$GACqG z$gGfQA@f2ehRh6^8ZtLza>(qE=^^t&CWy=snIbYrWRl1%k!d3Hv^5ju=P*-bs>ocC z$s)5wrfX~Fi%b}qF*0Rj&d8*ZStHX%=8a4onK?3bWbVl1k=Y~DN9J#95`bg?Ndb}r zBne0skTf89KoWsu0!amu3nUpxHjs26`LHz!K{8@%Qi9|JNeYq`BrQl@ki;OFK~jU{ z21yQ*9V9(Sevkwq8L~AgLULqll7wUlNfVMMBvDAFkW?YLLXw4K3rQD}FC<||#%xW> zkeu0?q#;>D(uU*>NgR?nBy~vckmMoRL(+%j4@n@BK_rDp4sA^mkt`x<MDmCv63HZz zN+g#^GLdW|=|u90BoxUgl2Rn6wkD}aR&7mMk-Q>_MKX(|7RfD=TqL{J|FFApCdJdT UiL%?Dn~|T9<@RT1VP<aJ?<;p%>i_@% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aden b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aden deleted file mode 100644 index e71bc4e802cbdfd9f90598029e0fda04c4074ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(RcW&=_5c6>XJBMxV9-7T6k*UZU|{j_4PnqW jFa~iMLP#+32UrIK1JK0(AfrKC0>*RM04=i9HRb{Uf07!( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Almaty b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Almaty deleted file mode 100644 index 49a4b4de7b31924d138a6e22aa0a16af1868cf1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmd6lPe_wt9Dv{H{KGOBfzEAOX4YKGoYSr4zkXdJ!D`3|iGqkygn|$mL4|^O>ky$A z@h~ttM3+P_;o%o_^iUvOROn!b4kd&K#dN*Tm%`9fx89HUecrv__QAL3N#7Xgi<tw% zV^5fjxSj01BX)V?f4n?5y%sGGJ<V2B&Uk&L?`nLT-(FOHU(NcL{NBLAKsGp^(W<xo zT0PaPN1u1;u_vusb3dZTZ&qn-_hCKJwxe~CH9Z;ps;3Tp){uK!LhC=Je)UHx{AeN- zUi>7dKYozN?2MdwH7yO}<8t=dm^2P$Bzm`Bnr^++*x&<g?ikXRo@*MfzOIQ_lP0#4 znhai*<Vrx#Z$+hb{<pR*9g+6ee(89>E}dgra$)j|$h{T0IQmP6bGe*x6&C!x+(mg; zaY^2X{2T1u#$2wm|Ao1fGIoFGp{vxG^lekNx9**|?8*M`bYDrENHlKeIXe?P#<-l} zY@H?j4^lREe`en$ha89?j*$cr1(D^@3WG?4h=a(32!u$4h=j<52!%+6h=s_72!=?8 zh=$092zO|uL&QVmJG22nB7lSdi2)J>Bnn6vkT@WLKq7&J0*M6@3?v$dHXKMi4sAe? lh#(<BVuAz(i3$=HBrZr`kjUV$b@E?^=4rPHb~YqDe*g<+-Uk2x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Amman b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Amman deleted file mode 100644 index c3f0994a75301237adcad05cb13a085a59359c70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1877 zcmdVaYfQ~?9LMqhkz7v4-2*e1A|%JDj*?3*p%SID94#SVN-dY-NXz{a9+?L*vzZz3 zfY{9SfqUiwJ@B9F=K6ITv#{A*H{<vIo6WG9ht665*XgXDeczv8L0O64`t22NzTt;g zmHFXwn>FTfqVAU6BD7Rndg=qMqLZc7s|U6_e6G5$b__&3f1{o|OYAn6drRBeD|Wm6 z;nF^I(C&8VrgY!c+U`;NMS8B&KxF8lM9ppp^vb;;y(d1fql-^Vp8@CXzR4BRFJg}! z6R}uh9#07Le|lD88%yi~r{<`)e!M+!M~3>UkK1wUizPmPpC%Nii$AqN291l6#HhWJ z6z!J5u8oqsY>Onn+@nJtuh5~_&&jZcLLGi|x1`k7%7`sBGP0&pMs3fL(M5TZTK-<g zWQBBWN|BE91~n};PSZVuH6yBnW;AutOt()m8$auWm+fU@{XNaP{8qBJev(Q1Z%9t% zUCBLK7?_;6OM<z_bV}#7lIP#1d0%#Fe#dIfzrR|izAey#GqZHswG^GcbF9ud(nAYZ z_R*O;hKtN-sk4@Mm)YsjQdIC&iu<;ZIl~@FN%#vX?Rrs4pIwo%u!mZ9>7dMgazW?q z+br`h*6D)H2eiCygI1Jp(uFmpx@c0lhKe$Eu`i&NStYWhtzWCW<E83Dj#PVMrTTV) zEN$}0vXh-;dE;wYvF)9#Jnq(2RkvmJ)+V)@x&HPJb2;zkVZ6V8{^i;1m*4;VS3iAg zSy6}0L0Pf!uI852Ez)ZJ<H<K!*+DBUZ8DD_f8}!Vw1WR|t{<KMu&l4<#o6*Jr;D5~ za>9=0jFD4zH0O+*G;-F+X(Q*2oH%mk$f+aej+{Jl_Q>fY=Z_?SWPqfA<bWiBWPzmN zX!1Z3K{7#7L2^NoL9#*8LGnQoLNY>9LUKZqLb5{Aax{4%i6NOGsUf)`$sySx=^^<c z2_hLHDIz%{Ng`PyX(D+#nnaOI9Zjl8u1K;-wn(~2zDUAI#z@LY&PdWo){Z7^ByUHP zIFdP%I+8n*Jd!<<K9WB&0muv>Q-I6?G6~2mAk%=%gQJ-UWF{QVR3LMKOa?L=$aEm{ zflLT8BL<5pLFNRR6l7MAX+h@2(M$|7Gmd6zkhwu72bmpYdXV`+CJ6tt8FHId8t7-A YyxD_%NxsB5f1)=#A>MpUic4^R11fmc_5c6? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Anadyr b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Anadyr deleted file mode 100644 index 0e623cf746b29bf73989ffec96f26c49e737ccc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmdVZPe_wt9KiACbz6-U6qV^*EB~a+)@++5mO7Vz65BL_oeJScS<s(DM2A2^qk<rV zf(~U;K_x>XcBr5*@Gzo-M28@-f(MeIOYBgP6|Cp`u3*urWAAvL&%1Z;2HWqu)Sg2J zqw252W3I3`I?dvI)u`E~y#9%Yx5s8m1HSO;@?E#e+yj}ih0EdckC)=!xooClwlwaW zu9h|TR*HYZDQho$k#)l#r1HpXsoMKosuPc;rgciz2d_)5Z%pczoRWYutplI0=?(K& zbM+_Vx%yYbdSmve4n7#vo9+zg(3K9|a5k(rpQzH|p%pqZ7?bF6uQaw-O4IJ|vc+E_ z&5?J~{9|5PDi(Ch+h?-%+Z(-YIxVepPj%bftZsjDQ^(Ft>W=Z#I)321-hSqWboLz9 zUHeC+yEdtNy7tKqSA*`Y>6YG43F&jxN#Bc*?0oN*#QkNGoQ>xCFXoSp<nwuDIZ7N( z%RF3*iXMyIMNf)f`19P{=2B{M$o!ZpJ)@jTWwqs2>d{NJl-)9W;rj1$%iJ@bQOgV0 zll>_bj6}_9GON+72p^@C#ZfqAPyNGWzy5lg`Eq$Cj7*u!Od6RsGI3iob!76$^pOIP z3Xl?z8jvE8Dv&aeI*>w;N{~{JT99IpYHUq8NIghFwx%MaB%~&!D5NT+ETk@^Fr+f1 zG^949IHWqHJX=#AQlPD=5GfI<5h)U>5-Ag@6Dbs_6e$&{6)6^}7AY607b)1*RE(5t eYidS{Myf{2M(V~9GyDIea8H~0AH+hDsOKjf4;u^s diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtau deleted file mode 100644 index 5803a3d3e3fac98ec8bebf8a7cce414a79e137a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1017 zcmd6lPe{{I9Kheq>6jv(+-zyn{w!VUTHBa4ZC#?ngh%`!h=O-0LGvU=9Rh<!5Oj$0 z6dod@LqsU#Nres`Mc<*DRPWHGO9$(q=vd#+Z$*KpZoS8QpSSnh2HWT3T^Soqt9>IZ zH!Ma*7U$M`vb}Dfaf@@6Vq0`Q6$vfGBRk)pN55{(w{Irm2iI=T$Ck_X(3@MfV|LVb zKDulV-@Rz#6N9$vYOn1s#q5znvpt%u*kiG8_IT50n+P`P#E(6F;>)h-xie>aK77)> zs~bA`?!7+wazXdaywLsSr+Q%OiAi0*Z%$o%>(Y}C-RYsnE_3Oo%XUn<TzbUiDxS;7 z#!dcX&JFIC%$b#_JG<F$3a_$eXsOi<KZuxf&$dkQ#*R5(ZgJDqYE=d54%FAl3^x2V z8$-1hp~n3)7*uK?E`Ni{7gfDd7qki~<r&q?9+3U_P3;_zr+?mA8u3&zm64T|mE&ua z3NUI%cJCj2Z2$V0{FEwQAa1zE55$pA@dR-N@da@P@dj}R@dt4T@d$AV@d<GX@d|MZ z@e6Sb@$6GvLwrM=`xNgG_YnV(1|S_kT7dKbX+ogr0@4Pg4@e`BP9UxLlwKgs_>^uS k?Lhj0Gz94g(h{U6NK=rmAZ@{Eaq&O)6)s49!+qKCPt^<F0{{R3 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtobe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Aqtobe deleted file mode 100644 index 808a50261335b48599f0a77e448de23b301ea78a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1047 zcmd6lJ!n%=7(j2*Mq|>!McW#y&)?TJ*0!+;sitXMf<uLm5-3Ou8ER2*5{rU`N(nBC ziw+_V#fpPCq@a@u9UKe&2DhRvT|{tD2c?GeJ1-pqo!q>Sd(X?gFM+&sN|&zAq}+}X zw;d)UZIk=GcWimt`QXZ%rCMR1f3Lc~W5sKaE_>~NelB)={ZZ{)_q_wFH>-(v6+QTB zR=b|g=%M=)dU)=Fde?^a$Yie`9ZTr3T$>(G*7QW;yPk}HQ9lwF|JPsX-q<Yn+*&I4 zeEclEAJ!!KdPPn>UzWZ{&*XIFq4eLV$iVch3{EX->iTUxGqRvV<5QaMn$}EeR5P`r zW)qW={nV|)n|V3=KBni^J;}ZBW#nyG@^|;h=#vd8T>d8KD^BO@^|}j%TUuMfc13nI zUAv=AADR!ikJvkTZ12Kl3$E3<qPVDYrE;i^)!Ev-Q<RXMHlA!e!|B+?l1mN@*-YEa z@MF$}g3-7S*3v)7`Mv!;`%iTwK}4~QEQm0Ow16fKA`c=EA`v1IA`>DMA{8PQA{QbU zA{inYA{!zcA{`<=pvi{>0Er-=g#d{G5(Fd)NEnbfAb~(4frJ8y1riJ-8b~;hcmi5L qkca|WNRXHyK|!K|gawHU5*Q>hNNAAQ;Ji8cuY-%_EXaIcI<^Iu9Nj|z diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashgabat b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashgabat deleted file mode 100644 index 046c472827eb47d46e31cd69611cff04e45400c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 651 zcmc)Hy-NaN9KiA4rIx8fOQ~Hi_Ii~B5-9}|4iOCo4hKOrI0->(*bvyzR{aMJfm<}V zv<dYGG(3AlOG`^bH54V+?|UW$O-((=^L&p-@3{M%yR}nUkYA%$cbE)YC+B^Kx?Chr zSFh@=Lcep|7)act;^FH|{Qc!T@%Y?G-Z`nk+iJsZ9+{!bJu`e(F(W6NX7pg)q;{9h z*!G+mFWP1zA2XBbmYK4j%yjhLIH73CdHpQSJbaXA_v_`F=XqiUy4puD^yBF62?RuP zO??tsDo9YoEn8ucwUWd-YiGyOo%VnDwYcF*I<u%Vr!&h9#M0rP_>21oins5}^hrHP zC@gG4L*bzi`Bf$g6@`mJMq#7SQTQl?6h;aqg_A-`VWrSgcqzmbX1_{J;iiz&n!dw7 Nut)OxIacPgkuUo>fWrU) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashkhabad b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ashkhabad deleted file mode 100644 index 046c472827eb47d46e31cd69611cff04e45400c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 651 zcmc)Hy-NaN9KiA4rIx8fOQ~Hi_Ii~B5-9}|4iOCo4hKOrI0->(*bvyzR{aMJfm<}V zv<dYGG(3AlOG`^bH54V+?|UW$O-((=^L&p-@3{M%yR}nUkYA%$cbE)YC+B^Kx?Chr zSFh@=Lcep|7)act;^FH|{Qc!T@%Y?G-Z`nk+iJsZ9+{!bJu`e(F(W6NX7pg)q;{9h z*!G+mFWP1zA2XBbmYK4j%yjhLIH73CdHpQSJbaXA_v_`F=XqiUy4puD^yBF62?RuP zO??tsDo9YoEn8ucwUWd-YiGyOo%VnDwYcF*I<u%Vr!&h9#M0rP_>21oins5}^hrHP zC@gG4L*bzi`Bf$g6@`mJMq#7SQTQl?6h;aqg_A-`VWrSgcqzmbX1_{J;iiz&n!dw7 Nut)OxIacPgkuUo>fWrU) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Atyrau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Atyrau deleted file mode 100644 index 27072eb51cd838727233db12dee866fae3b81967..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1025 zcmd6lKWI}y9DpxvV?$D;gP7D<jelbkTVK;Aq&5BHQaVI9Bv2?8Zm0#tNh~c?sFcvD zTb;zAXmJpS6zZgcgQMtga4TvCmo6QugQb@E`(CURoZP(Q?z`OM4SC;J8oxP}F@KG) z-mn<Gx;P)XuiLY>W&2_^Vvok&d(qHZBD(W!CAPU;Y1>F9j=h_y#9x)=`15ILe>5d0 zmd51dy-`Wr?vqp3Q*yc(motSHIh)>-bMY-XANeB5V8kZB|Fjpr?z)cIC$8h;XPbKa z!KT;W*o&)cw)4Sb+f`n+m+qFWH#u#)CsrhLXHI$s7Nqyugk;+%C6^hJ+}?=f<F{P? zQ?A;#TXg-eW7W$WU9Rvn>jqx7y1~V$8+y3yhHvb+E9Jx0`C6@J0u7B#4LXB|4$S7z zfge0*4*i+IpfO%WKZ8kmrpcHQYeL49oM~YX=)QkbKL_+_e%Q3u?~7MUChhg;%IeDL z;?wE~FzQG4(my!)@%uIXJ2l)u{BVsUh$o-w3gQdm4B`#q4&o2u5aJQy65<o$6yg=) z7UCD;7~&b?+Nb)4IEQ%msqP{EAq_w}fV2SV0n!Ad3rHJ~J|K-iI)StT>BXlu1L?-6 nwgc%0(h#I0NK25OAWcEKg0uzc3(l*H|FyAjK`R{W%!Ypfi5lAf diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baghdad b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baghdad deleted file mode 100644 index 3aacd78b1d503a3adf7fd3a9085d1c1eed94fa16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004 zcmc(dKS-2u9EZPWUWkT9i=BTmv$9jKUOn^P@>So|bUEQ2j)oF+s7NXra*&Yxf)EZu zP(wi>f>A>_=pqP0G+0D~Eh6ghTMk{C0;w>r-}AZz4$;)-<#*4^@g5xS^JK0L-E5M5 zJ7~Y*u#`RAA6EM@<#?vlxfPWDEO~cydnt%*bophUpRSZIee^44KLnL8ht09c8>VXX ziaCC#*Hrhr=0rMfYP>RYvZ2VFD&IAyi@uuLXl$@{XGG3yEoyx2m(+dg(E3G38{XcR z#Ea{4cJj5J8-1qE-F0aksL-ZhK$3nS&5cj=eD%1t99foB-h!mQ{ZKdS$%WO2dU5%l zwl2(z_hv@go@cdvVpTgH#KgaSO)vFNNoV@8bhUla?!<e&Tosj`;vMM~SI2U>TqN(n z-jyHyhbvzs{>r`;iBF5YuXCh8#PuVG{=853Wu()ddM9a5GmlFo5<)V6fBmj~GJO5t z_kJSw-{yuM&22(-@HI+8S}hPY5Iqn@5KRzO5M2;u5N!~35PcAZ5RDL(5S<XE5UnAt zT83VTVuogjYKU%za)x$@dWe2T0+0+CDKK(?Bmv2Skw!?H2P6?jCXiGhxiFGpWCKYD lk`E&xNJfm57&$?bf@H-=i;))`v##VnHCE`^^4b&0!rvMC%&q_c diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bahrain b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bahrain deleted file mode 100644 index a0c5f669628d8ecd61c398bc475cf2405d20000b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmWHE%1kq2zyQoZ5fBCe79a+(c^ZJk!cTJzSh^-1sQ>@}KLaBZ69a=m08p60!U3dC y%YcEy$2WvQ+rR{fjX@GX5JG|-KOkBdfX4p^*#+W)>;uuH*vVxBwBJtGm<s@Gqaf1& diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baku b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Baku deleted file mode 100644 index a17d1ad8c8ef1fe25c033ca2ff88b75da7627828..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1269 zcmdVZO-R#m9LMqR+GaW}cCo3;p3IiIV(r0ZO<Vaev{^nZg{at}q(Wjv-6VfdNe3w? zJVc&5ghf%ORM??QU_#I#li&wYK~kNfuwwn*{~AOcqGO-&-+TUj0QY+>wg1>aQ2v<9 z+~Hzv=Hj(mnWvlOV=Zr<mvoi-u4Px0%?3P$kK>+2+nutvk}aQ)1S)1OWW7^Y^va2I zx^n!qUNw3|uO8~tYX%c~?SZIXm#ooMu?oH3U#zRWU-gFKciQJHPy0T)(i>kDWon)- zW@;ZUWCE`jvRe+$xr3+fyMvE1*-+yx3HMx-Nabaz4<48LZzm<{9Z}I2z0&aIsM<Ci zk?r#xDt4n=HBS0f(@03|xV~J)2TIk>^L4VT^^<Boyi8iE=TvL+2WfLoszlWjNxXk1 z?e=@pKKnpAUXID`+vAd)xvM%aos~TkSJmDVY3Uk0qq_TtRL@|)>fL%srIHP5pC_*R z{9ZMj%jLvoU-IMOaQ^ZrSX$t)7Z&Be_m|p5Hcy#1SZV{}FmHO7txzNymy-N*{*KMu z`Tb{-ohhjcgv=E&SC~H|Hfz>P>#Nj1ob>0Pzh?fq94AgWb#8O=l+&jOuxb=gBv3R^ zL{L;vWKeWagiw@Fq)@a_#8A{w<WTfb1W^=OHIgWrD55B;D6%NJD8j57WfW-)Z47Y? zbykf$hCZuCAVVQVB10oZBt<1fCPgPjC`BnlDn%<pEJZCtE=8|ZBbcGss*%jl%n;2` oO_9yeO%cvePLWR0P7zO0Pmxd2Plt_-|Kk(jikZ(w)26WNJFq|ijsO4v diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bangkok b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bangkok deleted file mode 100644 index 8db5e8a61ee9e63164ce7f07969557fafa982dde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWHE%1kq2zyQoZ5fBCe7@Ma7$XS$?ex&~Y|No3kObiThHXwN*$-=;pRKURD;~T=@ z1jO0~<{$|m2qA1dP%qdDo*!Tx3=BZi|A%dBJp!UZ)`5iUfoujM?c}ln+Ha?8&IJIu C{UtE~ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Barnaul b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Barnaul deleted file mode 100644 index 60efb41b45ba1dc51ad67f65be0361085ba9cb2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmdVZT}V?=0KoCHoNmkr3CfSPvdorE^SElRrgqAf=%zsop)v^V!=Pw{&<BMJtzIHV z6hs6eN>33N`gjPTLj}D^4`KEoQc^GVP*D<v#ybCNgCGcc>|D<MogMB5+xaiC^WgrV z_+xm?4wDfzlXXGL+y-8pp1C(TS-QY~B)za`NEEsU3ktu#OclKwOBavli;|IDY432i zwdmFk%XhuST6`g5Ejd+bl^*h0OFQOS%VHU;Eb_@(9+<Ssz0a)``HwBX^P}`ny_PHA zzETy(&#Q{jM{?DZJ2G&0NLCJAkyV$^$<_VGWOYxstbQ6#$-M_u&F)J&c=WJdQ{SW4 zZr`TY`Py|TSffKf!aD42Q{jmcy?$D%4Z|}!GCp6`-7Hr152jSZ*=e=$+L%)NCe)_B z&w6w8p=#_J)mzF3RJ8HF-kRH|n#!)~rVlrCbIwWK{OpWwdDEd|x4U$F<b-Oy7}bf` z7uo*xz3R<mGQyEFXZCXD{&wZLvM=1OyuV&fm(wXkTfg~jMPiRI>txE|7NRpL=4S8N z9f#SOeWo+XnrGsz2@#MXGs9-q@-f0;hH%(R`<D2JL;m*bZRWdWIBev=+2+uZgJ*E~ zwk7~10we?mF(5%8Q6OO;aUg*pkszTUu^_=9(IDX<@gM=&nuw5)keF;uP)JlrSV&w* zU`S+0XtpLcBse5GBs?TOBtRrWBt%;iBNC*oi4qADi4zGFi4+MHi4_SJi53YLi5CeN vi5LkPi5Usn)<lhjZENC20!Jc8LPugpf=8mqUem;X5x%F+{3RNyYCS&z3(gxL diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Beirut b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Beirut deleted file mode 100644 index 72f0896341a76e6be611d04e0b1aaec26f6f4a45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2175 zcmd7Se@xVM9LMo5AciPvwPqnC280239vD9|k&-SlIenWal8Jm2PlALJg%mQJX}M*r z?3~eRuGEXlF(ks8xms&YUBi!C^pC@RR;`#K(4<u}SD)v%Kl`Kp^n1JS<NLiI+x>B` zXK;1x#$4xLM~r=iC&w%H$#ud`dwMriZ4S5Yk|RrZs-wldI+C7Y-pgpyo%dWdotJxL zD07b)8u!Sh$)BoA14>^W9yY^$VYzZ{vl;2QLq@xgs<D<bJt4AI#b!OLCziyRo2Gmy zacKoA?#e|SA6sYQ&)p)Ee;zecjvthSGpTCo{<C`8`>|?z<1w8$?lm*dzonA~)~n<m zEqC@EFtfrjI_2OQHM^-m?mC=pQdfN@X*E?Uy>L|Dz2IY&k(erTl84NkYvnrAsW+MZ zlXO;Zzsf#xTs+}!<=y?d%-y<Q`8G63PGy(L4ZNo36}@Wi^=#33$&DsIVWrN$9yEnB z*GS=DzPaz(LYaT+c60xQ6j>0-Q$;7EW#Nl6RPmcX$^)T4)PuVny~uw-l~jMPA4)%^ z{3T!Mhhq<^($t799XV+h$L!UM``<Q?{!pivbhVkXZ(fo>`#Q7qSgkB;C^52ci7a2G z)MJ}GvZ7#-3YJZil{3;*dDbsd{@X-Vaa)3}_-;r&K0c~f_nlQwe0yH6IrNjM?EOfu zZ98qM!Uwdf`oOH)(Ie}N_nGR-uxyysU_wRBvN7&uRg+vHHAD64$?Nl__VhAUH<%<( zb>^r|Ul;27y|=1{NTPna=2!L1o<H^G<u{wg&_%t)chzk5f1#VE513}}pfr!2Fx#en zF57g6**@})v~;(c*8UgdxsEr~j;@eAzr97ZwU<hC)D84-oY{}q|FDzki<;m#Nh!{x zvOv)B`&V!Z@{T=%|GkKI`!RPBzq{XXoWJZ*-uLAv$U=~nAWK2kf-DAE4YC|pyB=gg zu69Mpl3eYYkVPS@LY9TB3t1SlGJYOQL)L~Y4p|+tJXgCuWPz@Bg~$?-H6n{dR*5VV zStqhkWTnVbk+mX=MOKR}7g;Z|U}VL}l94qdi$+$BEZfzt8(FxkT{*IJWbMe}k<}y1 zN7j!N0I2{{0;C2=5s)gl+A<(@aJ7X%DuI*&sRdFDq#8&$ka{2mK`Mfj1gQy96r?Ih zS&+K8+QJ}}akZsEYJ(I9sSZ*eq&`T2kP0CsLTZE*38@lNCZtZTwopi=Ty3e4S|P<k zs)dvbsTWc(q+&?PkeVSyL#l?94XGPaIHYo}wsc7Ckm4cLL&}HL4=Es0L8OF84Ur-u zRYb~&)DbBpQc2gb6Yf2=<ep+8)kMmP)DtNvQc<L&NKKs^D5g=-|0}2Qwyd698k-%M S=gsr_=K8V&Ilh0c;{OIN*MD#T diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bishkek b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Bishkek deleted file mode 100644 index e3f81ee3327308132b4e9910fffef558850d0ce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1045 zcmd6lO-K|`0D#}Pn=EU=bSRxxbNbzMQ^!?z*WWh57}14@QHJOsQOZ(>PMz`x6eZ{o z9i_v9=|Q>_bcuf6A!rX>f(`?+&_NL|8Q~#WY<u6R6m{y>d%X8O9y5oT?{ltZN8{qJ z5mq-WMnWyl`jpz1jS2n5!lrd3I-WaP^<1wEJu@q}*B(}FtmcdrLqGN*n~S`<E32Q5 z$(qNmJpQ0x*52!o=Ixj~ajjaO96TgXb^eg2W1I3!<g+|m@li&DJL%}wm-M+e3$kuK zY1O}5G-K}#>->{Bvtg-dHO^$srrCmJ-54;NN8eiU%vi3a`@YwDWjNnfbIVJ_Q~AVB z#!E$p>{Ox2YcD44j@O61&K1M%T55E=Ul#42S>3%bU$E0RzquEuxAVPypWNQ!BXhD; zDhVx6wmX9dew*dmuNl(*n1O&0eP7iN5tlBDpb*#ZXdxk-5pi&T-@nn+&F(YK2xp!d z%s3)uwW*a<iyth6riOpm+nj$e^L_6f^)V$3K`e2NDTpnIF`vpB#2myP#2~~X#3aNf z#3;ln#4N-v#4yA%#5BY<#5lydPh}orA5s9M0!Rsv8X!eLs(_RMsRL37q!LIekXj(c zK&tVn%7N75QxycM2vQQHCP-0`svu=S>VgyosSHw@PgNV7RBryy;=*03#h!*l_$T?; B-P-^F diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Brunei b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Brunei deleted file mode 100644 index cad16b0dfea2ec12074c8cb674cffedbac27b0c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmWHE%1kq2zyQoZ5fBCe79a+(`5J)4+Ab!SUFq%}_5c6>XJBMvVqnPL0~BV+tN^Ji zXkg&-@eN_nHZV6f0Fo9UDIf?T!ImEoEet>l{)21-(I6W^!u3El@wRf=09|0GYrzEo DhVUm{ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Calcutta b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Calcutta deleted file mode 100644 index b57972dd8ab55785d8cb21b90b5277d8fc850fdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmWHE%1kq2zyK^j5fBCeHXsJEg&KfF``kUdPTlU&IKx^fab~K~ic2LzGZ>kefslbA z=mJmygSQ(<wQmFi2LnTN1|yG$ZwP}g5PJrPFlZZ?85@8Ufk6m%yIFyfAPfRPGr(-I zA7Cy6!+#)9+a;j^qMe_=HUQBeH-Tu7yFfI^ZD1PcJ`fFZBLmQpEI<f!<qeQgK(_*2 h33Mya2B2Gcz-|@r0lE{ndl?wGfS%AbwK6u~0sv>)ONsyh diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chita b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chita deleted file mode 100644 index 95f56456e5264b11295251f941115a9b877a64e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1257 zcmdVZPe_wt9Ki8sZMvZnze{N?bEV5{YIBvibXuv2Iw@)tC4tZ%$|6P-6+{aCJxKfx zMGzf~{y|8W{v6C(3Kb$$o~(mlhq{<VL=v%{@0){Br;a@@@AG;0?A>5{zHegpp#u@~ z*T}UioQx)WaxJ}fy7g|h|H<tUv!HZ)a$&)x$$a0%nf%#jT?L;8lZz&%Cl`-4B>h8i zT`~~U!kd-4w692u&WHw%xO7?P7hT>yrNy=5S`r%3p#Q0^$i1(np0`r^by!w@cpfM_ zbvRHqeos~nUzgD1%Tj*lv{YQ}mdf*;vif*j!uw)UwdbHljy39<Sevfh7Swfx<ysx_ zYW2_gTH`N~n)fpr{gEx}hu&!I#7C*S`&nXxucZFMYiYPKARG2Sl8xtH=%(gt(zy45 zHU&>gb7P-w&e|m{#YeSe`h>Q+w`%LyPHmftX#2yc#z(hE#}&UO+FzO--^KzxsZ`3i z-1B}Po~(=`+nezs^Nl~ReO|ZQnC>q7x0+<H@fg$B@A4UQR!v@dPOrG^O8OpS?@6zl zym&{#gu*o@R28;H`7+~jhI2VLCH`Tbzt4Tf{=^jfjqEvteMj~l*?&jd0MY@{0@4H0 z1kwf42GR%82+|4C3epSG4AKqK4$=?OkfZGgX$k4c(Kdy2g|vnAg*1kAhO~zChBSwC zhqQ<Ehct+E=xAF+dUUi+B3&YFB7Gu_BAp_wBE2HbBHbeGBK;x_BON0xBRxCXrjf24 iZQDrSNaIN7Nb5-N44TIt+rt0UeNLTyCh9AqIlln5o(JLp diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Choibalsan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Choibalsan deleted file mode 100644 index 15b358f2f4ddec8b2543f883ada86d2aa3771136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991 zcmd7QJxCj29LMp0Vx*!%ZBb~osW0_C#zgD;dz%!8nog;TMR*h`NIE=&TT6WgDYVUS zgHut-pjgGxv1368H#>>L4cg*j4_d)3K40k|bg^6SxO^@L2O-~Ia$@#ntNeA`uur%+ z+U>=Cv9TZT_J7phEI4%Toa~yr2d8f7-k>h~Ql;)~RqEhUK;2L0=<?U!RYmGpSH9R) zRZn;HgWgS59oo<}WocDg@KM(VKD%|l*S-3q4{pP^_g>@IS8ixK<u$E7bHj@XuX!Qr zM&=@3bmq3(GC87K6A|^Wzgf41Z>jcRk?tt`rFu@*oZjsf)3>_p^e-ASurTio&P|)4 znJMQ{GHxEnV@|BC*2Jr8oF~DU4FBBpo|k;ejOI@1(X%(1vE!JY&t|jY^9ORSfBJLn z=@&_j+y6qQwFE@8kvx&NjueWdGrl73efFN`BZ;JhqMi2YvRAi+TB5vo<w*WRfb&1^ z+25Td1Ye1P1VN%8VURdTAS4nJ3W<dTL!u$!ka$QyBq9<LiFv6FibO@iB5{$xNMs~5 z5*rDQL`T9S@sR-_BS40Li~$)0G74lE$T*OJAR|GBf{X<j3^E#IILLT77!WcdWJs6V TF(HG(|6)}6eRgmI;ja7(v&hqR diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chongqing b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chongqing deleted file mode 100644 index dbd132f2b0bcc8beab08e04b182751795c853127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcma)%y$%6E6ov01AsdnK0RGwCh(;k=S&0xTQ;84_wi_?7<`F!PCs;~}D7?f(B^vIT zl7ch2`)zh+C+8E>VAZ0p#Q6&b$@1Vmt@shmEEPQ+dAwxQ={D8*Lz@c0P8P$BDh-yh zJRhox=gVq;O|{%Y*PQ{??_KRC8|0oVI%a(=qV1LMrEqU0h@_&_Xe`L@@k|6ZIO2E7 z93L|!ALb9D7bk4{9*EM0TpUDs5CS+32?Qb_WIzakkOCnFLJol-2uVX01tDw5!t~*5 M#r`q2S-#n^-;pX<T>t<8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chungking b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Chungking deleted file mode 100644 index dbd132f2b0bcc8beab08e04b182751795c853127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcma)%y$%6E6ov01AsdnK0RGwCh(;k=S&0xTQ;84_wi_?7<`F!PCs;~}D7?f(B^vIT zl7ch2`)zh+C+8E>VAZ0p#Q6&b$@1Vmt@shmEEPQ+dAwxQ={D8*Lz@c0P8P$BDh-yh zJRhox=gVq;O|{%Y*PQ{??_KRC8|0oVI%a(=qV1LMrEqU0h@_&_Xe`L@@k|6ZIO2E7 z93L|!ALb9D7bk4{9*EM0TpUDs5CS+32?Qb_WIzakkOCnFLJol-2uVX01tDw5!t~*5 M#r`q2S-#n^-;pX<T>t<8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Colombo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Colombo deleted file mode 100644 index 28fe4307d75db1d500d815b4269cfd82de7cbfe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmWHE%1kq2zyKUT5fBCeP9O%cB^rQ4``o=Ur=w&v&P>%_aH+Jx!f+XbhEXAdf{Xnt zjr#xp|1&Z%voNu;F)=YPc-;Z2XYhK$z{0@b8v!yRB!Q8Sfgw7BQ3ymb0LhR92A~K? z*2g!5!54_N4NQ#<fTS4+16k-Ggs_9TfO^0V{sGktbl3l|Z8KFsG{^%W8srHO4e|(x n26+ag9ONMo4e}I-26+rb*8|ls(A;-iHemnT>6%&@8*l*ty`oU( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dacca b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dacca deleted file mode 100644 index 98881f093ae76753e8757dc3fa50fcf7fd1f8b63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmWHE%1kq2zyNGO5fBCe4j=}xWg39QsoQNE&af6roSAC0;_iw|GrX*i2zcAvm{9-! z|9?g%W+oO^78VAEkRw2)3_%wdfb8fDkO{sK417TG1O^cXhNJ>U2_N4O1`i<CHZU_b z0FtI)(hSHl2Wf?a5W?=`1S$r*?*~*D&?)~j+uHVkXpnnBG|0_h8t85i4RSk3ImrDW Y8srBMT@RFFpoK@cY=B<1(>3D)07ULl`2YX_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Damascus b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Damascus deleted file mode 100644 index ac457646bb0205eabde9526bff8ae41d33df550b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2320 zcmdVaeN0t#9LMn=AVP>}q$?i=q$0+{1+IVv2o@4)7yAVl$Aij`C<zHV3K0s(acw@$ ztSxIU(pChh)moZ!%dxgfo4V$&TCv4yM~h`ocH}{WR66hDpZ(Q;^}W0Ib$0LgkI&m* zUc25a{&7LhH@vz1&YS0{rt|T}(AzC<Zc8@1)*Ue3s=D3m&gn3EmJOS|QB}sFn6J&l zA?@~+7mCDC#cRfJ<05k;YpXF@@~(L`+HYUWxFD`gWY}X7--@vdC++dEhs0kW|6yDo z_*~rRZZdB633Fn5uPqLyiGZ2`Be0{!3|bLkPpbOO3{H5-o}3pWLc%{YLKhU9p}&vY zVZl2@*m;jJ<x;o^fB%><^-QiAQCDV9JJKko`<^%M8aX9q4b&U6`&WuNeM3f6$$SyL zd(em}*dp%UHOrot-6ZDM9kdsCKQd!u^Nocwmz#0HaYo$L3Tx3%FUor^&QbAaXUc@5 z2`aIxQYUp5Se`v?GP$i)rPRNtQ!9n?$~3(==b}nWeNv`JeX24dJN1&lSFI((=jFYF z(bj$6_+{qlVwH7bhtBTZZY|w^Qs(UZP~~pEte4g0s{7Y8>IZzAth}YYa(PmZ%8$Gu z9}Lg13gUBQ!Dz8sF=eA(ac<mN`AeXD`1qa5cjiY~xNl6YI(%9_(lnstu0!%sf1fI< z-7SmLURVC29$hkHn_BJNsaKCwtJ25~y7apat8B=p%loRViZ4BS&4D~??a}FaU3;um z*_kBO+7PR%b((xE`)8}V{EB>h;biqh=2vok@Fi6<`?#zbJgaJhzR<O&-ccKVIHv2m z_o}Bpd0E%*Jz_O<J*%H?*kc*bmFbPE8mvv#S-R09ttMZod?vzcH791u=F2mzmhic< zr9V||{`IEZa^eovdd`w<uZ*hp53cL2&Hbul-}hPs2K*;qLd*+w{`EzCO28x`=EjKI ze1(3IpI^*}pI@Bw|BE60dFxNagmVlE85J@tWL(I=kdYxnL&k;-4jCOXJY;;x0Fe<Q zLqx{t>I@PYrK>YcWSq!Ak&z-pMR%+`Fj&qREyr+?@gf68MvM#@88gSAkx{!k!$!vK z>I@tiImghEu_J>=M$a*PWc(ZfKq9~q0we|;K|rFw5e6g<9DzV0frJ8y1riKbCmKjN zka!>gK_Y^L1c?a}6eKE0Sdh3Nfk7gJga(NX5*#Etu1<K6_#gp7B7}qpi4hVcBuYq_ zkT@ZMLL!BP3W*gGEF@Y;xLlohApvuBB8G$vi5U_!Bx*?5khmd%Ln4QS4v8HSJS2KZ z_*|X%ApvxCB8Y?#i6Ih1B#KBFkvJlOL?VfV5{V@eOeC5}IFWcF0d;jEiiFhFi766P zB&tYQk+>p(MIwuY7KtqqTqL?kc#-%b0d{pFjD*<Li7^snB+5vbkvJoPMk0;>`%s5D a%}(-C@5I8zo^(%oa!O)hYRavru)hIHh^b=$ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dhaka b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dhaka deleted file mode 100644 index 98881f093ae76753e8757dc3fa50fcf7fd1f8b63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmWHE%1kq2zyNGO5fBCe4j=}xWg39QsoQNE&af6roSAC0;_iw|GrX*i2zcAvm{9-! z|9?g%W+oO^78VAEkRw2)3_%wdfb8fDkO{sK417TG1O^cXhNJ>U2_N4O1`i<CHZU_b z0FtI)(hSHl2Wf?a5W?=`1S$r*?*~*D&?)~j+uHVkXpnnBG|0_h8t85i4RSk3ImrDW Y8srBMT@RFFpoK@cY=B<1(>3D)07ULl`2YX_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dili b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dili deleted file mode 100644 index c94fa610f952981a865abe4a9d9cbdc26946ab3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmWHE%1kq2zyQoZ5fBCeHXsJEc^ZJkq-PRGPR}&@!2Qag!1C}+hWh{i|1&T$F)}eR zFqG~ADqtvRU|?ZjsGGpR;o}>^plx6Q#FiilAP6DBwjU5J3_uJ1gKP!SAe%wLAlpGS W$ORx!50oR`6<jtz7uo4rasdD#5->Xe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dubai b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dubai deleted file mode 100644 index c12f31a141db7e6e02f7274e114c1cd6be2ff1e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(!cQ|-)c^ngpMjB)fx-9&P=vw4fq})xH-tgk jzy!o)2qD49A7C8}3_uhAgNz1o2^i011GLCa*MtiIP}?0H diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dushanbe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Dushanbe deleted file mode 100644 index 67c772b4d9d711dba166b802bfc5e1f64ae004da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmchUJxc>Y5J30zG$ATnqsb*v<L3!M2tpK8B$XgUNO6UTg;*#73oENg0=9zw0E+`V zu~D$Im|ASCZ7j5~F^z>5dd@oy2v#=EGV_*U7iQo3tJTdZ^DE-oA&Immd#9o0)ZK4f zo-_-+-d@m`x^R;5^IY=n@hJ855V&`)lfJ12nX6sNo^470@rn!_EXiPPR&v{U8CuKA zaJffD=00RJ-;}Y;y^MF=if6x<yqD+F#PwmN9)_W@+S|UC-SJ~}#$v{l7{V-8jBU)u zj-_+?>!!O^TOCU~oGCB+CSNFO&S*|^)mR$QMvMQ4*S~&W(g8y(Kupla2E+)&N<=jS zu>&y#u>>&%u>~;(u?8^*u?H~-u?R5<u?aB>u?jI8QSCwu!@AD?f0h&T`UeY>#l$CU CZF_?N diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Famagusta b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Famagusta deleted file mode 100644 index 021f8a2dd78a0a493f58af2ae4107dfddb4f2d40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2042 zcmdtiZ%kEn9LMo<LsnkYzGy~v`D2nPc!3L7Objw3#6Mg;#!X8ljtLhmqC_Dm?Yc>< zIp)49n{(-A6IpAHbkllZf2KKSo1?R(4_afLvQ=xs+RWLXvHHD__NWKWr=7cdUT0_b zKKs2t@wJ;0CDwngyUiQETuJlgIemw@9epi3JbvT@FF3r{P5ZOKoABv*dt!f?Gild% z?!Db1N7`4q=^MwK$+ez6B{t2wFM8IVntR5%e@efdk#fYzxYlDoaOEv$+E>l?gP%7! zp^v-W%ws#ftb++RySLHH*|x-;-cs#7v_9XRQIqH8mQQdW4ySoDL!<5^X(QgO)HHk6 z^`JBRhY>sP(p4w_+?V#8lS59p|Abx8cibuL-e(tW-Rnde+U?@HL9ZmX$BkB~H@9Gm zTbkA8%`54Yd1FbLAL`Tj!yBaRuMS=CNu@mY&9hoQP_GrI7wF?Xi*(^TnfgQ`R~L1c z$&-sywXz{3PtE*Et18E2aq1UZo%^j+kNzl2Q_jfJp$oF?$`M&U_`cL!{7hrJdu7G3 zcXefJtJu9eb=8_(`gBX9);`*z@tSIVCS!%J4(I9W8xdXOCf(<*&z7|x{-*0L2W9=? zbg4UeRh~~?lls0Paq2J2hV8%T3kyGzjdd5bA?JWJRt#$5o>SVCrP}oKer+CW(@ht; z^u^)0zVzNYZ8^VLUVghmTL)_8mF66MwWm}zuPT?eM22iB&X%oJe@J_}B^^amwd2?C zrE}5^?R3vc*XY;!`tbpIW9YPQJ8)LF4<6DtyZSY`JE_)Pfjj%8jJy3O_4Yrx^$W|& zxnxeCl^+R=v#iYN*7$$#H{aw(tcf?@)WqUeRaGswxHTsd<zIn-6}UzG4$k}U{MTH6 zn~QVLGiM(;|40K!2S^J@4@eV87f2gOA4nreCrB$uFGw@KrW>Rkq#vXqq$8vyq$i{) zq${K?q%Wi~q%)*7q&K8Fq&r{J9?~DuAkrbyBGMz$B+@0)CekO;DAFm?D$*;`EYhv7 zX&33&*EEcDjI@mOj5LjOjkJyQjWmvQj<k;Sjx>*SkF<~U?`t*y*#Td(1;`#Cn}F;B zvJJ>SARB?~1hN&#ULc!+>;|$O$bR^m4MBDU*%D+=kWE2$1=$v4UyzMKb_UrRWN(no zL3Rh(9%O%z4e~WRglrMAN6022yM$~LvQNlHAv=X^6|z^zW+A(UY!|X$$cFiv9YeOv v*X$XxX~?c2+lK5LvT?}H;s0stf@T5>N*Kd%ELvDv7%7T|W5p5wX>RZzDF@N9 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Gaza b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Gaza deleted file mode 100644 index 1818affb54a514d740b3636bd96f9f9dc9f25df0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2295 zcmd7SZA?{l0LSrj1yNzv$ZW0=LgE9;<xy^$1VI<@n&>I7Opu2^$wTG?CnW~~Le1QK zSPs`JClj|A8=J0M&Y5divK~#nC)8T&MgLwX3@>q%2L)&J{~lg8b-nAHo%{Lk!hLgh ze_wCm=E`L4Uss5Fhli_0J)CDZtCt@NK9?7-pVu#)_*=XD-LUCDR4L8QI`ii}LiX(c z(YR9KYreWgntiTKqHox#_lKPo{nvzfGcaxiPH)o&{7u$hAKlgleWwhoZhrHvmK)aX z!UAn*=hMdUii6D~>)VXc$nfSnt{&^oM7B0IC&U>0^MW=$w%oe6FiW4_a6nGK?=xqN z_KVPt6f@%7UHQzuTV~|N2{Bh3(WBn|OhkK5o6nXUlk=jA^_ap$F<;Bj7laMS1;5-d z7vA*CMPCQ$u~!3Papzof$(I!}ZlA++9?g~UrJZ_0eXLAe`K_7QJ545)=ZNIYZjs_% zB$h_Ei`1A<;d1O1t^-5zxu?p+vJkhvY@$&v9~9>Ef0W7<{wy=?t4#UAr!i)F+dP?Z zD8ziRX{yXDdPioJ^vahq&sc6}hsb{7zMk{gZ!)K^+Q<#ekt@%Ho1UM><*MUp;^mX^ zt*gtr%)AfATGym@>uYO%7y8B)`HHtoyy`x#uUpzCyq>N4`q@1)KX#3tKhkY&m~}yH zxYlkJ44n{#=gu1&ue>jcj(uVjpE5+r?)Qw+)`L=%R2gLr+vRKN9%ECHF3TgA7!_&B zvT|CkRTc51tm=)mUcWagH-8^yy>We(*wQgzZT)6MY}@O%wzvN(s;dKrvFEIKbM0kg zNBL2)Gr?!nxEsY=j~_O6IgiL)gEdC&%z9bt&o}A@isjp1?6B%DWypq)y;kGNXt}%A zWi@@6E~Ypheg_9V@SftB%Kh-q|L4DIT9mGS*V^JlN3f<vL}@eZ^Gy33KKah-Jg=6W zy^a^J=5eb>o$bppiTBYfI;{TFUeVpjk7yI>YV2C&Lso?>3t1PkFl1%O(vY<wi$hk2 zEDu?qty&<mLR+;&WR1uokyRqgMAnHc6j>><RAjBlVv*G%%SF~}s}_u`*j6nWSu?U| zz7AGxtCo$d8(BEAa%Abq+L6U0t4EfPtRE==QURm{NDXXN5s)e%WkBkH6auLPQVOIN zNHLIVAmy-C^*{=OR0JsrQWK;oNL6fAS&+IQg|StYK}v(v1}P3w9i%)+eUJhn6+%jc z)CegOQYEBJNS$m|p^!=;r9x_j6bq>qQZA%kNWqYbAtgg<h7=8{8d5f-Zb;#5RppS< z*{a$h#Y3uxln<#NQb44FNC}Y|B1J^1h?EhjBT`7Dl1M3SRV|TXBGp97iPRG*C{j_R zq)1JXq9RpA%8Jw#DJ)W1q_noGwn%YpRdtc_BK1WIj8qsYF;Zis$l9Zl`M@9t1^<te b9I9IFOs3j#c`5O!@velVxV)sq$y4Y*8Nl?s diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Harbin b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Harbin deleted file mode 100644 index dbd132f2b0bcc8beab08e04b182751795c853127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcma)%y$%6E6ov01AsdnK0RGwCh(;k=S&0xTQ;84_wi_?7<`F!PCs;~}D7?f(B^vIT zl7ch2`)zh+C+8E>VAZ0p#Q6&b$@1Vmt@shmEEPQ+dAwxQ={D8*Lz@c0P8P$BDh-yh zJRhox=gVq;O|{%Y*PQ{??_KRC8|0oVI%a(=qV1LMrEqU0h@_&_Xe`L@@k|6ZIO2E7 z93L|!ALb9D7bk4{9*EM0TpUDs5CS+32?Qb_WIzakkOCnFLJol-2uVX01tDw5!t~*5 M#r`q2S-#n^-;pX<T>t<8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hebron b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hebron deleted file mode 100644 index 286a9351372a529574f14f1299f9672123fa74b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2323 zcmd7SeN0tl0LSrj1yNzv%xu;OA@K#}9l2=|1YST)@RV03$jd|WlKH|($w`1vBRA9K zELS<5xW(95wkYSyIV@SPrrr~3t>xC!9|}W=qr50Mqv!kZXH&QS>YSbXd3NFcb9aAV zZ~lhzc;jDJfO?0A>pk^wp3$IQe#rY=p1XR+Jb&zO<HC1?wr^j#v|Fp~pBshjeEUc1 zVp&_mrH#_=cCQ!RgHdKr&`HsAS=iTmN1fgin~gqSz4O-xH;w+b<CarBr{Tu_YtGI5 zJY!(n6V~9;y$wTanylfFX$`mBozAVXbYo;@fHm^xSz~l$iF0ROnmM_4kDPqB&7Lyc zBLZ6z?BLV4<&(Q_*dgb}#4K^p41M!65tenreyZq*oE=(dhUdqMIYx>(H>gj}{pFfH z@48RU|Ju)txYR2aw9c{@o+^`(yIpqFp-dTF+-k<uM9A3X-`cTVlVn_JhKNt?5DA|7 zVo_MLNDL1YZr3j1-ZLPdeyl_+4)B<Z$Li#geqlfJN3mS$OS6-{N|n!k8g3^y&6X+q z0_^ANC(6`<H)L8-mt2<mh2x285$TWIH8URiO=fggTA95w<?>SjX4X%ma>dak@%+bE z<jRtEJNv-M;he+{Gp8U(<}_Y0S5^Hk%ys+a3*L6|qUWf&dQp?`W^FRp%;=Q45jke= zP=~X2`dP8|a<h{+a7^T%K4Y!B_>L$z@{v_|+!94Q-?EAi@0Fsc!YZlVB40|*vep-v zvNU9&RhASl%O_<z6~T|nimnLf<vYW2!}meXD_5tBjV*o7rf-JC=3PE#OY^Uyva;8* z8c&K>S6#5SmL3w@V%n@KPn~$};dia=Q3vJr{wiz7)Ec?Nmupq`70TDY-0IYvPm#4B zdY!sY!sN~!Zm0hJWHG^Y|J&d1p7#XTMDF{4{y+THFhaZ3FWguV>+&~@;80_VK2O!> zY2)v#%=Q}T>8pA18d)CosI$IY<9HvurvvIg^`35zf5aG5S6%yx$B}&@8$))6Yz^5P zvN>dT$o7!^Asa+?s8w4;_NY~xM0Sa66WJ%SQDmpcR*}6Tn?-huY!}%tvSDP$TD4_l z&sw!<WY@^H`8wFQR&5;FIkI(R@5ttn-6Pva_K!3G=>XCKqz6b7kS=Id8<0LAjX*kq zv;ye`(hQ^<NIQ^zAPv!~jvy^TdV(|s=?c;oq%T_47^E{uYqY92NOO?xAnif=gER=~ z5Yi%~M@W;9E+K6~`h+wJ>6BKr3h5QnETmgVyO4e%4MRGHv`njdrd3Ttx`wn3=^N5G zq;p8?klrE9)2i+v?bE9MAq_-2h_n#tA<{&oi%1)hJ|c}oI*GIr=_S%kq?<@PwW^;; zLy?XmEk$~YG!^M8(pIFeNMn)CBCSPwi!>MMF4A7D>Mzn@t?Dq+Vx-4NlaVeXZASWx oG}?GjMDLksKmY%AqytsGqvGj!WOhPyVzfIZE;2hVcKj6h58zh)RR910 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ho_Chi_Minh b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ho_Chi_Minh deleted file mode 100644 index 92642679c8f9e68c125a8c6fa740ebf61df82417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmWHE%1kq2zyNGO5fBCeZXgD+MH_%bM~`#E#KqcNXHB0qT#P(daLL;4!&Rf*0#CL* zX?UwYgMrKTI79va|Nj{nnV4Can1PUqfguH`k%1xk8v_diLs9_)Cj&!40|PGuL)`=h zL5PTtZwNyGh|o4L2Vx5#wghW}5g{bF^9NKD&>8<h?gh~xH-l)9yFoO_?I0TDeh>}v g1BeFs14M)T0s<iafIvM^jM{$UvH|+mPS>0Z0QvW1Z2$lO diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hong_Kong b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hong_Kong deleted file mode 100644 index dc9058e4b578ca8c9bb954af1bbe26a964eaf408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 zcmd7QOKgl$9ES1JxivGCw22K1;+B(05gVrxw3R5GRu?8|QlVubhN3I1CL<z|5Rpho zNGz=WMMPLQHkNu3;#y<Sx^=3h>e7xGTH`z)iG`KeIFs-DolG*Dd7oHQeCrbR#|gS` zcsQ%w!@V@=UI*h%*{-2R+nrt}H>3NK_v*H^-QRxIJUCt}534Vko>SN4(TXaYS~yoy z`3jq!5|Z@e8TQHW8+mFc?6X_l(tCEg>ASE&Ki@xYUYzLCFB{_K)t>YE^`fZhZ|;!H z)N(VhvRwvpYwh67!!np!V227j<*hBT@A?{K_~eLv-`T21_TIH0WS#!lc*TA?v{-+x zykkbUmFclrmrb^2RDYS5Fu7@)bw1c)@?)#?*Zykrt+!dmZ*Q^_*Q@0F#Y$T^Ge^|X z*|sPV6yL6Z^=}-IKz+srYXUm7)NhLCXLRv_<t7~J)ZuK0iDb^{Nj>dm@{J?9^mK(O z+ubV4SLE}%=ifd`?TENPSS5}X1(a$_sxWs|^7CF-A5&|h>v_dgt@HPZ{l$d2Uq36j z!<5LJ$fU@u$h643$i&FZ$kfQ($mE`Gc4T@_H$Rd9k^zzek^_<ik_D0mk_VCqk_nOu zk_(cIr^^OO$J6D5B!pyyq=e*zB!y&!q=n>#B!*;$q=w{%B!^^&q=)3^=@LXTL{da@ zM3O`=OD?3zad`rXBAFtoBDo^TBH1G8db)g(ggsrxNXkggNYY5w_#dPlakZD5$PYD~ B5Gw!x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hovd b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Hovd deleted file mode 100644 index f367a550ff9affc140c118081917effaa31d1f13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmchVJ1j#{0ESOJ5>etV60cJ4N7b_)LF>JsgXAJ1(ndtQ5(cBk8AK4n8M-mtK`<EZ zU?CO>CL6IBF%Tn(K~m>yY$l7pIsNXvxlNk?`_0jrsXFm13Hk|#`1Il0kos%m_A8R+ ze6=!O?p5Z4Q)JzYsqFKB%sKWe*PdJE?&PVw<v8h{cc}caCt1+{s0v%JWs&Df6=xsG z66c{RO}G-J@0Ui|)1fH8J1{CPw}j_p)2Q5^6W++IQMDcv)k_0L&1AKx9iLWp!G2lq z?^8anS2nmRRby(JY<an`TTjlcw*6DvAK9}4>$`UQ(yG-lxng&kVXLbrWOw_zte&Dy zyVn(R52YX3!-)%W_+#51c^;H&(P&gS;^Y4Ki5Ft%P1hjIFr6$)N0JZ|iy~zpXbMkF zqdv|0H1SF-<{$d~{P~UkYf*aUmaZXvLpmq)4(T4!Kg0pV1H=Wy2gC`)3&ah?55y6~ z6U0@F+84wb!5hRK!5_pS!6U>a!6(Ei!7Icq#4p4##52S-#5cq_#5=@2#6M&MkR3p_ j0NDd%6Odg%wgK4(WFs-^oj|q%|7$PFZF)TcZ&UI&a<;sc diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Irkutsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Irkutsk deleted file mode 100644 index 84136366d176279caf6b7a55c0cb1e270b41d334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1276 zcmdVZPe_wt9Ki8sxz)135t`Q2o-$i&t=24?I{(zPvE~lNh!`1ISqL3QL>NepOu9sL z$PUusN9HX$X@m$Ocqovdj0y?*d+8De5k=X0zV8}H9Xj{EJkR&t^S&GGeLrt9)qOIk z{@PZW6$V?x433L4X1cYiXmV_L)>Y!^%&aaOoG*0_s?u){(`6qXWY*06m|r`S$hap` zQhp~c6*t3DdBrd5dMibrE|T>}lx&E9lB$Ncve7py)$VE8v|>y=_BYz|`H9~A{&B$D zb3WjGI;yu!k7(cM4ZZdDW$nM-qqkk^*4xjfbl^l>@8~!u!7~S>rtz@sJXj;UD(a;+ zSR%Cx<q~oSb?D_!srz26>nC1I!`v4g9$C<h<1cj6z$@K6G_G5^ru3fvXR^0#SVxZE zm)7b5-4+>=eU4K)TGcDjkNpxWI4ZG6U9$gOi^T6nrG2JDC$4%W8Gr8T%Vx8-CH8{c z?pV5LU*=r&VeyGSkC!_fN_9?|JIZWV>R4JimAY`vW^Q#lqg?qpzhW~h`D=I_`E})L zPb5{$3}0Zk8Fgla_*tcFxh?l0Hz)u7xLeJY*5m&A`-|q^W)I!F*i3o+6at)v0fhpE zgH=O<!h%AB!h=GD!h}MF!i7SH!iGYJ!iPeL!iYkN!ihr4s$oT;Md4-D5Th`oP@{08 zkfX4p(4+995Tr1qP^56AkfgA*YG_h;S~Wx|Oes_;Tq$HJY$<dpd?|z}j46~UoGGL! rtSPi9ysaAI6y{b9bqaS1c?x?9eF}ftXAG$S^c^S+n>VD%A1eF>x<V9k diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Istanbul b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Istanbul deleted file mode 100644 index 9a53b3a39063e86859b12aa755b78cfb38a26709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2166 zcmd_qe@v8h0LSs~aUAC%)b)e#2L33-Ls3H@It;<Wlc5Ja>4}@+_AJqKI`%DVt8C*I z%*}N3aoJ>}IZ`4=&bD-ITIsP`!!UYMED2aoYqmKz{nnyi%&zbIskWMb)cUvYv*%vN zaq!3OKJWOtEt^WkO=qfpg`3l^Z=Qz|`oY>g(b<)iYj#~cZ6DgW!8yF+1*4}iVZK&# z!tN~$JFkb^?7pHRv+t`L_8UL%a*n>g$QWq5W)7tK?XxQ;%#Vf=#^B&F^W5cr<I^Xu zI_I|rj0=Y<&EeWK<6<n^`E2eE`}5-K&ZWS5dnE0EIdY}O{^I%(bM$<(F*a<Q<Hz^f z-+q76{I2DcJ+V2%{9$Iq7Tu>D&(`C1TH+PQyYgi_ealJHSN@if(fX3~R~||DC!ZF9 zP;Yl&bg`4E{B~Aw$jlm<ZDjXUnz!`sGj8q3GlM&~8@E5+nY^Q+Lfl#RTr#I%JaJdJ zIhpG{lbGhOPKI{vH$r3klldQBu%~zB7&G>4S2Le)QM0zKQFk{lSNFv3R|Qo?YWDn) zD$LJRbEZzJurDmb6VqhT<$#<!{EM9T!Bts&Voc8O`B*O4-L4jPyeaQ}s#}({?30Vu zzpF~0JfO;!98~42o>livPpFF0M^(j*$5bTm85tR0rYa}b$;I!@Q4fq($*SI3x#XQ0 zvU+EstmzVR=_bE?up?hR6ulyAH~gxW6%NX1t)rryrOtBSS*xz#%V6ELZ-VvS{$Tyk zKyby^hl4AR^#x<+&R7k5$F0VruUZecwg!zo?bah}U$j<j+i0zhoDRlgb=I2PMysj% zpw;waiM95Vg+^N{mGXGg{>zo_`}0ckX88Z@<((3^>GJu6$Scy{NRhW$qzf^x#4|;R z{8=Jfh{#gUZM-6K{{H%3-@|WX4RKMg?`U*24{=dkQm*eZ{;NJ7eSUxD{vhK2yp<09 zPIoIm{qcwTqe?ZsJ#Y!x4zeFty&+^r$d-^jA)7*Wg=`Dim#f|wvNL3B$lhG_=8)YX z+e7w;Y!KNYvPEQ%$R?3pBHKjviEI?vsjJ>9vR7oY$ZnDCBKt))jO-ZQE%UkQJp-FY zc8zQs**CIrWar4%UG?5MY~EGx9@##!e^=cAqytC`kRBjSK)QgmfkPjVMj)L)T7mQe zX@;xr2GS0sA4o%xjvy^TdV(|s=?c;oq%TNgkj}X3)*!t>nuBx)X%EsLq(MlBkQO05 zLYjnh32773C!|qGr(AWbkY2g!W+B}|+J*EBX&BNmq-99YkftGBL)wP)4QU+GIal2} zq<2X3Ty^)5_POf*Aq_-2h_n#tA<{&oi%1)hJ|c}oI*GIr=_S%kSKUpdo!F+o>*D_y O(99|w*XjjjnZE%*@2d&` diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jakarta b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jakarta deleted file mode 100644 index 37b4edded8bcd470f1afeab00ad16b6b1090ebd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmWHE%1kq2zyRz(5fBCe4j=}x6&irV%8J$pyTtA#oZjEuaVhLw!F8Ks9Jl_fF?`v& zuY-|^nT45^nT>%VMFFT3M6xh2q$_|-$gE)CV_>M8z#ziFP|(02!N8DIz#!w}8^YiO z#M%btMg}0#7(`kEu?0i8rxVB!BoIQ_t(-vRV7LB&>iZ7__Gz98AR6R$5Djuahz9uq dM1%YRqCtKE(IEeTXpo;6XzeL3pg(oZxd1b?U(^5q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jayapura b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jayapura deleted file mode 100644 index 39ddc84363768c6b407df1077f69ba9dfca8494c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmWHE%1kq2zyK^j5fBCe7+a_T$k`=!aK?p*ogcnzU6jGV$i&RR(EI|VsBQvCUF!@6 z4ltX~$2WvQ+rScpjSU#WJwrf>z#xPK8-GCc{09P%%^(_NJBTLV1zbSq=vs0C0F<0E AHvj+t diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jerusalem b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Jerusalem deleted file mode 100644 index df5119935c5b01676e63d1fb1efd7273b8b4b452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2265 zcmdtie@s<n9LMp8WDL=qEV0%QuuMboa)Ap{Ng4_Qf!yN86a$VCn5p!b#55tF?1vc^ z&SkCnbIaK1heO4-<|1p;*+y_umZ_LeKft>LcU*$tru4i|t=jsdKim4U!|Uu0{$YIH zfs*A_DdHa&W<KHJ8qLFdlrrCTd$V3UvG|~F@A<<2^+z{F$MLInXJeJNo7dUjylm-{ zuYV;^Rko<E71};sGQm21A@=BZiHGHxm~4G^e9$?2>5x9x>J#0c#_99=4e@<zhq|!u zbEO+<#Sg{x;>Wf;>!&oI{qxRiqG#enySL_)z8HB@1*eUOV6e~*uWQiZH(Kn`gTGi2 zO(}MC+mN2L`HCIWK4QgM@A~659<V0o9=7i)+pX`8EA>w)@mlwYIsU0*`t{Urd+lkL zI`zFrNBQHs`mE{AvG$B3l{#T_h&^-10_`bp_9w27*WR3Cc2dsUI(c@rKPBmq<-7By zof^5_O1;wLpA{OeW_5<h^ucm<U-z)S-|m+W>|bKdes8bL*n7}=@THA%PTd|ocTJjn z$iL6Z%x@I)ath`Agw-M|X3)tVTO_jkDx3v<sUqj%fXr>bUF5axbRPb2SmbXR?G$W} zQVTcjkcBnZl)o&~c_eT~J-RYi7Ws~-K>iH**o0lGIN?@Ve076b6cz6*>RPH64~%h2 zTIZ=HUH#7EyDU-K+Ub<lXNvN-4mein6tT3vLq3raCMrr><de}sQJJw#R)vMCWs_>; zvYuY`)Qw`f{MZTg^!aqT;{6ZQ%HsiN)hk<6byJ%2Ol7r_uioLTUf3X>t-S86@vIUx zS>4Wa;|fKsXIR!=P7-U!os(-jZWHS+e<q**ctEW0*dy!SiB$FbUz9J@{;D>-Ss_D4 z-SX#G=wGk@)teBL-GA@6ArUIXbZ<zw5YcgBtPtsQL&pF9Nq#{<<e4XTzIlq!y!`zF z|Gu5A=I7n*4E^zoBj$=f`SLolC1g*?rjT7B+d}q*Yz)~MvNdFH$mWpUxti@E`$IN} z?9kP05!oZMNo1GEHj#ZI8%1`CY!%rnvRP!e$aazaA{%x!JLb>9mR-%Bkxe7JMz)RY z8`(Irb7bqt-jU5CyGOQ<>>p`>tLXsJ0;C5>6Ob+-Z9w{fGy>@a(h8&(NHdUbAnic< zfi%R`bOdRMtLX{S6r?LiTadmWjX^qtv<B%7(j25aNP9T?gEWYvLr9BUO^=W!adZi3 z6GxwrMsaisX%*5dq*+L}kai*cLK=p23~3qCGgs3zq-(CGZAjmc#vz?UTF22lq<I|O zL)ypDKcs;i9Yk8l(L<z(NEcmA8<9RDjYK+$v=Zqh(oCeANIQ{!A`Ru}DAH1no+3@< z=&Gw}D@R{lO=CGai?o)bw@7o5?jr3)`YZmA0gf<Po|$a=oKTSB@p*iS$!Q4%NnTH? H#~bk*I^)#B diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kabul b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kabul deleted file mode 100644 index 80429ec408040a47f02ad8ce33fd203013071acf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmWHE%1kq2zyQoZ5fBCe7@MyF$hq+Ix<mc{|Nj}8m>3uw9sorcEF2hE7#Qq57&v@< zLm0FTOhDM!03-zjA%rae>IPfF_XDhhfdOd#|ID^o3qUl;LXdDhkj+4}tz0%>H`wW# JSQ#5|0RWOzC!YWS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kamchatka b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kamchatka deleted file mode 100644 index fab27defad0cacc1110a5f513671def88583e0e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1198 zcmd7QT}V@57{Ku}owY0|4D&0?k94gy+h&QS&gDm9n?bRwYVgn(^l=f<MIfP3K~O<~ zM6IZczD7js!h&Lf7bCim@FEDT;DIFQCU#Mf6|DDvmayomyUuve@9aHigYEgpb{;$s zwEj94m>m{Jk6BzV88xT-JFa9N-%d=GyFKA$mGM-CYxhLO>}7xDr%U0g=}fA6vOHXq zZjj{<mrCsor>r>tRaOpvl)A%jq<+^+X^1?P#*PQF%6na!YA#6g!js~5Ce{7rny#L? zn)RFrXFacnbxr1oddK6s_Rco-jdg3w8NaSOUa$UrWg3WwBzUY!TD$6G{q`TSp|(ic z0`H~m=Zv&h&uaU-7qapDTiujSO2_nb?Yx`Ou4lJ2boQQhCr)X2|2f@!`lj^sAJX2v zqte$D)&AZ+vZbU&2O9fi;B!O<i<@Qel~1;Qa7pCRVu?-$vqKkiM@MqGoaHDk%D<c? z1+RJY3*Hpo`19I4=CrJ_wD~iwM9MPPPo^9$%SujIi{{RAI}Wpxe}=o!p_t_j1k7qR zD?c>{2VZ3$v45E6x8I*JKPbmkk;$^nbdd=oQ?@meMy8ES9GN;Yd1U%X0Z0W%2}lh{ z5l9tC8Au&SAxI@iDYm8-q!^?cTT>2F4^j|P5mFLT6H*jX6;c*b7g88f8B!Wjo2@Ah zsm|7vht!7@h*XG_h}4J_iByS{iPVV{id2e}iqwh}i&SfC%0=q6H3cITBPAm>BSqtg Snf?D;b!n%mJ>&}nOMd|b>ln%a diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Karachi b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Karachi deleted file mode 100644 index b7dcaab8f2068adbf69cae0b1cd80f98e7a2da13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmWHE%1kq2zyNGO5fBCe9v}v>WgCD*XWgGAXQmphxKtuE<L-(FE13LO8`!LO-C#Rk zV}Xa`0s~KO_XVC$?izT#sa9ZMWMX7yWdTD52D>{z?F_yV3@i)`(HV?f3=D1o3<3-c zAqk8kV78=>ZwQ07fvK?pkTe66rVIhz!685*1f&-ZLP&7*52&vHKmc+)hz5B8M1wp5 qqCp-3DFb;1M1wp8qCuVl(IAh3XprZ?G|+<}nx>xQ0{U9llnVgqLRHiN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kashgar b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kashgar deleted file mode 100644 index b44a1e19e9b1212585e55bd65be77665f4ecf6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(hJU+K>i_@$&%nsYzz`$@6k!NSU|{j_4PnqW jFavQJLP#+32UrIK1JK0(AfrKC0>*RM04=i9HRA#R5AqyS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kathmandu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kathmandu deleted file mode 100644 index 0cbd2952bb480dd403bc567bdc412c5d92813af1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmWHE%1kq2zyQoZ5fBCe79a+(1sZ_F!cVm=auNnB>i_@$&%nsU#K7SH2Pn+o8v#-m zaEF1*$2WvQ+rZS=07ROYf+T?;gamtjK(sIbt@sbJ55xu838G20m&*q13Oij>D-%;L E05l&Z<p2Nx diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Katmandu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Katmandu deleted file mode 100644 index 0cbd2952bb480dd403bc567bdc412c5d92813af1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmWHE%1kq2zyQoZ5fBCe79a+(1sZ_F!cVm=auNnB>i_@$&%nsU#K7SH2Pn+o8v#-m zaEF1*$2WvQ+rZS=07ROYf+T?;gamtjK(sIbt@sbJ55xu838G20m&*q13Oij>D-%;L E05l&Z<p2Nx diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Khandyga b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Khandyga deleted file mode 100644 index 918369539a5b7d587be3ec826019c7bfa0a13f09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1311 zcmdVZPe_wt9KiAC)y+RM<2htnX0F^?HZ@%(E}ctl$=r;nosvN4uN5((LqX^R{jr0@ za|i<QP?U9%@K7C=xAag*P<gTrf;$v}iF7C;*7JRBFzD2=-^=@c-}l}74mLhd;^@Gs zfcR@l%^h|oVs_5gDRa30A^qjqgBelgJCa;qF}zS-baT1<$BX`o&#B~w`K5)8v*Bdr zR9tVG2<fV^2EBQtT326{+I`;ATl!Y?*4U!1X`Ry^|BUulKG)ky9&4ZDz4U#XmfO=W z-L;p`xohVh$sN;orT^(IS@-aYtiN+sHeBzMJ1@m$<B5=LI(9|}E_Uf%p&q^auvhP? zs?*JZLf!mpt!}CG$d-@GI{33d?wxw4TjxK?w(+krlzJ`OZ@iV^(Fqw|NhkN692Xte zQmQjDEV_=5sr}vo5$PIK2b?j{UDL0+mrko_ey57QiK?DOkBU9<tN3h(=)GO44qnJR zl!(0&LzzrQSowLYo5Pv26%^)N<bL3ExQdE%w~}IqLx`a=^WTc366Sp5o>e5opcZSg z$Lt-;+*y5QbkdSMDa@0r$I(e)?(kN;HzE9uEyCZ_Xc{za;>(3)kBNPiJtY1C!1q5d znctlO0tEvD2nq@c47&yg1qcNR1quZV1q=lZ1r7xd1rP-h1rh}l1r!Ap1r`ODT?34Q zi~`NB!A1c`K}Uf{!AAi|K}dl}!AJo~K}ms0!ASvX*C3@pwQI0az*5js;8O5X08<cC zAlo&VDWDlpQ(!aTrT}L^PJzyV-L3&oL2uW<r{Je70Lmg@SO}EGKv@vXkTLP!FA7(i KSvc+WLDz4A0uDX^ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kolkata b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kolkata deleted file mode 100644 index b57972dd8ab55785d8cb21b90b5277d8fc850fdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmWHE%1kq2zyK^j5fBCeHXsJEg&KfF``kUdPTlU&IKx^fab~K~ic2LzGZ>kefslbA z=mJmygSQ(<wQmFi2LnTN1|yG$ZwP}g5PJrPFlZZ?85@8Ufk6m%yIFyfAPfRPGr(-I zA7Cy6!+#)9+a;j^qMe_=HUQBeH-Tu7yFfI^ZD1PcJ`fFZBLmQpEI<f!<qeQgK(_*2 h33Mya2B2Gcz-|@r0lE{ndl?wGfS%AbwK6u~0sv>)ONsyh diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Krasnoyarsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Krasnoyarsk deleted file mode 100644 index faec35d30403b70fccff6de6a523af81467036b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmdVZO-R#W9Ki8sIcqo*FQv6sOS7fZ`n76WQ=2U_opy*t*b7B3Vk9KJP=~-lRuB=3 z>JnW-i4GAzsV?EEB05MxL>(kbvY<m2(IJUg&-cFuQm2kR<N1G{J^OF4J>Mm_9q0<1 zzlPWDFd1<>Sr@15<@)5zulEMV0<(gL(z8nkO^IiqxMcEGs`TT_^qf(znLDyQ?Hlga zdAB;%f2~dDpO5N-lhqpN@$14JMOv1~XnFLDE((olh3~m8_CD00`?CbUy_F^7Z(@}v z&c-TVJdmnKcO-OoP^t&7NX_Llvb6uWEIZmQvaeH?@9fv`;a$3-p-We8Zqil$jT#A; zYvgB@*7;&m_qtG5|0t6+!xI`EbxZvXuQc5MAdRO#$=a(=B)0#VG@TmPb<IN(-}_kC zS6q_j_)XoAe@t4+&uPoVMQzRN(blI&wC&v{P2Aq1?IQ=J<3g<_6Ym3knM}sG@}^}U z?))i_=`*H0nfk(?YmeJ)%+@0Ni<;zaW7oYYm&cery{0gC&F#4CPVOFK@5$|(!uF1& z2}#7xIy-CmFyqP&XPvzy|KW(g|9+qSh8d0;Ic~N&a^%<<9KEAGek1`T0|qG|IUq?O zSs-a3c_4`(nINekxgg0P*&yj4`8e8ykc^O&9BocWQb<-vT1Z|<Vn}94YDjKKa!7Va zdPsgqf{r#rBt=J?Ba$SNC6XqRCz2?VDUvFZE0QddEs`#hFOo2lF_N;Q%^6AB(PoXL cjpU6aj%1Fcj(xU)|0wr@diz&stf?*d1<Lsg1ONa4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuala_Lumpur b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuala_Lumpur deleted file mode 100644 index 5c95ebcdc377086c8c646e251569792fe3602c4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmWHE%1kq2zyKUT5fBCeP9O%c6&ip<TXXB;UFm)k4sbn5IJNm{!s&_e9G5(DKZs5I z%2EIS|9?g%W)@a9R(5s<hWId`dWOVU1{MZ}qymr;=?aWIAd&${W>zo=F)-9kV31&7 zC}?1i@$n5|2nJ$p19K2IG60drAkq?uEkH)0fDpnC=K^W~JNyS!C(wQW>&!w|foPCN tKs3lRAR6Q$5DoGahz5BKM1wpB(hl+<h^_~UG0@GITsA<z+v!?x0RVnQVY>hT diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuching b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuching deleted file mode 100644 index 62b5389229af5216670b89966a2ddebe56695154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 521 zcmWHE%1kq2zyNGO5fBCe5g-P!B^rRl+Ag*UyVBh|_E)Pn?Efqsa4>dF!@;Wy0uI|f zU^u+(@`a-c!VO1fum>DxbZ0nTX?5Ym<1-8=qxWApb>x4;X`9ahrzb`*T=K~MQ2+n` ze+EWoCKSlR%*?=$UI4U)A+v&kg@K{efRT%Vp`d|5fPtZI0>~vGwvTTJgSLUWu>p{@ zFanc6mL*6V9E6bIuOCodKqvhN`42>c{0O2!{shxNzk+Cxf59}+&mbD)Z!it?JBSAP zA4~(o07Qer0ZaqK0z`wt14M(u1Vn?v1w@0w222CP2SkIy2;{7KAe)xq#AO2vLpxmy FE&yxUwsimi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuwait b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Kuwait deleted file mode 100644 index e71bc4e802cbdfd9f90598029e0fda04c4074ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(RcW&=_5c6>XJBMxV9-7T6k*UZU|{j_4PnqW jFa~iMLP#+32UrIK1JK0(AfrKC0>*RM04=i9HRb{Uf07!( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macao b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macao deleted file mode 100644 index 46c1bad540095a7bbcfb42ee62324242a8128162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmb`EJ1j$C97q4vmbU6uV$%r17fBPbxba9(iN#~kL?ZD>h+v=-i!^r<2@x@1GKpLU z10{DdVv<;lHjIjTKfhC>g~YG<dcO4L4m~H*Gdf%?KjzfGa9E{2-2JBhTDmNAT~D3b z39Cchbnn`?vsLP@X2?vA1k`=;j`7f%RF5(!PZjHlXZL{dd>>XX7tO}&dB62`(r3RP zG+7_pjrQkSsU-^~wj<`Y(#Bo3v-iq!weOkkhSg|#XvNGZk0(5Zaq*@fEAPXR;k(>Y znP;1Z|8QPq?avw68{;Zxxn6Q-f{DDzpadrBqWS%`W<h6BRMH&3{D_QA>pvy2MTbiy zYKo_=JtE;2eYzq%(2M-R(9`!T@~MX@h%JaQh&6~gh&_lwh((A=h)sx5h}9IeS%_VT zVTfgjX_&Ij1>;Ox2bhQ0hZKNRfRupLfE0mLVU$Tx*MSs*RDzU()PfX)RAZEb)MFHc ORD}Ou(x;<_4Br>Oz3*NC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Macau deleted file mode 100644 index 46c1bad540095a7bbcfb42ee62324242a8128162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmb`EJ1j$C97q4vmbU6uV$%r17fBPbxba9(iN#~kL?ZD>h+v=-i!^r<2@x@1GKpLU z10{DdVv<;lHjIjTKfhC>g~YG<dcO4L4m~H*Gdf%?KjzfGa9E{2-2JBhTDmNAT~D3b z39Cchbnn`?vsLP@X2?vA1k`=;j`7f%RF5(!PZjHlXZL{dd>>XX7tO}&dB62`(r3RP zG+7_pjrQkSsU-^~wj<`Y(#Bo3v-iq!weOkkhSg|#XvNGZk0(5Zaq*@fEAPXR;k(>Y znP;1Z|8QPq?avw68{;Zxxn6Q-f{DDzpadrBqWS%`W<h6BRMH&3{D_QA>pvy2MTbiy zYKo_=JtE;2eYzq%(2M-R(9`!T@~MX@h%JaQh&6~gh&_lwh((A=h)sx5h}9IeS%_VT zVTfgjX_&Ij1>;Ox2bhQ0hZKNRfRupLfE0mLVU$Tx*MSs*RDzU()PfX)RAZEb)MFHc ORD}Ou(x;<_4Br>Oz3*NC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Magadan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Magadan deleted file mode 100644 index 2db063560c48c67f0280212a320b183d49d8cffd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1258 zcmdVZPe_wt9Ki8sZMLNzB*;Ilm1eeVsoSz;Z7xeqY#R+3L{<>=2Wpoe(Lw59P#q$z zOLQ1gLWLG9I+#Rw*dgeUM2K{d4nlR1ARfX)MX;Xly9T399ec*}ex5yhH`t!<QiEqs z2i0Gr!t5{^J!Z15x@0bo>O$ks?oBSP@$O7k*QRqduCs4zzTfStUAmL3TbRqOoo!6I zXZ*4*+aR8?)v|uXE*mZ`OMUv2G#q&+8)L7eG5lOM`5sD>J0qJbu8Y?(t-Z?=ddtTN z)jV`iHP2tuTVGz#zNxg{cK@huxs}kZSE9P@e4F;4tk;2KaS5LD%J$AyX&+c6J3Lhq z3VfE(&#%(qcIuAz^Rny5lHNTtE#ZaNI`UvncfNS6qgSW&p3F_%b?Ua>dpRrndWUrP zi5t?>G^l&KMfR6PbYJ6u^nE!j{q}b0e-oAiAF3tx#3S+9piYeDB^Apq9&(SV;e0-? zZ1xp}hoh|IvC>)cr1XV9*Dj~Sq15Pc^Rudvab?z%Ih#wV%u`iaycTzCW~X?MGWQhs zRb@PpQoexS%%GV8K1|sP!&(<Esed@<Z@=GXzG9y9M$VjV&K)^><oqp714su*3rG)0 z6G#_G8%Q5WBS<GmD@ZR$Ge|c`J4ioBLzbo^q$LJDS(>Jhu8_8nzL3U{&XCrS-jL>y z?vVD7{*VTd4lPZKNRO7LNu*1pO{7nxQKVC(Risy>S)^N}U8G;6VWeZEWu#|I(=^hx jrD+@K8)+Qr9BCct9ci91Y+CrAx-XBI|3tJU5Gelz??EM8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Makassar b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Makassar deleted file mode 100644 index 3a5dcb27007e1a2ffa67bbf3a30095303b5d67a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmWHE%1kq2zyPd35fBCe7+bUf$XWO)cET>Ps}oLl$TnOGdso1~$i&RTz>xm|q!LI1 z*#!*@91IL~6Bu~FYyltN5C&f$);6#JVoQc_&k#qDYA6UH!395{dj10e$R!{e<QfnS RauJB8j;pvpuGF>Q0szU5Jx2fl diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Manila b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Manila deleted file mode 100644 index 06859a70d9b6a7a10abe85b38775b97319409608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmWHE%1kq2zyPd35fBCeE+7W6c^ZJk!8u<V4v85Qoc{Ej;lfJQf=4-)43DlZ`oLf6 z)*z5p^`ZX%|Nl&kOw2&c$i&3JP*?!e#85YZk%fVwpn-t{#Abl9eSAY0v<)nQ*aD;o z3PP~Ehz%$W!XUr{#2_}$4-gLsfR_Fjd3Z+vL|4n(PXN&%mx5@JYe6)~#UL8wY7h-_ yIhY2z9%Kf{2Ot{c3lLoolw@FJW@2UmVkTzh|NrH|;-vcs7=$)JKicV9Z~*`$(PRh! diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Muscat b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Muscat deleted file mode 100644 index c12f31a141db7e6e02f7274e114c1cd6be2ff1e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(!cQ|-)c^ngpMjB)fx-9&P=vw4fq})xH-tgk jzy!o)2qD49A7C8}3_uhAgNz1o2^i011GLCa*MtiIP}?0H diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Nicosia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Nicosia deleted file mode 100644 index 3e663b215327d8899a4b3fbe4623f066630b97b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2016 zcmdVaeN0t#9LMoP$d(r$zG#Sgc`(Toy1)g*#K4CL@PVtxxEZO$QQ?9`lqdwI;wG}@ znER@1&Q)7YVy!vU%^o&;nC6^rj?PxDwZ=MWtLB8YnX`1ve($sOSAV(nPv`8O*V)~@ z|NY*d==!a(0_$H_g87CI*Ix7CeIhUKzn=c-_>q%dVEC|`c(>l0@Wn-YVt=tS>A+9! z<nEv&ZEM`5Eo07<YR{e;nc+QBc-~IVJm*ZC+Ha@CA9qr2_1M#|?{{W=(`3*5s?iC4 z*6pUA*yp9a9dpxr8@!BN%iUScmENNpv)$QMSzczz1oyE}qBkcv>OP)0;>}G+wCCOq zIP-oUv9rFt>11E{+J559kQ3@ZZRhlza&o(m*m*k+JK_2^JHK|&D~KF&3rp3TpR?U9 zN^A8N6m-afu`XE{?9+wAo22+&yDs{?OrH9oMoR|jwDjyEUEH%wm%Np#OJkY3th-pA zu1L_b`k*{B=T|K+8<UEJ%UYTFqg0OmA}iw0$%>&%vhw<ISvB~fR9*Q}BL{nB^@;a% zO-qZ|z58_S^9S_V<_4{PvRR{5mHJ%DYF!t~(sg&jT9aHMHQ!Cq7jDm!^&kJC8?FXq z<GV>xd*-IR*mX<l`i8`*yDFP@-_XrVK9Mc8SF}Fkm^73QYV6^Uv@uP!@wcPeG}fwH zFLmlm!%=<tgALkzahtsIW~sIeRLiSP8TwjJk!)LABCW9$*`A*+JIeo(wj@j1^OCjw z_iNHI>5g`|7o>Cad);|zK;9TStGkY!*WH8f=$_7g?K;?{)<ba*cE^wVPjAc0SZ<D> zl^u>7XIZJUtnvRm`KBrowaUw@c|`eDT%7-iKEMJ0lmD6PzPUK)ymQ!*1CJbf<lrNR z9|-`700{w!0SN+$0to|&0|^9)#Mgv^#DWBaM1zEb#DfHcM1+Kd#DoNeM1_Qf#DxTg zM23XsYhpu!L!v{%L*hdML?T2&L}EmOM508(MB+pOMIuE)^);~~!TOqLk#LcCk${ni zk&uy?k)V;Nk+6}tk-(A2k<gLYk>Gtz^ho%=CVpf9kP$$J02u>h5Rg$oh5;D|WFU}{ zK!ySt3uG{S&1fLQ;cLbN84zSdkRd_F1Q`@$RFGjo#swJ|WMq(`LB<9d9AtEm;qf)& zgA5QdLdXyyV}uM6GD^rWA>)J$6f#oCP$6T53>Gq4$Z+|Z@j?d7*Nhl4WXPBygNBS6 kGHl4W;s18v0%q@W3Ru2Sq%gNAH=I`(isXm=xA}p;0b|0?X8-^I diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novokuznetsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novokuznetsk deleted file mode 100644 index ed4b248276dbabd6b9424bd5f7252729419570f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1197 zcmd7QPe_wt9Ki8sIm?`cmvXgM%VkTa^=s8!O>Jt+{1+7KV1Fq3BL+g!A1VkOWCani zs4me>iHL|_RG08DDx!lFMASi|BndiX9Xb>d>-oMWEIM`T8Sndf_q^{0+wYs&cAz_A z{#rBb4hO5r9$c5E?dhgBki9=R7MLA6n3>}pGG#@BrDfk=r@bFvW#*20%)F898Q*Y^ z&cD^A{%dWz;Cx&co~+hDuU{AKn5E_IISt0Y=;H90R`_1%63-(Ixj#$j>pNLG{x(s0 z{A{A~<wL1@d{@HvhNODviqu>_Bg+Pk$?_vTBKx{z#m)hZ9NMKT>$`Q;mPTFe->A_@ zP@_MqH0Dc4>`jTT`B5%whbJ^X>Xy3e9;tuuK^jhfl66;~N@D+WX*@NqP02gby!VN& zuec=1<{P@9@Tjx|&uPoVMQttU)z)W+we9^TZNI%$J4Q|<Ixi%%{kdGuxC*9CzTAa* zujw=L-sIo-^V&Y<HfD3y{+TAV+t};Aw5!ONJ$<HR>O8gMvOAN{aJQo~Wx^7*N6a3z ze1UPXoGVVLf0*XC-=DHSD92Qh$+FFKkqNVyvZI|eGHqnyET)c39+^H;08#-`0#XA~ z1X2Z322ux72vP}BileOsDF&&=(UybMgA{~Rgp`ETgcOBTg_MQVg%pNVhLncX=4gvU zs&lmEA@v~zA{8PfA~hmKB2^+~B6T8#B9$VgBDEsLBGo$Da*=u+ZNW&zNXbaeNYU7D RXaE0JU0i2tZ>Xs){sqhn1EK%` diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novosibirsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Novosibirsk deleted file mode 100644 index a5d39dffc110700f3f423b7ddd2f525dc09b50bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmdVZPe{{I0KoCLoNmkr2}<W$S!!m}`nhVZruNE~=$t`}qB02WFBFZCs0dt`bcq<{ zAtDIb=oImwKZg){RL9XF#12DB>e8j6JQP;zeSand9in6J$NPQX9={E?_gP}^vBN>} z$MBdPCL?Ml>#~%&jpn^I4>D6#i|S6M7guCOxjR!<{`F<5;@w2rn=ciWxqWHh*ip6Q z&K~8z*`=0Vj;Lkl8&uVCzgphAK&^-sRCVN|stHV~THgz`vh=B{bAGVure9mD-oBFc zXD-S5@h8^mXZNhY{j3%E(IXnN8QC~8BG+6TmTL!2OY7hf*|h(v4xT!p*R>Al^*eXy z4gOs^6l~I=?_nMG^~msKrQSGW$xUP5bR@q}w%qp0)<@H_ZFoj*zA+)?p-H)A=#$<W zeJtDi$Mv?_Q5kK2sJ9mn$&Tvly5s#V-C1-_cRs(MyWaHb*xi2JojWVzSE4!*`)uvL zmeYfULP0o+=FMKt;@_?k7cbndlD}R~m(wXke9Zi|B5^>Nbu#5}3(=Pp^XKk!I}Wom z`%GVwHP3X%6Cz-R%nX~^%*P0a8Ny*N?OWm>4*AQkx0&x&;IJtN&NhcmId}$#Z`S~z zAfP~CfPn&nf`S5rf`bBtf`kHvf`tNxf`$Tzf`<agu0ceBM8Ra&fTEzHz_M#_F#twE zMuA4bMgd1bM}bGdM*&DdNP%eAV5ESwYfw^PQgBj$Qjk)hQm|6MQqWT1Qt(m$QxH=i rQ!rCN+cl^uu<aV$6yOx(6zCM}6z~-EbkLaiFW`Gx%wM9dvDxzz1GyQD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Omsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Omsk deleted file mode 100644 index 5e0d9b67a3ee9bf444359b006b2da687604ef190..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmdVZUr19?9Ki9joHf)yg3>uH%WT=QrsXpK^(&pSoFy?L!XUB|p&&w}qOdUEA|ebT zf+j{!5oGB@2>pVdLZU!=5h2JPdPt#sD9qOR-ZdEY)MNK@?&s|6Zm^y2jUDbjS!w<{ zvh50kqtOoLxtHx_=!uMt4$lQw`Y**-<&Wg%c^((%egAkP|I<v|JLSzSnCOoC#(TB! zVV4%&J*2CzMRd)@8ZAB*(6t?fx-Pn0OKN}W`oNr)`rhk??6>N7FN%MDRyNLjZZA7` ztG#UUjcj`PLIO`mWb^%DDIXk^EmsF*YfrBPk9SGMk(*k1_Ox!R@6qiC_G?wqK@C+_ zXlSuot9|>Vdb&V&E(E1!{D;;~t&qA0Ua5aJFAW0=vg^(}krUIhyZ?*s2|t&{&Pi=5 z9g=Y4m^NqjOH0XZZJE8Nk&Fu(d3{Cqe(2EFN1Ym-I4^D2!y0S-8th9X62_IWBzd|s z)6S*K(q5#$@#oy*b{o_5%KoFKx!u_Lu`@1@F|ng2Cv{D&xa>;m9%JuGt(%-^Tg(K4 zRd(#KBgB^(SMqS?$xG}Xw)orc&)Hv?V5^bsW|=KVwjJ4eN4xz<0!Ri(3P=t}5=a(E z8b}^UB1k4kDo8F!GDtQ^I!Hc_HX$S<Bqc|i6Ot5?6_OT`7m^r~8Il^38<HH79g-fB zACjP>%@9e^(dLLGiDZeSiR6hSie!qUisXtUi)4$Wi{y(WjAV?Y>}YdFl6JINBWWXf ZBZ(uKBdKGbZQwu3J*&<>3Jv9<tY1XR7FqxR diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Oral b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Oral deleted file mode 100644 index b8eb58d135f62054868473914994d242e1b8be07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1039 zcmd6lJ!n%=7(j2@J`HJ+4%Q^bYSh};#MYShg;dj8m*S8@kOzgL@C~)#&r}p0gbD^h zbP#nC2gTwbA`x^_(ZNyV4sNw_2NwsIieRZFe&?lwpi4LJ<$mXJ9|<Jq1XHJG3g)jB z(;E)U*TeJX%Q_w>Z-06*-(Ky?T(56QyiLcW&(iVb@Ang5m+HxdOnU443-#2in%(x~ zyzRa>W4GU!v^y>xwdu3NcIWY|-Bn51-Q^D3lUucWQomep`!|>Il9Krmlf7S7r0?QG z>HGM(ntit@x#u5b-~1ctzf+fi+5_2t?v~`IugHNDPhDa5nj0Ls>4uJ-aenu#D;6eP zaW!zI)M+U#7TxelMGn4BxI+sAQhwyi$jeR{y&9Lpcb8=B<gy&8ZE|ysM#Dr}TH9J% zbbA}t_QojNYvLc%^Nh*&=zn3ddDCXhc-2IW2_(|NG&=vh8Lvk4ZE4JOHt#DFfyw0u z_4s;<dWQHaV<N2PBQscsn4fDO)8ErT5JVE!h=Rz12n(swAmSkMAOay0AtE6%AwnTi zAz~qNA%Y>2A)+C&A;KZjL#lX)d`JKxH3CQokQg9AK%#(z0f_?=h{6yFBos(2kYFIu vK*9;B@jwC!sS!a!g2V&~3KA70EJ$3Cz#x%9LW6Va<iCwAR@NLx`~BE&jKSbH diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Phnom_Penh b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Phnom_Penh deleted file mode 100644 index 8db5e8a61ee9e63164ce7f07969557fafa982dde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWHE%1kq2zyQoZ5fBCe7@Ma7$XS$?ex&~Y|No3kObiThHXwN*$-=;pRKURD;~T=@ z1jO0~<{$|m2qA1dP%qdDo*!Tx3=BZi|A%dBJp!UZ)`5iUfoujM?c}ln+Ha?8&IJIu C{UtE~ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pontianak b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pontianak deleted file mode 100644 index ec98c62bab86bc3afbe58caef094734022600c82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmWHE%1kq2zyRz(5fBCeP9O%c<r{!R_y0bIU1IkcPFF7BxD@uT;JVE*j$8lL7`|-X z*P(c;q=A8viJ6IoiIt6kAq}J+M6xh2WL7Y6Ffi0jVBlk5C}?010+V743`qqH(muW+ z3;{r_ZD4L}03<De*n%P4GsF={IDyPS0wE;0_Xkwpe;@$48$^TL4x&Ns2hkuufM}3E XKs3lNAR6Q!kal|bi3{jWU2`q~jo)5v diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pyongyang b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Pyongyang deleted file mode 100644 index de5c2b156653e142ebf086402d9ba1ee13da3cd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmWHE%1kq2zyPd35fBCe7@Ma7$mzcRan7V?Vm~hFCl-XBV=7=^WMXDyU?_b8Qd!=? zz{0>#H-UizOaj>;5g*?W2Jhey1}`8+fDjTa{sGnY9|%AW0MQ^vfM}3IK++UBh70IE KT?;E?11<o&Y&C}f diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qatar b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qatar deleted file mode 100644 index a0c5f669628d8ecd61c398bc475cf2405d20000b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmWHE%1kq2zyQoZ5fBCe79a+(c^ZJk!cTJzSh^-1sQ>@}KLaBZ69a=m08p60!U3dC y%YcEy$2WvQ+rR{fjX@GX5JG|-KOkBdfX4p^*#+W)>;uuH*vVxBwBJtGm<s@Gqaf1& diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qyzylorda b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Qyzylorda deleted file mode 100644 index 0fc7fada699081c12e65301b7daa240ab530ab79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1047 zcmd6lJ!n%=7(j2*rZ!0jm)h1?ef96Pjnx{PkZO{~B{)?0kbod9WT*wfNh}Hq6$xE* zQx|avDh}e1f=()Qa4h%@Zbe+Wh~UsVC^f|IymUx$a`Qg!JvaBg7f8-2U%E1%a(|7u zoiG_`o9uVrvE}8!Qti#NMzPnwSKrgW;`Mbedwst)YyDq0>H}-Ow|DhMJ@Kxp`(7>R z;FEdXfB&K$xP4B&tCKo3GpYxt6M87uqlc3XJ(BpYN8?}AkHp3Q@mq%1w<;qyAIZok zEslQpD9P6=a_srCj6HlR$Ey$I#PzC-&n?Kw*_x)V-O^L}yE<`UR?~xXnn_J*rcu&t zVn(u`hjntRAgABQ^vs$kxfj0V--e~I6qTvR>r%Y@P0m)GE;gG@7YcWDc7*MUbhTZ( zBGLAbJND72bNPz>7cN_Loz9iSbvswCgnC$=t?efz3EAD&ldZcvIeotDlH(IL(>61F znRB6FwD!ST{s%cfx8Jkh)I<_Q6vxPd2!luqXyPF9AOay0AtE6%AwnTiAz~qNA%Y>2 zA)+C&A;KZjA>sp?d`JM02m)FNkQg9AK%#(z0f_?=2qY3nD3Dkn!9b#cgae5upalep pD4>M|i3t)EBq~T)khma$K_Y{M28j(Wnv?%JxLD3&ER1Dhe*khm-6H@1 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Rangoon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Rangoon deleted file mode 100644 index 3cc2aafac4e27bcbb2de4b08c6451c1a56452808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmWHE%1kq2zyPd35fBCe7+a_T$XWQQIPmnRKN1&brGKdZ|NlQD6EhPN14EQPNF|VD zVPJ^PVBlb2sGGpR2Vwj8hA;#Hv9^Jku>p{@1Sy4r5W?280hNNBAoK&O2Wad6ux*_e kK{UuYAR6Q(5Djt`NLf9Q%|M~sxNN{Kw$nAUGB)4>0I_91JOBUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Riyadh b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Riyadh deleted file mode 100644 index e71bc4e802cbdfd9f90598029e0fda04c4074ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(RcW&=_5c6>XJBMxV9-7T6k*UZU|{j_4PnqW jFa~iMLP#+32UrIK1JK0(AfrKC0>*RM04=i9HRb{Uf07!( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Saigon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Saigon deleted file mode 100644 index 92642679c8f9e68c125a8c6fa740ebf61df82417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmWHE%1kq2zyNGO5fBCeZXgD+MH_%bM~`#E#KqcNXHB0qT#P(daLL;4!&Rf*0#CL* zX?UwYgMrKTI79va|Nj{nnV4Can1PUqfguH`k%1xk8v_diLs9_)Cj&!40|PGuL)`=h zL5PTtZwNyGh|o4L2Vx5#wghW}5g{bF^9NKD&>8<h?gh~xH-l)9yFoO_?I0TDeh>}v g1BeFs14M)T0s<iafIvM^jM{$UvH|+mPS>0Z0QvW1Z2$lO diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Sakhalin b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Sakhalin deleted file mode 100644 index 8d6b4dfe21720eb32abd17fcd627ee9567f93836..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1234 zcmd7ROGs2v7{Kvwn(>hpM3h>Srj0h)q|TknG#~j)Y-UJeXwd_LUYMIhw1@&dP!^Fy zi&leJi^PJ6kO+}k3@FsXA|zT!n_i1HaTXF9#B~1Ggd$qB>$}|hzaCJS`F<u2_neN% zAG6$^a5L@p=6$WUkE`az_)K`rtPAe$&M)ju7v!FORj_cUx$yIF_xjnH^oHp`w?7qD z8y}XcqM<dac+jghU7AxRy`NO+kvD2{^qC6OkE^oK16A%%sx2#SsG#qu3C@k0tsh6F z;=%!`czxY$o4RO1PkPPvdq+*>?YODB(qyX7SDWz365||;smQsY+R<30b{;IyyNZf+ zjkBO@zKgE)=S%I|_qy)eyzEI$>H67OX&8AYjT0$p8km&5$zf?eH6ksSCv<DaHEBCB zq}$7Tq@%4*@5_oxXW+Q*{BlNjd0TbY%PzhDLz#{~3hCH%i^OlP(uwGVIrMc*`ZJk~ zc)ZINFJIO#S9Z>CKV;|p?egXLd?EwS?bj-Ox5U2RPkVAjl8<HO(sSv=V^0R}%Id}Q zSUe%2aGivlh`k+qhxsGoVca(!iGSGb{LkOAA1lL-DSPIaT~qc=*|}T0cgpT5`==P7 zIG|Xdc%Yb|xS-ge_@Ee}IH6dfc%hh~xN&RkQ2a0$a%&w?EKxjBOi^4>Y*Bnsj8U9X ztWmsC%u(D??76l6C<fhHhZKtp9w{anTr${X@X275!6}1PidP1+6t@g^DSjCYyS0uf kmfc#<6w?&f6x$5GDaI+znSN{Gf4833VE+%ADjg^92NM?%(f|Me diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Samarkand b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Samarkand deleted file mode 100644 index 10c7af7fed8b1118aeb50229697655055a02d5d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619 zcmci8y-UMD7=ZCNX{)8};G%7fAMrD45sFwppp;JHP$5G=5Qk0$!Bt#@I_RW-f`i~D z4s~!7aTOeHcW`lW&_Nv(Eb)D+AmZd=j=Luu9Nhham9^TG{QBB;hso#Y<iBHEm*ed2 z?AcMX-0AH#x-yq;I)3V=-<}UM_fL)Njpue>Z#JCs9n*8NVR{d0rf+}Q^lvR1cYWRr ztWKE0ierX~DKngFni1#Gj3#f57fbry%ey~z_u!9LFY@&;48^h|(TJ@h*7jrAwn*tp zZz6MLiHa=v5*G=oR*F@0{obi81(M58>n!M;;gE=BeO7`$JpJ|SjNUASfWp8w6ci2$ zNvq02p`q|lh$u`HDhd~cjKW5tqwrA(DU1|K3MYk>!rH3RQg|uEw61UX2j)ak`Ad_9 F#0R(bef0nU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Seoul b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Seoul deleted file mode 100644 index 312ec40a112d5ab54ea2d92d735735be4b27a44d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 531 zcmWHE%1kq2zyNGO5fBCeF(3x91sZ@v_w^4Ilb(tFxa6$<;gP@QhbP(Fe>@eI$at2- zT=87c=fw;Cf{GW<zhu1P52|=|{94BA_a+r@mhZ@TdtR*KUHhzz52l3`3X2maDCVV4 zP-=FXpzP;4fq{{UnUMtvGP43914B6n&_agt4h9wmhPnw1Kpv0;vRh{`@-Q&;EMVmE z@eN_{4h~`P0%C8M5Rh^>2qD2|KcKq)0|Cf~AR6RL5DoGvhz9u<M1y<`qCvg}(IB6L zXprwgG$;hXG%yrEG$<s%G%z$kG$=$sG$>R+G$>?1G$?dHG$@2X&H;rIhz5lehz5lg Ph^AeLaRGx;*OChWrb4=L diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Shanghai b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Shanghai deleted file mode 100644 index dbd132f2b0bcc8beab08e04b182751795c853127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcma)%y$%6E6ov01AsdnK0RGwCh(;k=S&0xTQ;84_wi_?7<`F!PCs;~}D7?f(B^vIT zl7ch2`)zh+C+8E>VAZ0p#Q6&b$@1Vmt@shmEEPQ+dAwxQ={D8*Lz@c0P8P$BDh-yh zJRhox=gVq;O|{%Y*PQ{??_KRC8|0oVI%a(=qV1LMrEqU0h@_&_Xe`L@@k|6ZIO2E7 z93L|!ALb9D7bk4{9*EM0TpUDs5CS+32?Qb_WIzakkOCnFLJol-2uVX01tDw5!t~*5 M#r`q2S-#n^-;pX<T>t<8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Singapore b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Singapore deleted file mode 100644 index 78583666698a0332b822c0cd15daa58abf60eb27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmWHE%1kq2zyKUT5fBCeP9O%c6&ip<TXXB;UFm)k4sbn5IJNm{!s&_e9G5(DKZs5I z%2EIS|9?g%W)@a9R(5s<hQwH)dJxINz>rh`G9q1pkq1OF0Ljb>1|bH9x(N&t3=9Pg z3^G2xAq>GltZiTp!bS!l(ilWq0<i_iC=?Jv*x_724Pb}=fa(Og?|+?H@L~`R@(73q qc?Lv-JOrXao&wPzkAY~A=Rn#)9t6?#Krsfo`I5^9=yy9^3oZbMHDSa6 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Srednekolymsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Srednekolymsk deleted file mode 100644 index 16b1cd8f9757d845a7966ae83543750bdfc79e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1244 zcmdVZPe_wt9Ki8sZRS!B66BxeN?W#Use7lHwYjWiV%uoQE?J%W1GUSK=pc14s1A|+ zIYfsM6;x<p(ZM9b!wx}*BtoQvbP%$G1o03aDuVTV-!&L@>ew@$_w(%8yTSH+mmWHK zBBcHrm1c*@h?&W{`n<V3uJ2fUet&#njemQprY@7Kb)R}y`~7Zj-O`;@{rqfh?Tjzw znGQ<BM3Z=Lua<SAPFa6$SsF8+r0LLm*${s%zVHj#7<eSjo~&%Dydr+rl=d%=>CKB{ zs%7|qYMHyNx4b&51CtrO^}%7?dNZlpE=G0xnRXpK)~Kx`2??F{OGi(ebPlePZQg3> zvOY`K&#%($Dc9W}=48i@CB1WcO2YGRbmZZz?s@q{M=wq4UD@lp_xLTn`@)3m=^NIu zqt|3_^N{X~iR>$j=ziaz^nW=h1I|tvcpH}eA8RE3)GLXZkWOCBOFBNWFp|&bmBYEB z@NkutJXV&MJSlzQ&$Zj-QtC#7`9;;}J!RJ8Ifq-R>@!tWycTyHW~X?MGWQhsRaGLH zRskz$X2?v74^xi9u-Ao4`X7$?+wb?8Z<yz(k>h5YBS(%MIeJ@j{73>w21p7>4oDJ6 z7DyUM9!MfcCP*qsE=V#+Hb^>1KDH(yBqIhX*_xb?q>!wTw2-`z#E{I8)R5ee<dE!; z^pO0J1Z_=*NQ$;5M<hukOC(JsPb5(!QzTU+S0q^^TO?g1UnF59V<cr;lQWXEt;rfm c8_63<9LXF>9Y;(9|55H05%X7wwpv!jFFREuFaQ7m diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Taipei b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Taipei deleted file mode 100644 index 748873bed9a167d0226bad2246556c45432880d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 790 zcmcK1Jt)L+9LMqRd3J8VWKkFtB{CUAc^K$S{uE`Cvi&@iMEWfTEG7@5Vo^r2=mwM$ z1CBfAJagyy7XyRh_dYfQi{JJCzpj7(8}9RVT01*R<;O|1Pq;V*_TqcGwzt)$I=$nx z=-sgay;rqh{Iz+q@Aa93a-Rf}I#e+GSqCH2=I|q5LK|D^=(I(L=fxa%_sGd&yE+{l zma~aTbKbVBFZwpsWyQT*mE@@F+%Ab^&Z%hJtd70}%*{nWZv7s0x1Of&mnzM}>$^No zt(m7_u{Qm0D*3%xQXWQCYIsDuw^vL?Xhvr`VdaW*#sBFe(iOG;N0gQXk)d%(;qLN$ zJ@Ga;Qr+lCy}hby9A5lB&hLX2+E-(Py?y`Y!=B!4lZ6b3jED@0jEM}2jEW44jEf8$ z(~gV`jf{;9j*N~BkBpB5Kq4R^kQhi1BnlD+iGu`+X(J(_kXT4CBpMP9iH8J4A~Fvl XImASQB2kgBNL=~%x^5f2sLcHdVF6z% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tashkent b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tashkent deleted file mode 100644 index 6f7dea4abca3b703de677eba9a88fe02436b1ad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmci9Jxjwt9DwnQMy*w$i?%UU>uZ!C1fdEll1UIMbjTp$P#lzkLnkMtf~$icz#-r! zE(&fU_W@j-T^#D*pj`xY(D;9%1;NS13wKXA61e;ltd=*X)UT0{9VWw;$$e^1mJ@5g z{o=UpbvwIZPv$(8PMqb^Z}*3phgxXeTB+Xaa%f*}>+I>K?mJr1{Rc~WU}sk6wp=~9 zmeoUrE<HT=p-0@h9<}fESjUZa%y-{;e)7j_kHv}7l~;|TNEyvdUzgeP<7#a)45j=R zIf+^<DpRTTiXn#!N~*K5Hg*iz;hDm6pj<C6b4KPguPQ@Ed?QQn2ZGn{m*j*I6ci4& zA)&BPXyOVFg^0pLp`vh6$S7<SItm|!kitlzq;OJ5DXbJ)3U6E?rZ7{eX;r@AAGwqB K@-r4D^T|&sXn$D% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tbilisi b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tbilisi deleted file mode 100644 index 4b2d2e296e7626c26b8ee570b59d171a8f2f72a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1080 zcmdUtKWI}y9DwiDRP#p%huS7-{nM&3{iA1_#HXh9T2Pk?4+#N9A%iUl4jqb<P{C$% zDlQf$6$f#6gE*89PY`raC#ROkEh-9viy*f0{CzJ82oBEP<L*1|T>{DXRW4qg9aVpg zl$<abC7JBIZp!jFz3hBi+wOJc?gqPh-s<l78`J&M@q50gAiZAHnb-9oySik1pWL#2 z_vY>H+cS30jjG*y?X2B*$+i8{c{@<f*!{yPdmy`M52n7_TxYtL`<|>F`jD8**VerJ zyZ7GUi|1zOY2Xb%d|*cI-1iPI*3FUm>qcL>ppRZ&3dY7~{lfW4zt~p|N}~gQ>6aV0 zS)<)XCOE#)uTQLQ1}E2Jy8I|@##cV-iTZ{)wfst(nT9cqm;U5p@3*PbpXV0BFmyU% zTbfVj)<2$Y@s0!!uUhZh_Y(0~OsRY*e+aAW2enElb;fgcDCHWpv%R)Y964#;aSeO! zOrNW$%9JcadQ4_fW`S>1%8}9BwbshNH64?yk)|K5&&V$etIt*(h&G5iUZW495TY@n zsD$W*D1~T+sD<c-D28Z;sD|i<D2Hf=sE6o>Bml_(l0rnu0g?nHi-?j2Bo9a;kW3({ zKyra31IY%G4kRB)LXeCgDMgf=AW21(tRQJY@`5A=$qbSjBsWNMknAE#dXW4e3Bm<& QqyB>qlVxdiVx*A#4Y(KMMF0Q* diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tehran b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tehran deleted file mode 100644 index 3157f806b7d7fe650ec6726f31398824caf82cec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1718 zcmdVaOKeP00EhA02NkKd+7c0ohIsaMJJZKe+Kvj2=~GQx+IqB@K4{Sw>eVg~LKnnB z<DFE}s0ATTBNYphBS=b0NJ+5Kg@y!)AQ|TyHezLA;ZE-T&D^AmCjakv%4)q1>yInM zyy52Znw#%a+RdYD^B(<pC{l;rydcAy<6RM*E<0i*-8H_rT1PH+tEjYhIy!!WnjO=s zXAhlLbMBwgb8k&kvAqK_?re#O?+nrj?T1w2mNaQs_KT##I_=2*pq!5PI(bHmN{OB> zQ%CoR)Xyb4?d=OCo*tI-?nQ|7zHmAJ(h0GkD_dtA(JFIStIVqZE?gBodSOAL%FasA zi;}LXrEl&@`J_NByPGfFHwHz{#SWc&GDPJaye{+G=8J-wVO?0>pqA&<>!OU0YDL_6 z>6to96ptI!C03a#c|S&$zU~w&A03se?nH^QtG9J|_Yzfc{F7XLpiQi4nWfiOUsmf% zdv>p{m3yxjxn_HcXDv8$(a3jo+3^@5n<@{qljV87LC9w|u(p%6_%!oKtQ-)+g#a zyt<+3o!U~>CASvGh;56f%Eq*A(KNG2H&1$|T0#!Uman0rb+}J&AIefY?q}+q{dZJb zZ=>9G=8M>Uv|I0Kk5zjcp38leYsEgF&u0Y$1_uQPj{2vcK+Cd)834~<%SsZ~7|U8x z7!YPz!evETR+bEy`15^kp2zZ-JJxnOZSzbqcQUv6_50=di}ii^^{3_^_OU`_iM(cw z$Rd$d`Zdc$)`=_>St+tqWUYS9Vv*G%%SG0UEEriavSeh<$fA)|Bg;nCjVv5lIkI%W zX6?x0k<}y1N7j!NfK-5#fYg8#fmDH%fz*K%f>eT(g4BW(gH(f*gVci*gj9r-gw%u- zg;a%<h17)<=GRn)l!nxX6o*uYl!w%Z6o^!al!(-b6p2)cl!?@d6zbPhij<1fiWG}f zi<FDhixiAhjFgPjj1-Mjjg*bljTDYl?$?x#)Q%L7RF9O8)Q_A1$SHuF1juQCoCtnR l8~^XAFm{3e<j9P7raNu(-JBblac*HJ+Hr12YI34I_6L+)nlb<Y diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tel_Aviv b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tel_Aviv deleted file mode 100644 index df5119935c5b01676e63d1fb1efd7273b8b4b452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2265 zcmdtie@s<n9LMp8WDL=qEV0%QuuMboa)Ap{Ng4_Qf!yN86a$VCn5p!b#55tF?1vc^ z&SkCnbIaK1heO4-<|1p;*+y_umZ_LeKft>LcU*$tru4i|t=jsdKim4U!|Uu0{$YIH zfs*A_DdHa&W<KHJ8qLFdlrrCTd$V3UvG|~F@A<<2^+z{F$MLInXJeJNo7dUjylm-{ zuYV;^Rko<E71};sGQm21A@=BZiHGHxm~4G^e9$?2>5x9x>J#0c#_99=4e@<zhq|!u zbEO+<#Sg{x;>Wf;>!&oI{qxRiqG#enySL_)z8HB@1*eUOV6e~*uWQiZH(Kn`gTGi2 zO(}MC+mN2L`HCIWK4QgM@A~659<V0o9=7i)+pX`8EA>w)@mlwYIsU0*`t{Urd+lkL zI`zFrNBQHs`mE{AvG$B3l{#T_h&^-10_`bp_9w27*WR3Cc2dsUI(c@rKPBmq<-7By zof^5_O1;wLpA{OeW_5<h^ucm<U-z)S-|m+W>|bKdes8bL*n7}=@THA%PTd|ocTJjn z$iL6Z%x@I)ath`Agw-M|X3)tVTO_jkDx3v<sUqj%fXr>bUF5axbRPb2SmbXR?G$W} zQVTcjkcBnZl)o&~c_eT~J-RYi7Ws~-K>iH**o0lGIN?@Ve076b6cz6*>RPH64~%h2 zTIZ=HUH#7EyDU-K+Ub<lXNvN-4mein6tT3vLq3raCMrr><de}sQJJw#R)vMCWs_>; zvYuY`)Qw`f{MZTg^!aqT;{6ZQ%HsiN)hk<6byJ%2Ol7r_uioLTUf3X>t-S86@vIUx zS>4Wa;|fKsXIR!=P7-U!os(-jZWHS+e<q**ctEW0*dy!SiB$FbUz9J@{;D>-Ss_D4 z-SX#G=wGk@)teBL-GA@6ArUIXbZ<zw5YcgBtPtsQL&pF9Nq#{<<e4XTzIlq!y!`zF z|Gu5A=I7n*4E^zoBj$=f`SLolC1g*?rjT7B+d}q*Yz)~MvNdFH$mWpUxti@E`$IN} z?9kP05!oZMNo1GEHj#ZI8%1`CY!%rnvRP!e$aazaA{%x!JLb>9mR-%Bkxe7JMz)RY z8`(Irb7bqt-jU5CyGOQ<>>p`>tLXsJ0;C5>6Ob+-Z9w{fGy>@a(h8&(NHdUbAnic< zfi%R`bOdRMtLX{S6r?LiTadmWjX^qtv<B%7(j25aNP9T?gEWYvLr9BUO^=W!adZi3 z6GxwrMsaisX%*5dq*+L}kai*cLK=p23~3qCGgs3zq-(CGZAjmc#vz?UTF22lq<I|O zL)ypDKcs;i9Yk8l(L<z(NEcmA8<9RDjYK+$v=Zqh(oCeANIQ{!A`Ru}DAH1no+3@< z=&Gw}D@R{lO=CGai?o)bw@7o5?jr3)`YZmA0gf<Po|$a=oKTSB@p*iS$!Q4%NnTH? H#~bk*I^)#B diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimbu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimbu deleted file mode 100644 index a8bddb9fa333da5c60c48132507687b2da74470a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmWHE%1kq2zyQoZ5fBCe79a+(`5J)4)n}q5iiy4}>i_@$&%nsU#J~{30~BWPjR2_& zNnqge@eN_nHZV0d0Fq`PDIf?T!ImEoEet>l{)21-aX~hMXwq!uvH`llPS=bJ0M+&( Aa{vGU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimphu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Thimphu deleted file mode 100644 index a8bddb9fa333da5c60c48132507687b2da74470a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmWHE%1kq2zyQoZ5fBCe79a+(`5J)4)n}q5iiy4}>i_@$&%nsU#J~{30~BWPjR2_& zNnqge@eN_nHZV0d0Fq`PDIf?T!ImEoEet>l{)21-aX~hMXwq!uvH`llPS=bJ0M+&( Aa{vGU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tokyo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tokyo deleted file mode 100644 index 8ad44ba981a2d97d40d3de2c8bf29606be50aa4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmWHE%1kq2zyK^j5fBCeP9O%cc^ZJkbvvel>u<du-1zaU;O1G~2e;W7KHOf*|KQHE zM<4F?e0;#n$OM5549(0y^$a}=7=fDWCNOY7NFU!21}_&N4h{iHGlFmkVMlNQ)qx%H z1EdQG{sTekp(O<%8ssQ24RjcY200EygB%E=L5>8|K!<{8kYhnK$iWO`xtI&+d|gW} E0KK7P_y7O^ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tomsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Tomsk deleted file mode 100644 index 919b0031d1cc782d9789984e00f074fb6f17c4e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmdVZT}V?=0KoCHyt=VT_)=Q7GM6o#)@jvTZQ3<kHm3zK2+Jt6#2{!y&<BAFtzIJb zP!JJ>IO-+hKpzhwbg3T2hY%w~N~#B6EXoH%Vx9jrVboKPoy)oZv$GG_&Tq*>Cwqe8 zui@4^Oh!yk)+K3u8~nWQ-P56|ie>)OndN0!QR*5hDgE&_T{b<QSux=eD@P7z%7=T^ zs)rrQd$(1sz8+C)F4d}vQ(m>UbE&FK<diS+Rjmt5sjBifYQ5)`@*7{IfA)ji@aer- zeg2wRJ@!)8ynZYLPqMN$drQ{cyec;ioRgc*_DXrYLvB7Ypn_+Psx1vYYU_a}wavR% zg@Qg6`dOpG<)#cz7OU;^m2$`MjEYPcGJ4-5qodQR;rXoDcxB$)d1u@-PfVIk{okxz zu@`1@_n5W2YS4@|KeP4}_M0uf+g8iWJu6;t(Ta~=wpu@ST8T&9R@=x0v;9WQN+!O` zgYh}5FPF;+N5PVX%P7pdikx{5@}6)xi~hI_r(p=O|AGE(Me>-?>r~p|5~3?5iWl#T zI}W|G@S3g^YhKgVo)iHY(le}QJs%?+dI*QTv~S6OIOMtCZ`0o`$6-?roNW%Ba_|fe z->wEgK|q1P00RXC1qB5L1qTHP1qlTT1q%fX1q}rb1rG&~U5$tWiGs<l21P+dfknYZ z0Y*Vafkweb0Y^bcfk(kd0Z2h;S3{&=w5vf<P*Px0a8iKU)krB&DOf3BDQGEhDR?P> vDTpbMDVQms?P}B%*mgB;3UCT?3Umr~3U~^7+NVwY7x3Lt{g-I0t9Snb_fHt= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ujung_Pandang b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ujung_Pandang deleted file mode 100644 index 3a5dcb27007e1a2ffa67bbf3a30095303b5d67a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmWHE%1kq2zyPd35fBCe7+bUf$XWO)cET>Ps}oLl$TnOGdso1~$i&RTz>xm|q!LI1 z*#!*@91IL~6Bu~FYyltN5C&f$);6#JVoQc_&k#qDYA6UH!395{dj10e$R!{e<QfnS RauJB8j;pvpuGF>Q0szU5Jx2fl diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulaanbaatar b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulaanbaatar deleted file mode 100644 index 94ddfea5f2df592be9967734c16563c72e63b021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmciAJ1m1y7=YnZDiN2sBoepQT~Vc|dt3L34x~t22GU5x;0z{&Gl&WK2LodG2OAr~ zU^EzPE`t~uEb=Ev43au;V>4Nt=JaWsHfg^13y;mt)Qexou0P>&eERY_UFoOwo7aJ~ z<VPd><x1r|d|A2IA(eOGmH9`t%CVm*of{ddVCh{J&b_Ik@q1a^f2T^?&t<9mOqJ#B z$@1h~<+7hzuJ=<>@w8)A-tLI1%SFq5vM8z#CM?hPgs52yTD1#7;f)kpb(3SNJ`|7* z0l)Hj3S^_hshU!4vhC&AY(F_N{0E0-V0+65u5Fqf3)1L}%$r@|A)~u@(CqQ~jNZ}) zv(GV@KAg2@jwDRUk&k6_^tnf_Mx#+-i;w%`BVLFI^AOXLnXDMLL?NUSDFdOfaC@8e zZPmAhuf$IH5A*%}`HlW-QRd8BW{u1nnK?3dWcJAXkp@Tyqy^FgX@Yb?+8}+9Mo1^5 zRZQKBLo=ishjvIm4h@lx99kkhIW$GOB5jerNMock(i-WFG)KB4?UDY-4j_Ag>;ke6 g$W9=8f$RpdAIOfx)O&*L3jWu=B>DCB1U)TD-}#Kg!vFvP diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulan_Bator b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ulan_Bator deleted file mode 100644 index 94ddfea5f2df592be9967734c16563c72e63b021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmciAJ1m1y7=YnZDiN2sBoepQT~Vc|dt3L34x~t22GU5x;0z{&Gl&WK2LodG2OAr~ zU^EzPE`t~uEb=Ev43au;V>4Nt=JaWsHfg^13y;mt)Qexou0P>&eERY_UFoOwo7aJ~ z<VPd><x1r|d|A2IA(eOGmH9`t%CVm*of{ddVCh{J&b_Ik@q1a^f2T^?&t<9mOqJ#B z$@1h~<+7hzuJ=<>@w8)A-tLI1%SFq5vM8z#CM?hPgs52yTD1#7;f)kpb(3SNJ`|7* z0l)Hj3S^_hshU!4vhC&AY(F_N{0E0-V0+65u5Fqf3)1L}%$r@|A)~u@(CqQ~jNZ}) zv(GV@KAg2@jwDRUk&k6_^tnf_Mx#+-i;w%`BVLFI^AOXLnXDMLL?NUSDFdOfaC@8e zZPmAhuf$IH5A*%}`HlW-QRd8BW{u1nnK?3dWcJAXkp@Tyqy^FgX@Yb?+8}+9Mo1^5 zRZQKBLo=ishjvIm4h@lx99kkhIW$GOB5jerNMock(i-WFG)KB4?UDY-4j_Ag>;ke6 g$W9=8f$RpdAIOfx)O&*L3jWu=B>DCB1U)TD-}#Kg!vFvP diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Urumqi b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Urumqi deleted file mode 100644 index b44a1e19e9b1212585e55bd65be77665f4ecf6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(hJU+K>i_@$&%nsYzz`$@6k!NSU|{j_4PnqW jFavQJLP#+32UrIK1JK0(AfrKC0>*RM04=i9HRA#R5AqyS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ust-Nera b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Ust-Nera deleted file mode 100644 index 7431eb97fc4eaae4d8b4bd9449821d4d11a4b183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1290 zcmdVZJ7`l;9Dwl?li0L66w$UCqph{Z8rvqZmei!N+7~s6mYT(?lMm1!{1JzuU<*D# ztdBt)g7`qC3RN6xk<cN7;$RUe#i8n?4n>fIWKa>}`EDFSog6)vbH97fO#-?1casB0 z4hPj=W3gFbGCIxVxN6w!?!5bud3yJSTISs?6;-KhrR(UM${)AdtLAR@EuWpvu9&Lr zb5HtZ<yeh)ZY+^iBX(JRDks&c&r-AZt*nW?l-lq!S?hZ!b?&sRTXa#pjtT9}jq3HE zMpgabE>%BsL2r0|Qv1eJdgHx)y5U+vH=d2^rV~xtf3R8y_Qxf7+$)>f8l}0vR5p9c zr6ur1T7G?#kh?^O-p@$u&pEwiazethuXN=8v~J5h($RC{dTaWMZa;KgZ#y$4+q(vJ z$AQbzSvR1&Iz+mi5#3YUFFjxPNUyzFdS8cS$HxkZJ@!a^DyS2e^0M<-u00vc=%IW* zuWSn(c58DkEZRz3MJL4<<{y_jT`r~0cbnU)WLP<rI(=1{mGl$t_k*mheEzY`tdHDQ zOS!7d)xu|3i6@fE=MS0Ls(gWfnL#uC{IpWG!YG^+_Q`*E?%)4>(fs8+&!1v|fdh&K ziU+I41jPl#2E_-(2*nA-3dIY>48;w_4#f|}5XBM262%k6lvU%3VvB(<tHv0`8O0jK z8^s*O9mO8SAH^WWA;luaBgG`erB!2-;?t@zN^wfDO7TiDOL0rFOYuuFOmR%HOz})H vO>s@JP4R8j7^gV5YOGVdQ_NG`Q|wdxQ{DkOWGwv8??G9_yd}|wfWPcF#)vJ@ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vientiane b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vientiane deleted file mode 100644 index 8db5e8a61ee9e63164ce7f07969557fafa982dde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWHE%1kq2zyQoZ5fBCe7@Ma7$XS$?ex&~Y|No3kObiThHXwN*$-=;pRKURD;~T=@ z1jO0~<{$|m2qA1dP%qdDo*!Tx3=BZi|A%dBJp!UZ)`5iUfoujM?c}ln+Ha?8&IJIu C{UtE~ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vladivostok b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Vladivostok deleted file mode 100644 index 80b170bca4100c8915a0eab6602589e22bce9ee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1244 zcmdVZPe_w-9LMqRbk<OVb;wyuv(%O?+a62NoGV>6)*M9ak~J9g5AhZq><{{diU=e+ zbSRMsOzL3KAq~cEStkh(br~J3ymSen4jRPzy`ME0b?Vq>Z12a%Dd_LD<lxY`Hu-B+ z<_=F5F;A}DYF-|nh^A(z=2kZO`qMSFmli#)ktNUC(_^(?X40E;ON(0;th6^9)~z!E zt($Dn`tgmr?P{4e41d$@Czo|c{Jl1IztJZDOKtW((VbQI)#rRIzVCCgYkAh)GLmw) zyt^m6=WmJs#bw#^XjoeBo|3)S6B4)>mf)FySgAp6yU?!tdP2JYxJTRT>b1jK(~h5_ zo!%Ph{P0P;eyqxY?7Vj8auS;UC_S01gm1i(gA)(r(AjC}y_V6w{+kjxJ*kJAhonC; zsz)l~5^YRt^y_(zmG^1vZA_1TZqoQOzYZ+)O5*kgO~x}TWBGhu9OY$&hqI#Ov2K0I z7p33$^V;Qfid>m8|4|veBj$SIxx*zg{!prmuf;nKbEo(oG4Cnfm+FB;QvAU#@mrR8 z2Ki;;D9pYtyd?kOh*y9AocRm$95v;*xy_MNj-7J!cFplq2v8VMC{Q?1NKjZ%Xi#`i zh)|eNs8G02$WYi&=ur6BHG~+9D3t6PP7G2ERt#DUUJPOkW(;Z!ZWMA9b`*LPeiVXs z4MPe=yM`l$B!eY|CW9w~D1#}3DuXM7EQKwDE`=|HFoiLLvR%WOLfWojO`%QUO(D); WPN7c6jDi1%du7Oc6vC}mu<{o<5B_}s diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yakutsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yakutsk deleted file mode 100644 index 220ad3db5fe8c36d1c32b88fd789ff9c71d3e94e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmdVZO-R#W9Ki8sIbTqT-=(ycxze?4YIBur>9krVx=B%kC@F$o=#3arln^QOdXV@X ziXb}l9)xu1<zU`YsF0xYWE})MR0osjP(-Zf`(J}mr;a^;{{PRjXa5bh=lf4?-M1%X z{u(8Ag_9ApCv)kum+NmoZGUug#LV(<O3f}mH&Iq}cDn5QlO5$B2UBy#rzYl(wx&Eo z37t0()rzb2I={bCD^G}e54v<g_ZM9lpVX?RF|7`asL%6Q7nR&qzx$2&zYfdd_fNew z#}9aG#_q_H;mZ<ucwTC6^+?^t{ZfCrTb3S4NN`tF8n*4#(BYUai+1YrjXqsbQLBxi zLT&sxQ^THW3BQ}x$d3Y9IrLha#y?2&?avY&d?77oUP<ef0a>;Cfvi6DOxLtslGx6B zy4H70+G72>E`N)(R~^#!siWGFw?R8zZr0ApkjC#vG%>nfx-NJ$8Gmki)9JKv<;}<( z?);pipfKk}?i+v3i`;HwdT!W%)TH{1o%dgJ6&Z6<O=<R;U2)l!>^;WblU+BZiLRsx z1j8oK5VS`4GULh&XP&tv|6z;2{r;T&g=w}L*=`0~j%+)!^^SJ?kpz$okQ9&{kR*^S zkTj4ykVKG7kW`RdkYtc-kaUoI9Bo2KMo3DIHYX%0Br7B>BrhZ}Br_y6BsU~EBs(NM zBtIlUN1Gv%qNB|bNfOBtNfXHvNfgNxNfpTzNfyZ#Nf*f%Nf^l(N!iinj3n)7vqsWJ b@<tLzGDlKp^x6jgquh&|?W53A7b*S)6q5sF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yangon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yangon deleted file mode 100644 index 3cc2aafac4e27bcbb2de4b08c6451c1a56452808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmWHE%1kq2zyPd35fBCe7+a_T$XWQQIPmnRKN1&brGKdZ|NlQD6EhPN14EQPNF|VD zVPJ^PVBlb2sGGpR2Vwj8hA;#Hv9^Jku>p{@1Sy4r5W?280hNNBAoK&O2Wad6ux*_e kK{UuYAR6Q(5Djt`NLf9Q%|M~sxNN{Kw$nAUGB)4>0I_91JOBUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yekaterinburg b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yekaterinburg deleted file mode 100644 index c1abb935c655ad4a8288bc3bd9445847e832f270..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1281 zcmdVZPe_wt9Ki8s>S~)FBr2_Ct<0t_Yprd}nscSjtO*Y_2tsL)2}PG8DJU>vR8SOA zr|MuCp87K(PZb$>wE7*ogj7&oBJfZh3LESBzH2b*)UoH~dB5-byxU;!`*~CQ4h;s> zU!%&bFd3a@a=iGA+1=dl^xj@Ho}U=a#g}+5W|!7ZdTJcc{53zmj?{kol3h0A^(>!0 zk##@G$clSIQg>@mR$kgGt4{9_&yiMH-PbH@l5VMwR>@jlP8!^Evaa&Ic<q(i`|YQ0 zoSjcMog7U!y?&>gr(S8_qe;E~?znEben)S}T+<tmXS9D{NN?&Nk-)K2vbpW71b6pK zsBS>Qfp!V!5)yIu>B!qgX`PShEl*vtb;hHkV_x0%xJ<{+Id%JuSsg$4S#QfI+1~X+ zcO3X2oed9lSI3kj>{oSn{g`ym-It#73)1uQitPM&Sav-)D#_{dy7%%PNhNLZ;e0-? zY-JVYh0VU8WLxMcIVrvH=dsgnS1R(x+*TEQt}4uNTsf3VrETVZC$y?A?u#onvr_yF z&!o7ns*}AbrOovDgJy=!4Dqu{*$Sg@QrM^d;hBH`{YCS4^E`XX^Jidy%Q&D|pm?xq zOi)}<Y*2hqj8L3VtWdmA%uw7=>`?qr3{f0WEKxjBOj$LqD7GlRtQun!XB2A`ZxnMB zcNBXRe-wihhZKtxj}(&>msX8UichP?D8(toD#a_sEX6IwF2yg!FvT&&GQ~5+G{rT= oHpRD9W1QmLs<BS-PBBk$Pq9z&Plt_x|MeYkMa>%$YYDl20dKP)N&o-= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yerevan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Asia/Yerevan deleted file mode 100644 index 4c4e045bd3a47ef74883c0ec74261e8c6a41dc1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1213 zcmd7QPe_wt9Ki8sZ7Z7+UTT|5`(w7|zh34xR!v=+E^7;k(IGlKQ3m}vyo6APU_sU? zqN0MNsDpF}sSX|jGj`}AsE6p(3Vsj~6h#C<S+Sn)n}XP>Tkp&Bejc9vf$jIr?>~AZ zs{Xos=7h!7WfuGDv*vL>IK1=S%c}mB;hV)(ff>tRF`f3$x*i4It75Pew`!)&7ei03 z%IeW`QhRGq>Mjn*nlt-k?TL)6JCKz1*@)DqYGgxmr8I<o%Ero%67~jl_^VHEdb`|? zyqL8cpM9{K#$MUYBhz-vwWoIL&_jFk;9c7~e8rAV+Qqi^%M#mrT;jDSB@xX@;#Xdh zp<_DvIw4zrWcAjGfNU$Z>eRisZXd7K9T)t%bNGu+4}90#hgL{ePf2$l`YbydCUj5t zbLsWo(V6-&$$T1@KKBjjo4GB!-kg@*4+@f<x~_9|iFEGLLD@5UN*BuIvU0hX{JA~e z1^3crbGOI6@Obgwyy#IX^4R>Ds?kzr-`nr1P%4>LRrAmJ6PGzz{GMzsubQkjv*KpO z_!{MME@$gJ^8YZ^Z*w0rKdj7jkqL9ml#xjz({?lyN2ZQU9+^H;08#-`0#XA~1X2Z3 z22ux72vP}B3Q`MFjH9UrDF>+sDF~?uDG8|wDGI3yDGR9!DGaF$DGjO3(G-VN=V;19 z>O%@dDnv>|YD9`eszk~}>O=}fDn&{~YDJ1gs&zEwBK10&f{}`ml98H`q8&}uNZD90 Qv;Y6=_N7es9W626Z&TF~XaE2J diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Azores b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Azores deleted file mode 100644 index 37218e127e4bc6dc6993c525023ae8b5c4d25105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3477 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 F@;e~qGr#}< diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Bermuda b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Bermuda deleted file mode 100644 index 548d979bd1ece82ce76c18fff8a4d9a919ba531c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2004 zcmdVaT};(=9LMoPG)E^fDoGPCu?NK92nSCgXlP+)7$?5U!8j`Ttsn#~k^~`%%7>CG z+X^jnY%Z7UqO4)gYGW9gH$D8!hw0kz=Nw$L+)Ov;rt<gq{&(3`SFJz$^MbR%)%X30 zuV{WL9QenR>^|Y;+3a3^p7@sgc5parEM>-k-jTLbf`L8_Uh0%P?M9t=_5+hTl+a1v zbeOw7Yqx11)tb9|pR@OLm6&^*=h?}LOp{)bVecy*H&bTav{Pqh$o(nj?6jntGVQM$ znsNS|WF8;UtRqKc`d35xz}`<}M*C%({q{DQS##1p*s|9=6ggxcUb4kJlK!F1ncZk| z#=q9wVASM}?9$nP<eEnZyEN~_(~{r6QbPl?WKPclEqFgDg-r<?Zu?V;qNR53vR@>U zlVu+Ze<_bo@N99$Po{Y6yq$Ob3sdsrur2-lJv0A+)dk<RnJ0F9uVo*{&BE4wx@hZq zd9vyqeX5~a%IB=n#pMxMd}X(d<}WqT6Wz8Vwa8Qq)Y~N&)6Fw`HfiPQu*ACS^w~p` zrD|1~O5askIzL;NwV#pd%w&z%d@J$mqq;n@N0yH!+1lxcP3;dCY+`)3S+Vb^T{+Ti zR&CvH>jvvheM7HZ-M`Ri>{EUI-8y+8f4jceR3;6nE!r5(md1;f+LV(lO+SaUdBUhP zf1ai-W5;Ce&OE#B*9+$5j!E{F14m73%_aNlj{RnR<Tu;a+G}1*KWH~ptu-6Qk84Nq zcIg-y(9WqX(mB|tUDqn*_5O{z=}btvdlLG_;WX)~FV#19U6w%7ZU6C?=M9$x0-kql zC~&*yoia%&m9cnWQMG%^<L*j%;{W2Zul@Ze?mv1S7tXI-IdbX9wfnk@N3I^ZeB}C( z0+0%j5|A2@B9JPOGLSluLXb+3Qjl7ZVtidSNI6J7NI^(NNJ&UdNKr^tNLff-NMT52 zNNK*VHl#RTR~=FwQXf(vQXx_zQX^6%QYBI*QYTU<QYlg@QY%udud5a*7pWI17^xU3 z8L1g58mSs78>t&99H|^B-PhHQ6z}V*N6Png^&<;_tN^kE$QmGvfUE+t49Gel3xTWz zvJ}2<Es(|Vb*q6ahp$@?WI>P>L6!tr6J$}4RY8^oSr=qskd;A}23Z?qaeUqCAj{+H z)(2T2U$;WY5+Q4ZEE2Lx$TA`8ge(-YQpi#vYlSS9uUjo-xqRJvAq(c~Rt#A(WX+I8 lLsku0He}uK|FdvGH+Xa1;N``NLg7$BUaYV%R2V7<-U7n(2}A$@ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Canary b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Canary deleted file mode 100644 index 544f443a096dc1edb447ff85e71d0f17e40a227e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1911 zcmdVaT}ah;9LMqhnYuzEzE)<Nnk_SXIO#c>u9~hnQ>i?y@>H&Lu4Pus+;Yvd)m$th zLgEuh5fv2+8Bwkas|$Nzk2ER?nvAx^V6oa0;b>vo5chlkcQfc}H-r7<oY&z9dh>mM zqRZFS<#>-gkGpSp@oaW4J}126-a2Bd`o1XYA2%|R?~Tg+Ly74>YxKx(loWGKN%t>m z%<T{K#EqkR^5eZqK7YYdPIg-Ap(8f7O_sKGyN#=Fw5O_8+4%CPr5BXggkZj9q-5H} zVPh;au2`85rfbso8JgTXT2nq9qN!aE6+Hf<rnP^itQ}XBz3IF{wWk!WzG*p)U6xze zZPOR;v%J*9mY>sX`2(#sBe`8OZmqPLe>Q2>g<^Z=>q-@L)Tpp~mY&^Nq}c~k^juxK zigwJj=S$;MT$^ljGVZFRc)&{IK37@#w^nxVj?Inv(B}4Bwt2VTv-zDTto-UFMfSAW zf|JMeLPLWsY<pLWmhIN!`qip<x?a)pGA&73prygdTG}5{Wn!sSemO!fKA2?7&;F(r zz42CcG{LI7ezBKY?^{iKkG)*eYb&??q*rF2vsKksRhxFeRu^`vZs-}UNtM?8uwQEj z8ny0ni(b7I)%y2WsQ$B!wqaMH8agWMwY6z_eP^C+TvT9<bxHO{c&u$I`Q6@3@T@62 zQB8f{S@ZCIHDCY4TJGJ{meU>fR!_IK9{5PxIuGmZmg8#O(<(3USWIl(fBrK#_^Uk6 zz4v*s?z%j0sOJs0z_5RQE{{aLX`!&UtR(7Q6;XZ{2n7Bn`Y-PHq5oI;cY}l6F>=d% z%{}vQ)5u*Tw~gGlue)*N&XHS3?j5;#<nEE%NA4eK0O<f}0qFs00_g&21L*^4#MgC# zw1V`4G=p@5w1f16G=y}7w1o78G=+49w1xDAH0J9%Lt687y&=sZ-68EE{UHq^9U?6v zJt9paT_SBFeIkt_og%IJx?YiHeO<RmyGXxC!$`+S%Sg{i(@57y+eqI?<4EU7>%Ojc zq<LT0J<>kXKe7SH4j@~A>;bX~$Sxq;fb0XZ5y(y;TY>BavKhW^H<0Z>_5;}vWJi!K zLG}dM6l7PBZ9(=0*%)MJkgY-X2H6~6w>!x8_`3Z;HVD}vWQ&kJLN*E6CHy~cQ@mTO W5Q`Oz<Ywh%g|frJNI1l&_`d*S?6GSA diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Cape_Verde b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Cape_Verde deleted file mode 100644 index 1c012da59793fc7ab7cddd643d6010d473c62cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmWHE%1kq2zyK^j5fBCeHXsJEc^ZI3XMJGLnW=LWE|t^>aEpI;sQ>@}KLaBZBQx{= z|1ZBVF#P}j_yGgU|NkF9FmixM1`Z$J5C&ZXBOo>e>W6?35^Vhe)dRHXKgf0v4RQg9 Z2Dt(x4RQ&Ht_O;d?iwx|pxf*Wxd7I{N~{0? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faeroe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faeroe deleted file mode 100644 index c4865186b035081c6f216f75486310e78f03c716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1829 zcmdVaTTISz9LMn|X<Ea+v4l=Y5|4UHg_I=KP)<FPLvl!pL`f@3jG58e*VdTPFs+#- zF2Y4(j$>#xYv#~w%-NbPEoLph_ur)}H#YzF@AdRtboG6IoXhibBW!;>{mnPLJSFDk z^Pt`4*P+eznO=dPb=c6C>h1bSy}PdI@HZE9#FJAx^44MXx!NkejZNZr;-vUjs{~Z+ zkx>Q3GJ54Y8I$Uiz}O@iYmb&7-(VRxaJU4!C2DYYq>g_Zq#^CYbi$nhI<fh?+Uq~+ zq}t~iy6=I8m0VRv&Up>bdL|LY%`!QzMIsj;ktn}9iH<0f=-w)s>Qk#zJJ!gwpQRep znkds>WNK_fw#K!@=#2dd8h_kZXXXZK!oF!TE7?sGb9`iW(0ffv?3HA<`<fE?N>V!C z$sE@kGN<jH%zbl4<~5y@)Q8tKt)^P$H=fo7g@v-Pdao{8dQcY^tk?7@1?o&q(IwvV zHNzgF89ffo^h%b@r$cmE_jp-;`J1k2_mGvRJSD67i>#{ZlI+?xS)JW3YbrnK+W0H7 zF6*J@1RRs~aZQ@*en~g@sc!giRP%a^HUD0@ZtQUCrn4)w;BJv@J`ksc4e7EaFF?2M zkCLKAu~MAtE!)EVr6lQxZ1=QDX_%Lmetj)vgL|~>@og#Ze5N}tHptGl7OgmTQ!AV5 zbXR%3R@GFg&845~zy9g#`*GHs5s$g4!Q$fn`*UiV)3!8;H{EHzadF{w{>5>AxBidK z)@L4$ls`FC<XDk|wKPYI94>Oa$N?iqj2tp@%*a6_M~xgda@@#)BS(%LI&$pD!6Qd+ zX$~Jbek1@S0we?^1|$e13M3394kQpH5+oEP79<!X8cP!n5|5<`2#E*@35f{_3W*8{ z3yBK}42cX04T%j24v7v44~fsx1c*dvX+lI|M1n-3M8ZVkL;^)3MM6blMS?}5MZ!hm zwKM@E5nGy&k(iO7k*JZdk+_k-k;swIk=T*ok?4`|k@%4TKt{mQ3;{9*$RHr2fD8jN z4#+?tBY_MBG8V{SAftf{2QnVWfFL7cX@&$D6H7BF$fzL0f{Y6?Fv!RtLxcat*m#)v XaWFsjw8^1Sp^mU{ds?`IPaeMj0dSc= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faroe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Faroe deleted file mode 100644 index c4865186b035081c6f216f75486310e78f03c716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1829 zcmdVaTTISz9LMn|X<Ea+v4l=Y5|4UHg_I=KP)<FPLvl!pL`f@3jG58e*VdTPFs+#- zF2Y4(j$>#xYv#~w%-NbPEoLph_ur)}H#YzF@AdRtboG6IoXhibBW!;>{mnPLJSFDk z^Pt`4*P+eznO=dPb=c6C>h1bSy}PdI@HZE9#FJAx^44MXx!NkejZNZr;-vUjs{~Z+ zkx>Q3GJ54Y8I$Uiz}O@iYmb&7-(VRxaJU4!C2DYYq>g_Zq#^CYbi$nhI<fh?+Uq~+ zq}t~iy6=I8m0VRv&Up>bdL|LY%`!QzMIsj;ktn}9iH<0f=-w)s>Qk#zJJ!gwpQRep znkds>WNK_fw#K!@=#2dd8h_kZXXXZK!oF!TE7?sGb9`iW(0ffv?3HA<`<fE?N>V!C z$sE@kGN<jH%zbl4<~5y@)Q8tKt)^P$H=fo7g@v-Pdao{8dQcY^tk?7@1?o&q(IwvV zHNzgF89ffo^h%b@r$cmE_jp-;`J1k2_mGvRJSD67i>#{ZlI+?xS)JW3YbrnK+W0H7 zF6*J@1RRs~aZQ@*en~g@sc!giRP%a^HUD0@ZtQUCrn4)w;BJv@J`ksc4e7EaFF?2M zkCLKAu~MAtE!)EVr6lQxZ1=QDX_%Lmetj)vgL|~>@og#Ze5N}tHptGl7OgmTQ!AV5 zbXR%3R@GFg&845~zy9g#`*GHs5s$g4!Q$fn`*UiV)3!8;H{EHzadF{w{>5>AxBidK z)@L4$ls`FC<XDk|wKPYI94>Oa$N?iqj2tp@%*a6_M~xgda@@#)BS(%LI&$pD!6Qd+ zX$~Jbek1@S0we?^1|$e13M3394kQpH5+oEP79<!X8cP!n5|5<`2#E*@35f{_3W*8{ z3yBK}42cX04T%j24v7v44~fsx1c*dvX+lI|M1n-3M8ZVkL;^)3MM6blMS?}5MZ!hm zwKM@E5nGy&k(iO7k*JZdk+_k-k;swIk=T*ok?4`|k@%4TKt{mQ3;{9*$RHr2fD8jN z4#+?tBY_MBG8V{SAftf{2QnVWfFL7cX@&$D6H7BF$fzL0f{Y6?Fv!RtLxcat*m#)v XaWFsjw8^1Sp^mU{ds?`IPaeMj0dSc= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Jan_Mayen b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Jan_Mayen deleted file mode 100644 index 239c0174d361ff520c0c39431f2158837b82c6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2251 zcmdtie@xVM9LMqRfk?4(Z-2m9fRIS1cJdqi5tq^l%)GOd(?~^75wR}H%NV3anRBi& zeCt@|$f@O+HN*a(`~$6(+GyeBFXpUVTdb@!x<tZitUk|gYyDAM|Mf@T@9z8f?z{W` zaofF~fu-wea;(1{vE~UMju!Lb{`Tk0rOnl6wO!a))qT`o)pKROoPOP@;a9!#$*w#( zvn5^5h7#o5s#v*tBvr2+^2zrvd!&DRhWyZwB9U5=AIlwbz4W>aOz)E$t_w2gJS9I# zM29j*%24E-jtTFMjP=izak;-}eA-n_82h<8qfe`I;9VWxcSP?vzhCb>u~QR|9haoT z9g_UYKAF(0lCtS}NezbNuH~y`qAwt6g~c+-T_EX6F1h=*@#2c{s%tP$Cx4Z$Q+gA0 z>Zw@0r}L(|4}PoDT0hl{tsiUVhGUvl{ibGDT#}qnr{sFNByZ76lApX+3UV5xV7N(U zB(~~|%PVE(uk||XxL5A|tXvD*E7j9AOYhrOq_f+SbWTm07Hyp=_m{+|w>nYgreD!w z@354_e59pmUr1^H*D^2qeVG^TmIwM?lldKQh_B~8^|v(3g2M;&!MZwmsQCq5`0$Im zD7Z$;rUy0PE7ir$1-isNMVAa^X?c8!lwTa9j|@(hrSII(Wxa8-eE(>v=)5K?ng*n@ zH7r$?y|Qxice-l!QCVHlqtz*UWR0goYi@a4*Cwm3{bsk;4u^DIccVUfIiQanTBgAd z*URJEJzCdZCQsC+=#$&>W&OfJ3Dr2|sq6`|q4;NcdbB0=nekd5`BEB24Qa!flhW9K zNuPPET{echbkm*>baTgEeYWwSHnlWqlq1R!J>nnEsF;!e{b^Zo<IEq~N=kK%u&hyH z-TLSCk0*aU_xS^sx44W;fHxfGKywrL_u1?)U$kd)(|*UYeltg?e^L;ck*%2$GACqG z$gGfQA@f2ehRh6^8ZtLza>(qE=^^t&CWy=snIbYrWRl1%k!d3Hv^5ju=P*-bs>ocC z$s)5wrfX~Fi%b}qF*0Rj&d8*ZStHX%=8a4onK?3bWbVl1k=Y~DN9J#95`bg?Ndb}r zBne0skTf89KoWsu0!amu3nUpxHjs26`LHz!K{8@%Qi9|JNeYq`BrQl@ki;OFK~jU{ z21yQ*9V9(Sevkwq8L~AgLULqll7wUlNfVMMBvDAFkW?YLLXw4K3rQD}FC<||#%xW> zkeu0?q#;>D(uU*>NgR?nBy~vckmMoRL(+%j4@n@BK_rDp4sA^mkt`x<MDmCv63HZz zN+g#^GLdW|=|u90BoxUgl2Rn6wkD}aR&7mMk-Q>_MKX(|7RfD=TqL{J|FFApCdJdT UiL%?Dn~|T9<@RT1VP<aJ?<;p%>i_@% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Madeira b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Madeira deleted file mode 100644 index 9c60071e4964de7b32d7d095b075d253e1fe5c3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3468 zcmeI!dvwor9LMp`S_>mSjF`EUC0nieZf+xMY2gT6_+i5=cWH?=j!W97NEeRtwj<@1 z$)(N?^POB4M(!5o)|9dox!-<5rX8)%^INCO>5uxS{_6Yl`#pAce*4qw`S$gGc1W!H z%TvYvhBr@%ee-jDV?VM^y_Yn%^8_>Zr(&5muguIZoMGO}G-g50c9oqvz$~0vYTj>m z+AJC|(JT%RQ%j!AQ#nDmOwP6WYI)%rmHR=gT9KV%+}CTWyf??Il_MSVQTi;i>ZuxL zZESCoU+u8TFW+fCzMOA1?AoCU^4F@33!XQd-kq&JnNzMdkDZ{l3`<j6lTy^Sgb=em zE<x>RvqbGoT4#11xo8Rl;!WX|X!GguQEK<<{%ZGyJpUe(?B8=VPwjm>QSIHDJhCX= z^%rg5Yxa$9toAJ%?cd)m%fElg3Ui=G1$AIrFaN>V4FAE`W|%|Chty}CwyEOQ$DG5F z`<>52H#=WcTIqaobCGl8>`dqA$3vZxm09lB?@w}%Wo5YEygJzZHod2Nd_YI{M7KEi zyGJA4ld*N(Q;jOSr^8w~XDUZHXUamIv*&}Ib6=J@=RdvRTv%7)T+AtQF3s8GTz<=S z{NoooSB7Uf-w!NsuXfLMuO%*UuQwC-hwxY28zJd#Y2ZM&^s3Ljb8eWbI<<<bHo2A2 z84;%Xpioo8S4Tn;%S_E?KT56e^Kw_nQK=ocS889~D0NO0WQQKgmbzPKNZ5t~U2j>g zu0L;qZZJ)B!<Syscc-Q6d-@L4jk@@Bc-!{+-l&$kalIz`zAANelb}Rta=p1koNO$S z#dpd5+bhTet4bwm@mYCr=9dyZdABsp*dWfJ<r0%}M8~GD(#_)6>*n2N=@#|p>z1)& zb<10sIxcLc#Fg~dt;@zpn}S6B&{s*)c4?}_uWus{PiZF!bL+_?L&Bxq<ktGp4ndMQ zC`>=r__VZ7yrnw?6-vkOW4hy|Q@T^&X5Fc1mwx=jBHcMRM|at?NxDv-rk_~0P@Wty zLO(Tal04n(E$NmvSh}}L6JM8((xdhh(laVjdfsp(sa6M_^mz?Qz8;}_uem0Dii36E z?CLsY)dk%z^QumrS)`vyE!O=fo|6FyYxTgCJu;}_Y&|$WSB6wvEko;z3_bIX47-&s z&+Zy0!%KYf+=qQ6ZO176{2TEyVrh5%!mx%ia!Lz5>gl#ReMoKnVoU>_(f+0$U0vxh zO>4;*|8YIG>J1sYf14h6>4=PXm+A>c>*b}{TV!JHe0h1?V#%DIDFK1E1>PR?4_|lK z@BQ)pkN&Pwg^GW81y}wLU*+Zg2&KHw+wHcffQseiSNy*W&+k81)d5;5`&pCksL(%u z^7}4beX4_fKj1j(K_|u<qk6UP?z100@7n=9%KrQ92?+50{qlWnzwRwx>92oRZl8Yf zAxX#*B5UYr7ZF)SWEqilL>3ZRNn|OJwL}&ZSxsa)k@fVn3yQ2LvZTnGB8!TwDzdD| zx*`jUtSqv$o_1}K#YI*ZSzcs)kp)Ip7+GRujgdu0RvB4lWSx<P_OvUFEVZXyYh<yJ z)%LW@jjXq)U2tT@J?)YsYwl?m9a(ixyX?rid)kFZR^HPtJ+k(mcJYzbN0uL1f206N z1&|VW+8Q85K&pV00jUF02&587DUezq#Xzcolmn>;QV^sfp0*@NO^~7>RYA&v)CDOF zQW>N)NNtefAk{(2gVYBp5K<weM4q-r{P&<pJXDE?G9h(B3WZb(DHT#Hq*zF`kaBt2 zdLacvDu$E{sToo<q-sdnkh&p-Ln?=q4yhedJfwO^`H=c~+5#dKL`sO%5Gf*3MWl>K z9g#vJl|)L3)DkHsQca|sNIgAmL6M4j+L9tQMT&}46)7uHSER5=Ws%Y%wMB}HR2L~P zQeULNNQFIZiIEz6+9D%WM#_xT87VYUX{6Lht&w6Q)keyV)Eg-{QgKgPa-`;-w&+OJ zk+LIoM+%Qr9w|Lid!+bC^^x);^+zrM<O)D80puF+v=;$#6(E-ZavdNS0&*oFmjZGv zAQuC2H6WJ*ay=jy1ad_nmjrT6c-o5sxhg#EWr185$c2Gi8OWu9TpP&6fm|Kx|FeUG fL;nkBN3gv~9FCKyuFaxbL_1AmqPoU7{1p5%m}~}m diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Reykjavik b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Reykjavik deleted file mode 100644 index dc49c32470906fb2ff94fc599c73141597443f98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1188 zcmd7QPe_w-9LMqBnvSrDL7-$%-zYVZVEsW5ifFMq)DE#h)Ws1MBn2r&w;GlZ{UJTn zY1KFJ6#auhFm?!nL``d%wwBpnb83Gy%Vt^Y_kMQh(5X&64|`q@&$C_jd55>}*}cO2 zad_+#J{$r2;ocjymy?mB8f#o&&L@sHT&Ud=z1ZvaYN*~^YN=>wUR@S#Zav_=8!R?$ zYs#c8Rdl1hbiKCUDV0u7iFRJ`>%IOi={mJUyW`j8{$7thh&4)LQ(7O^U)7%S4t=!i zjP_P0q%TmTkLTT#WJySqQ)eYLXTPML9FnJlMcUuGO`dhHl7Xg!`utj<yr|o%FHdLW z)s9Miy)Pwi{PT4%7?-z;e&|p|Qq!}FWw`K`4v$RB$Ye}MI|k%k-(h`!`L=v$iRi}@ zO)_@QujAFn<kOKVnFy(Vu39HwR@Uj{+Qss9?oQ1t%$Ll>2A%pjB;R_L>i4u;r{e)J zGhDw<ciump`PuAf#QwMTaOGvQ<6~xK?wWhzyqLW?7&hfTpIPQxZZ_I`zU*>2?@ahF zM$F`XVzTyNOk_}GRAg9WTx4KmWMpVZJ2o;nGP<K39vR=!27pB1XhT3^K!QM`K*B)c zKmtJ`K|(=dL4rY|LBc`eakK#;5jonBkeHC5kf@NbkhqY*kjRkGkl2vmkm!)`kob@Q zkq8}ah)9e`kVuqBm`I#Rph%=hs7S0xut>B>xJbN6z(~Z7He@7bBxodR{BOc8u%-J7 FegQpVSd{<( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/South_Georgia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/South_Georgia deleted file mode 100644 index 56b383b16db1ec8394d33e31863e468ed4bbc9db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34$+|NnOnFfjc8|M&p|i;r&zgRTL@j1a=6 jF+)w{_yJ^q0MNkynQea$fY>0@8E_lVWdpRx&WH;D2q-0^ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/St_Helena b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/St_Helena deleted file mode 100644 index 6fd1af32daec193239ab6b472526fd3d6bdb2f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmWHE%1kq2zyM4@5fBCe7@MO3$eHwPk_Q9h|Nnn1KvF=!;^P~_;10wf5JG}!KfpQ| Q82$qRep9)C#v5<}0M)@5+W-In diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Stanley b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Atlantic/Stanley deleted file mode 100644 index 3649415bd14a3356419efd7340b430e645509e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1251 zcmd7RK}ge49KiAa(qUPL1_e%2XQilVKAp~V)1EnWEyGn_v_mr@G>E8Mr&&Qs5M<pu zR7h0Nt4oK5{K@Ikl2#FvMU13FK~Og{==HvT2&4{m?EQKF&*NSGjNf;C1H*?KtUp$s zxnZ-q&E~vr#Jnzt4}>Or2kcZJM@-d)?CJF%M7p3~rnO5wS`5mWcMEFvRk3_LF{Pf| z*K#g!N_ag#r1wQq6@E?mif$ef8=j5(iqCh6k{kO~>5+i+jkc+>Xo1`~RH`;rEy>Lh zmnvWNR#w!Ph>DLBveILT%IEWT)tC38`d-rBl1Yi0OIPe#H7>TE7_sXvjta5&pk06R zx@rg}q`&{HYAhO*O)W#J>3gSa_C{6nn{v7BTa9XYkSAMTS7(A_v)RzY?pWLL+u8Q3 zRk7^@GjVx(b*!WHR(!|c=U8Xqg?PB*X)L^SEZ$XiH`X=3CmzY4%S0xRW_NzNlZjsI z&F-2V%k-S7&nC3iuACLi9(S&JmS6na+3nVPCS_U9J6G$M8P`g!)3&un>xHaqEjO0A z;l5{gpS92ITH!al(d^&H*!TC*Mt+TU(HvOjm+0Yho+L7AWZcNek+CDAN5=1H5<oIQ zQb2M*l0dRR(%_rq;b;;;GC@*7azT<ovO&^8@<9?pGD1>9azc_qvT`(OA$d8P#E{I8 z)R5ee<dE!;^pO0J1d$Ap6p<W}B#|r~O`1rajwVqgQzTU+S0q^^TO?g1UnF59V<crH sXC!GPYe$ndlDDHt9Le0#q>ki{B#&f|q>l+ROY1-EKR;yt8}0u5pBDRd_W%F@ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/ACT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/ACT deleted file mode 100644 index aaed12ca284d69e3a8ba25891701790bde7f6743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 zcmds%TTGU99LK+J!U*z^<v1##W`ZFH6@x<a00=3D@^UPV08#AV3#4Kt{ya2lOG&$s z88f6AT~rvYX^urKH&zI&E;^9r=%!(9)J@6E?EiVzMOzo$wm#3E|L57e=Y6l<@5f(W zTeC?2AlQAv4M*I~^Hg(3+xj=#+Ir%C9`L`ff&P-f#k0jW*qIR+YH!eRb4*}TAj5*D z%v5kej0OLiZXwAxEab~*3!QewLO=N3!p8gTw%4OH`RngArRln+p8HtSHec55tsR=a zyjOQL9@3q$r!=FqMl=36sPOb$MNEFlB4<}yWdDAP_T^Y~XO+c_#@o#1Y@5{=X0dzP z?5^Y8iYsff**0WzR=uXVwLj|aIeRrPZ&35buWEimm*x*&R6^)cC3L;31!E1mxAiki z{G!DcHok31-F22+dc;zW6<X@1a$8iNW{a0)+LDbCmNqNamZnbF(i^h$m~f?E`ra}+ z$L#)|3--Xsh%!%)YT5Z7Eq~z?J$T}zR%|(~l?Tt;s_bU1u4=Qaq&F;kb(7@;uhp8l z6}INL4(0yvs`9=%q=))<YVFw?t?MjN{_$L`Z_d!eyBDY+P-Gh_a%^M4eO9<4-ux+1 zRumUz#nY}^@y(yCWc;#~UKz5o;a)56J!6lYyQD|o8q}uNkF@#4E<M)Ru8M6(^?2z4 zRpvIRD!p3O@kQDanWLKNb+*-4X<L6Ov~8nVR{MFHZST9so_H_9o;-D{J@v|jJ#ANQ zN8novY!6Xg*)`SYjj17HM9(A)XlGQ9c7?v9T@xp@d#pu`-<bA%TBm0}tkiSehwb@} zCfj>#hcz9juzmF#>=xf&*QB8Tz$G2N;Qq)uamE)Uz1*(Qzdx_b_iJT#7Du6<*L*%s z`Tu<<E$%gMC)d1hNH-k~;rlW%yYcL{gV~Q~w;{}qFk8ax39~7Fj$L841?<bS+ZbkN zp54|kd-LozhuIxwd%*sH4FWp^wg~JI*d(w^V4J``J-dwpI|a6i*{f%_S<G%dyX|83 zi`g({$Cxc+_6%$qvun(@fqerT2X^k+Z5`OVXSaD^_nzJMf&Bvwz;po90!$AuO~7;k z(*{f*Fpa=;0@DgiFFd<uV7lSiwFA=+OhYgo0a^m|1ZWD-6`(CZUoedUI)iBqrZ<@8 z0NwHI+5_|lXb{jLphZBBfF=Q50@?)h3DYP{r!cL;^a|4~Ot(C{c47L3X&9zsn3iFB z1~d)m8qhYNZ$RUK&H=3hdIvNQ=pN8MO#eK)24XshX(6VEm?mPnh-o9HkC;YcItjEA z=q1ohpqoHDfqr^+4Fx(1v=rzm&{UwSn6_g2ifJsSv-&@THjMBtOidxeiTSB1NvTOG MiTO)V^5U>R0gAQ*YybcN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Adelaide b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Adelaide deleted file mode 100644 index 4f331a87df4ed78be0d00b1a82b5c66c773069c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2238 zcmd7S|4&tQ9LMo<x!ibPN)Tg=G>9)5Qhd39IWWYFS5lHIgf{~M(p2z56rtf2P3g-W z?_zUiP4Aprr4iWbhg<`7ZjHI5qGFo%ZEcORjIGVAt*ou+^E|UHSAT%#?A*t>=WciR zhx>X48iFl_)_)F{dBVl9%Us;Y_L`RiE8l$ez=^EO<ALKcKGq!iaHL5;8uW%fez`{` z`Z7Y!POnDK$P`yihPr-TtTCQwjrlZP-SOY6d)TS57vIzCUrLi3KL1W;?2MAQqhk`^ zd|qZo4ogDWDVY`Omm5=uB(bhT690Nml8UP(>B4K8oZha<W2&<qew{torgJ9q_2#}R zO&Lwl)UAi~mVL)0tv;;jz2`Jz$wA2s{w%j<JR@@}&&q94Es~WzELjtuNVYp7+2iZ= z_NgAZBXU}E&g|9P{&|{rB&7M9E5x&>K?|DJYGGHY7A^AW{MuB#Gi9zWD719JpD|iI zCq;_Cn$nU#re)!YalPxyNhuxpK^7f9DP`dgWbyt1@osoS%AX$9B^A5Gx9*TG&3j!d zd||!YRV&LfTXorQhh_PN{Zjc^zuYsnT~>^ANY!Ao`1e)I%091DZz+(P&PKg=jbCeP z%5;@CUjv>ry)P|6SI>;n)ziP|{TI(`-Ph-|e&UoiyfdN?9Q{@rht5h<<XvgjVR<k# zC~G!GWNqEE^3d`gSy$XH>*qDfhGf6AB!slp5!BX84Z3l1g$7TTYTIb8w!f9C55E$x z9nV|(Nbe<mwDTM7Y>Sh}>Zhfv@+a9;GAWz0&&cC9os@3(+tU5}fNYuCE1@s?Wb6AO z={XjZZAV_z?FYm9#GY>5@l>ns?5fi!$Cc9=eGQzJwPUyWBU>*FIn2L09J%_w+_x%V zmHU<kc<gZSY6bp(BiEUaxH$Mm?&B`=&K%R`*p$?th}&j4JCW_!n*AUfvNbzGwuI~n z*%Y!XzLRYs`$9HmYj%cg&DQJ<*_^G}9kM-Sf5--r9U@yq_K0i}*(I_~WS_`JZOu-R zt=gKsBAc}}yG6EZYxaw57}+thWn|CDrjcDE+eY?{Y#iA+vUOzd$mVU$?vd@=n*AdU zKstc50O<kJ1f&Z{8<0LAjX*kqv;ye`(hOVE4Wu2mrXNT{kd7cNL3)BT1?dXX7Njpo zW01}utwDN&GzaMp(jHsWAEZG@hmaN_Jwlp<bO~t_(kG-*NT-liA-zJHg>(yPm#yg+ z(lDfBNXw9(Ax%TNhO`ao8`3zWb4cru-XYCHx`(t6=^xTSThl?Lg-8#PCL&!#+KBWK zX(ZA~q?Jf7k!B*@MB0h;6KSZe=_t}tq^C$zk**?bMf!>~7U?X~TFc>#x^hOlu7T6C zp8V1Njk~RAySZ+=xmVp+`AP1-y8BOftymuCmMkptkmMYHfhVsZ&y(Yy5BWv0e*=T+ B3P1n= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Brisbane b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Brisbane deleted file mode 100644 index a327d83b7696f39c01a9b5cdff1d4f0fd4b1f94d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmWHE%1kq2zyPd35fBCeK_CXP`5J)49KU6A=Il}Ua5`i&!|CJU1!uO0HJn{;S#WMa zF~j+G=>p~g%LW!+83t9)vka>5Uoog_u4hm`e}+Mmb0UN0`gIIUj8MqT0)Y$+{S`oS z8D?!@WMN?FS-`-F%=YmOVQ_SH0TIC=AZ3h<Ad(@3u(O4L%D~S40oK95@E-_@-p=O$ z(I9VtX`oj?G{`$(8t5eu4e}O<26+ucgS-c#L0$wI2l6I}26+_(K;8w@Kre#;$lG8V Y=yebPc^^yzgMeCLzy%5uT|)yd0M{6F@c;k- diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Broken_Hill b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Broken_Hill deleted file mode 100644 index 768b167857dd82807b5ef912be31518086c77141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2274 zcmbW%eN0t#9LMo<d5ABhBI=AZh=&+aJY2vW7$S(IBv%M;1_Y$}fPfTX;T26;$@rG7 zj7skuTc$Cv)m&Df&aE+*R8&mUves6VJ@6M%TUlGt@BLeIx%i87cJAxk%MQDL+|S!v zS+^;}`QH(2KH=hc&RpDwwV9W$Rd2l7bvp6NkoS}f4c7QR>aW(1d-8mr9BP%}jyPXn zQ=SG*kC))mI1T=7iH5j?G~}~b4GsT6L;C_XZ0vo#{^b~%cIkVWzB@o>oEVhwn#(fN ze^erJ&&n*{UYQ-;D|5;lWzOGE%iOFIxnbHqjf`#3$U)V4E|1RZsn_`<X?jyfu|^F< zX!Q0Ydh>yk5>wHxv27PMZs}o(ulq%AiQ6LyMHeJtY+MqP`Xq7qQ%MT-OVY7-<hIdP zx!r$Glh5zh6yIB#dfcaJ<u9qbvr^Nm*J(y`j%F?{&;@1DdPh`(F3fOr;a?$|H9tzS zwj8^Z_0_0m|2ZLxP7mpwUyevl_fN9;)EUWb|4^13?3TQZuS@=u1G=>ESt(e5M3<$$ zriBIVdRK6nERV0%<-Z@56+a%7qR;or-Ge)2Wq+d-_tc2zK#8pC$di(7=~CKMrT47$ zXjy5luFgwSuRBKXjfv1TGXr$Z#IJha*kvvM`l410pVi8D`}O`4-$_;P1*!JGCpFq9 z5BPdy?PkBMD}PEJT+u4)vl?W>tyQuy(j%K9d|K<O)7tS$-8`~V>(1q9{XmK~ycw-q zUJ2L6=N)~hZCoF2`c|9jXUHQJ6VhDtvuw>Ckw=rx%VRg5k(SW6rR9%q**3agd|!0P z_78m0da_P-9Dh-F9&XpiJ6m+u6Sca#xm*KW|DJ(CQ#@T$eQ>hp9B0=)^J{iq=yjQ& zcDw)D`}~5{UMIg`nU{}UE?yn)<U<KDf8yfkG#B@?ukg+s6Xw`DS2tiwQ1>^uV^&}j zG9;@R6EY~P85J@tWL(I=kdg7f85%M+WN=n9I%IfOGd^U1Rx?6mh{za`K_a6>hKY<5 z87MMRWT?nkk-=KcXp!L}<3$E+H6uobY&By>291mw88$L*WZ=lik)b1FM+T3K9vQyX zj2{Vr)kFXZfz`wS2?7!YBn(I#kU$`jKth4U0tp5Z4I~^$Jdl7`O+=88SWQf<CMZZ$ zkgy<eK>~wB1_=!k8zeYLbdc~M@j(KFL<k8H5+kb#5)vgOOh}xNKp~MrLWRT%2^JD9 zBwR?mkbof(Lqdkc%xZ#$L=6cW5;r7pNaT>vA+bY(heQtv9}+(#fJg+95F#-|f`~-X zYQl)b5eXy`NhFj=ERkR$(L}<D#1jc95>X_iNKBESB2l%Pup)6q0*gcz2`v&^B)CX) zk?<n%bzA{gBN%+$6wkn^J~-KPj<ctWZ}-e0C&;!q)V6qrZSght#U7L5Lfhm2MEPo# dO~|NqO7@~mH^ol&q`OnoQ{Bm)1(22*_78DE8g>8x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Canberra b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Canberra deleted file mode 100644 index aaed12ca284d69e3a8ba25891701790bde7f6743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 zcmds%TTGU99LK+J!U*z^<v1##W`ZFH6@x<a00=3D@^UPV08#AV3#4Kt{ya2lOG&$s z88f6AT~rvYX^urKH&zI&E;^9r=%!(9)J@6E?EiVzMOzo$wm#3E|L57e=Y6l<@5f(W zTeC?2AlQAv4M*I~^Hg(3+xj=#+Ir%C9`L`ff&P-f#k0jW*qIR+YH!eRb4*}TAj5*D z%v5kej0OLiZXwAxEab~*3!QewLO=N3!p8gTw%4OH`RngArRln+p8HtSHec55tsR=a zyjOQL9@3q$r!=FqMl=36sPOb$MNEFlB4<}yWdDAP_T^Y~XO+c_#@o#1Y@5{=X0dzP z?5^Y8iYsff**0WzR=uXVwLj|aIeRrPZ&35buWEimm*x*&R6^)cC3L;31!E1mxAiki z{G!DcHok31-F22+dc;zW6<X@1a$8iNW{a0)+LDbCmNqNamZnbF(i^h$m~f?E`ra}+ z$L#)|3--Xsh%!%)YT5Z7Eq~z?J$T}zR%|(~l?Tt;s_bU1u4=Qaq&F;kb(7@;uhp8l z6}INL4(0yvs`9=%q=))<YVFw?t?MjN{_$L`Z_d!eyBDY+P-Gh_a%^M4eO9<4-ux+1 zRumUz#nY}^@y(yCWc;#~UKz5o;a)56J!6lYyQD|o8q}uNkF@#4E<M)Ru8M6(^?2z4 zRpvIRD!p3O@kQDanWLKNb+*-4X<L6Ov~8nVR{MFHZST9so_H_9o;-D{J@v|jJ#ANQ zN8novY!6Xg*)`SYjj17HM9(A)XlGQ9c7?v9T@xp@d#pu`-<bA%TBm0}tkiSehwb@} zCfj>#hcz9juzmF#>=xf&*QB8Tz$G2N;Qq)uamE)Uz1*(Qzdx_b_iJT#7Du6<*L*%s z`Tu<<E$%gMC)d1hNH-k~;rlW%yYcL{gV~Q~w;{}qFk8ax39~7Fj$L841?<bS+ZbkN zp54|kd-LozhuIxwd%*sH4FWp^wg~JI*d(w^V4J``J-dwpI|a6i*{f%_S<G%dyX|83 zi`g({$Cxc+_6%$qvun(@fqerT2X^k+Z5`OVXSaD^_nzJMf&Bvwz;po90!$AuO~7;k z(*{f*Fpa=;0@DgiFFd<uV7lSiwFA=+OhYgo0a^m|1ZWD-6`(CZUoedUI)iBqrZ<@8 z0NwHI+5_|lXb{jLphZBBfF=Q50@?)h3DYP{r!cL;^a|4~Ot(C{c47L3X&9zsn3iFB z1~d)m8qhYNZ$RUK&H=3hdIvNQ=pN8MO#eK)24XshX(6VEm?mPnh-o9HkC;YcItjEA z=q1ohpqoHDfqr^+4Fx(1v=rzm&{UwSn6_g2ifJsSv-&@THjMBtOidxeiTSB1NvTOG MiTO)V^5U>R0gAQ*YybcN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Currie b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Currie deleted file mode 100644 index a3f6f29a49617167750848c71e463faf6f3974fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 zcmds%YfP1O9LK*$V8lr!%PAKnw317B058ZXB{e`$NsPlaMMC6anFm27%hPXWo?c{j zag$|Bq%nHqRJv#zi<oV$5m;OIG^1WLx>;K@otZtKXZ5NVy={G-J^#<yv*(;w=lcoN zv^37qKZtUkaKqEi&F6{c90xz@uowH2e;x|Fs-e@B!S_y7*l@2uIMUUoGvUNwM9^=M z6Q(JuG|{3i=2~>-Rg3;O!D3?1Tg>afoA<(?U4JNE<3IgU6GB%s@#Ncztv#n3I=eL~ zZ$LM8?AA?5hc&sXQIr38TvKw3G&N$C;$}2h+&9@u@Dy4??|MrdO|@y^0-HYQwWOvL zyZJz$lB+{D!$xf8(u2CC<$K*abEj@A9@eaJ>y(mqR4Ko{q0}EoE$zcjr4OI7+h5zE zj3YfZd;c2w_J%F9Jx^JiS}c2Qjm@dpqq&O~+Ps`*&7YoRIa8J^=c;VM#SG=1{o4G! zV|GXXJ9g(lx-IM()uKb=E$@j_x-0aPE#A<hCAII{(t@z=&g-*$-^*5zwBHJ&R%luD zaV`6;TSebKui{U3Yx(J|T5+OLD|;(da-c}}g#B8zJzb^2a$8+jX!n*bu(HLe7RZXX z@?@`7#9pzAYd=`!g>zPQe#ENJ3|P&;F}v^NS*>|xSZh1qQtgvRwXUN}b<NM}{;FN7 zFKW~J+y*tImTN;?p&BQ(T9c>Vntmy>=Fxm>`Cz_n9Gqnj9G_|r9=^^tJ#*O}vhQqj z@CyrWj8<#)C2c7lQ=9*DwWkefYka@9#T?PL%P(pB*gkc9W_tMDR_%DRUXS$cwMV-{ zw)45o7TQ&3k8N3Po^gL&5t09aOWO05^GDWGU5b=mIOd7@`{c>Wl7N;JlyT$-c+KPC zRN&utvd?+V-N_~Q8`3q0c3)&NW;dAaVD{tM*$`$&m@Q%UgxM57$F4Bj0`}$F*%)SL zuAQx6_U78z9A<Zz?E(7(HVEtx*dnk;V3WWufo%f&bnR>u*eS48V6U#7%>ui1?Q9pb zU(ALvJH~7ovu9w_m|bJG4eT4(IIweI>%iV!JDUe~kJ&!3e@p{_4q#dU^Z?TYpbMBb zVEO<w0@Deg6_{SQcAA0d2G9;nKQIl!bOh59peLB70A0bf1?UT=F+gW9t-<sL(;T2X zuATM({Q(*TbO>k>&?BHpK$n0v0e!+W3ezb}t1!L7Gz-%$*G{`I{lYX1(=klTFg*jB z26PQ*8_+kPaX{yQ)&ac(ng?_bXdkA3uAK&AI*4f@riYj&V!DWFBc_j-Mq)Y%v=Zng z&`hA4Ks$kcx^@~0bQEYQ&{LqPKvyws#q<@^SWIX2e+aFY`p(YIqQ4m>*;&49UsguR JJd`=t`zK#J`gs5V diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Darwin b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Darwin deleted file mode 100644 index c6ae9a7ba253089d4fcdb9668b70aaad20dc94ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmWHE%1kq2zyQoZ5fBCeP9O%cxf+1P9KW?o=Il}baXMrd$LZs76=$}`cAQ=AP;qWS z703B@r3xlSC}d!$n*dbLFnI+dD+5F83<d^A=im?^;SvH827(amR<i)5Ko|tLff&T* z`vKws!G9nq7Mm0SqN|0N3qUl;Nnjf2ED#NH8khz;4@85U2%<sG1koU;f@qL)85o(F pppb!~Y6Zv&ptFHi0-X)?H_+KEKE5DVqdFZJ7$6~CODkgoE&%?nVk!Ut diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Eucla b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Eucla deleted file mode 100644 index 99f07a9fe53bfa85ef4c41f90dfbae413aaf12e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 503 zcmWHE%1kq2zyPd35fBCe5g-P!1sZ_F9KRg~bM_duoDMlM<@E7PmNVNkM9wbvX5r-j zD8jjoPeh6_LPTnLsfea(kcj5`{Zm{Ew@h(kjhW)ETqNTDu2RI4IYh+sT(n62|NsA) z7{QR41p!$Y7%DCRtzqbtVFa?Pc^J5m**?A@4B7^kCZ<5r0!RV@BO{1p2qEkbQJ^xg zKYoC9Ffag}@V{gk*9H&`@)wu}`VB;b{0F9iegx4Ve}ZU`UqRYI{sq%OKZ9tHzri%n z?;slFe=rRU0}u@g2M`Sk3lI$o4=@c36A%pw7cdPB8xUO&w2Oh70mNkk4l+Ak3o8>- FE&u@na1;Ol diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Hobart b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Hobart deleted file mode 100644 index 07784ce5d751f040ba7ab43713f32cb92ce9afb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2335 zcmds%YfM&k9LK*8ml5P8%PAm`S_v2;ctJ?TOMsw~7>@{~NQhi4^Fa{F^659Vp4MWO zxnS86ZH(SHkS^NhBC?G&0&DA@=BTztH*0IAL!|RLt5?0~ZR>M({-3k6^Spb$A8%=G z)ja)!Q0EOdyx`nCPcY{=@=24ubY}Xm{odEq-?!2C!Koq}=*aL5w$<xgV482_-DX|u z_G`4SMAsX;Y^-CkRCLHZfmj7C>r}8W!$QW#D70Xjg<ej#u(_ia_Gz?*PrPX1Z(Os8 zOTBjE(I}1k{A-Q(k7&Z_cQmo=f^KR(u1T3ay1D6~Zizdl$;DNgeEoo?q~~gC@H$1# zsI<s$Qx)yWvFMJiHf<=uVglI~+Z$nV)$w*~OSh(%_-%#_+RT+lbX)C@x_#z8-H|t- zSwUMApV+DR-``Zi&qJ2@ajRwzoV7b&->ak(?KbD|CM7oqY;HrQQg+l@>gH0LSM-GD zFI{2_(rUCYHqO$ftXA5nY|-T;rJw)CGCGFst~2l1;-1;Iq<u(BkB+m<$Ioh+{})@n ztz9e1KD3qD0o|S1ZCS~$Sa#fD%L!ehRbeN!>W|~f{r-97eRfc*`*v&1sVc4Q*r@!L zT-_7M(7HXdRp8rT>&tWO-hxF|xIDqUDN(jzdW02C9I>LYpKRl$3s!t_&`QqrSZPm} z-FN!DHoZEa&8=^%?8#1TX=+n>&2zfHc)u!g>$Nq#Qk4lCv@J46Rg>zh+EZcGzZF`| zP?ptxw9vNq&awwiPPGS*-C#SOy=o8H54O|ymHD=ZsjlRTcI6GLKI2O@B=&1})EPB~ zpHSn~m$hg388v-jdiec1?R~34k90TNqsRTW@6b;3?=QE<cC9y0&|g<@$baaPo{Dk) z@OrvUA<~Oop76g<-mJ~{YDIP-N0yh*JRVMY|9wv_&S&nPuDHLD#vB@w^&Mtkn2lj} z=GxgBW^b6yVRnbv9%g@-4PthP-7WIK9>LipVwb=+fqh~&3hdOivsKJqT|1k_?AEoj zUCe$l8wPd^Y#G=yuxVh|z_x*X0~-f+?%LTpuy<hd!0uf;+XwdV+Gzl$1DF<IdVpyH zrVBtDFnz!@0_X(L3ZNH2Gk|WmcG>~-1Je+oBbb%|J;5{u=nAGSKwmJ8!E^>_4W>6h zb1>a;?X(BeAD}^)4q;k^=@F($K$kFW0{Vn$6woP5tAJi%nuX~Wrd>e4TssW|ItH{1 z=o!#7pld+efW85Z13HIk9j14f=3%;rX&<J4uAK&AI*4f@riYj&V!8;l5$Ge(NT8EI zD}i1D%>=p$v=itj&`?ZAT{|ts^c2%nOjj{&#q<@^SWIUzt;O^fXfDuQpuIqUfd&H| zcI~tn=rPb_pvyp;fj(mzjp;O|)tFxE{}k*9Dn2JQg^nlXr=}#QCZ{CjFF<qWNBjwi Cm?|a! diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/LHI b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/LHI deleted file mode 100644 index 57597b0b9743475c547021ff8cdaa0049729d0e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1889 zcmdVaT}ah;9LMqhnRQ_o>wzXdtjr!Tm!19pS#fM?R<p9HH9a$}td?cx*u#EV=C`LM z#byt(MPW%7TLobZ#>z=q)K<ih5fPJE^gv}@gmlp_3Hk-Gv)}uVcU^QBbPk@^IpVnx zzVA<XQM6`~^TuPK{S7}nHrXHECpFra;s4b<ObF$hgeUtViD^}m*tIs29GEW2Z6%SE zo;3Nm$&HM-5+@_K{Gd{g{9;B`DwWpQC8K9H>oL*CX6)$odR*aOX56#8Iz6M!q~Ext zGvfD}jNg9NpY*OV6Iw5-%<erhQGQav_FDP0qEWdAi^QucQj_X}l9d}&lS_xllo3PJ zRIg8_zV1_@ln+hl-c6O=_DH5(JgYvt(`|B2cI(^=9VYL)4n6(oVUxe=u%5B|cbQor zdRBFdd>(931+yAt_P`uHXH2Ecd3i|BeX`#a-m2I0y4IO5&MnkMZSzg>k!)Sk<eB*m zDSCk_kuR5rROtd&%JP#{*c~QcrM_0>gI`E_?7mv~>|d#Pa9LH}=#)i&o=}TBZ<-~i z{?JveXU)<*$MiC3HOnKr^w$+z&5F4zb#-WoSvh{TUX_?<YKB&;)q%yb`gwth^yEtP zpLA7wB~{j(iC1fn2V~uWr)quUWBEp1S1KAa8!CHsU15*en0-xe%D8IklYZ5k<4>B+ zuYS}Gy-h}LZ_r!*j+(9K%k;MP?`8W5rFI;Q$hW&n)y}$kvNINo1>!#Fe-4OyN6!I{ z(=yhck<)z4vG0#}2I3v(&?#rI;~YI5_^7Bj?93=A3p*1$FUz&BuK()sjs8dY?FU<L z|I|NN)Bhd&zs5EuG~DAO2aFuCuRUbsn0@U*BS-CP4;wjd<iL?5M-Cl1cI4oZqel)O zIesJnBm!R>0uqC-4FZY6*M@<_fdqm?f`o#^f&_y^gM@>`g9L;`goK2|<ZFXMqVlz2 zA#ovrA(0`WA+aIBA<-e>A@LyrA`v1XA~7OCB2oI<Fp)TsK#@q1P?1=XV3BB%aFKYC zfRTuikdc^?ppmG3ZP-ZMNZ?51Na#rHNbpGXNcc$n$N(TCfD8dL2FM^Fqks$pG7i3W zAdrzjh5{K2WH6A?K!yVu4`e`)5kZCo853kskWoQ~1sNA#J21$|AVY(U4Kg^$=pe&` tj1MwE$O!q`Hl6o!i3a8P`;<4)bEjpw_Je2NdYQ$Z8}x#1X7OYg^gr4}_uv2k diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lindeman b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lindeman deleted file mode 100644 index 71ca143f29f2e5799b865478d05a0e88465d92f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmWHE%1kq2zyPd35fBCeF(3x9`5J)49KU6A=Il}Ua5`i&!|CJU1!uO0HJn{;S#WMa zF~j+G=>p~g%LW!+83t9)vka>5Uoog_u4hm`e}+Mmb0UN0`gIIi0T~apUKTTG&p6ef zbE&^Uw_;5L6C)Hdvp^sdh+<&qUIVm{Vb%slAiHM)11B=u$2Ww*(bWY+1c!i>F*1Tk zh7iL35eF&*`{xH(2Lr=@ASimf=n9Ai`43D3{RpB#{shxNzk+Cxe?c_J&mbD)Zx9Xg zJIFYY|3Ne;3_t)B4qzG>79ao$4=@c36A%D}3z!Cm4G4h32TTLQ2n0ak1foG<1)@RW Q#X!vf;{pYsuAu=J0Hh0uumAu6 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lord_Howe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Lord_Howe deleted file mode 100644 index 57597b0b9743475c547021ff8cdaa0049729d0e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1889 zcmdVaT}ah;9LMqhnRQ_o>wzXdtjr!Tm!19pS#fM?R<p9HH9a$}td?cx*u#EV=C`LM z#byt(MPW%7TLobZ#>z=q)K<ih5fPJE^gv}@gmlp_3Hk-Gv)}uVcU^QBbPk@^IpVnx zzVA<XQM6`~^TuPK{S7}nHrXHECpFra;s4b<ObF$hgeUtViD^}m*tIs29GEW2Z6%SE zo;3Nm$&HM-5+@_K{Gd{g{9;B`DwWpQC8K9H>oL*CX6)$odR*aOX56#8Iz6M!q~Ext zGvfD}jNg9NpY*OV6Iw5-%<erhQGQav_FDP0qEWdAi^QucQj_X}l9d}&lS_xllo3PJ zRIg8_zV1_@ln+hl-c6O=_DH5(JgYvt(`|B2cI(^=9VYL)4n6(oVUxe=u%5B|cbQor zdRBFdd>(931+yAt_P`uHXH2Ecd3i|BeX`#a-m2I0y4IO5&MnkMZSzg>k!)Sk<eB*m zDSCk_kuR5rROtd&%JP#{*c~QcrM_0>gI`E_?7mv~>|d#Pa9LH}=#)i&o=}TBZ<-~i z{?JveXU)<*$MiC3HOnKr^w$+z&5F4zb#-WoSvh{TUX_?<YKB&;)q%yb`gwth^yEtP zpLA7wB~{j(iC1fn2V~uWr)quUWBEp1S1KAa8!CHsU15*en0-xe%D8IklYZ5k<4>B+ zuYS}Gy-h}LZ_r!*j+(9K%k;MP?`8W5rFI;Q$hW&n)y}$kvNINo1>!#Fe-4OyN6!I{ z(=yhck<)z4vG0#}2I3v(&?#rI;~YI5_^7Bj?93=A3p*1$FUz&BuK()sjs8dY?FU<L z|I|NN)Bhd&zs5EuG~DAO2aFuCuRUbsn0@U*BS-CP4;wjd<iL?5M-Cl1cI4oZqel)O zIesJnBm!R>0uqC-4FZY6*M@<_fdqm?f`o#^f&_y^gM@>`g9L;`goK2|<ZFXMqVlz2 zA#ovrA(0`WA+aIBA<-e>A@LyrA`v1XA~7OCB2oI<Fp)TsK#@q1P?1=XV3BB%aFKYC zfRTuikdc^?ppmG3ZP-ZMNZ?51Na#rHNbpGXNcc$n$N(TCfD8dL2FM^Fqks$pG7i3W zAdrzjh5{K2WH6A?K!yVu4`e`)5kZCo853kskWoQ~1sNA#J21$|AVY(U4Kg^$=pe&` tj1MwE$O!q`Hl6o!i3a8P`;<4)bEjpw_Je2NdYQ$Z8}x#1X7OYg^gr4}_uv2k diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Melbourne b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Melbourne deleted file mode 100644 index ec8dfe038c2d10aed29763ef8f664c8f0cd35c8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 zcmds%TTGU99LK+}!U#&qa>zjmwG<3Fs2G%z2S7+Ml$T?v1c+h>UqA&b>6eGmMM_$m z%$Oq0=%T`CO>-<_wXs5Eb<u$|M>j^bSvMs!v;XH=7j0d1+xk3v{-0;>p7*_azaM{j zZOsDxgJAawHym;|&y&p^?Q36eZ|{x!dC>o^1_w$4=g$<|P*+CaLPvv!TVete0~r=H zX}W?7Vl4RAbPGwoVIf~cTWI)Y3w`f*3%lBHx1Na7ZC`z>NzK<a`Rs=Z-*`#4w{>bt zW}oh8+OIofPiksuji&ywPZ8<4inwyZB4<`x<iPV5?aQ&~t}2TejkoD7**2p;%wl)9 z+g(R{6j#=4GaFygtQD_ncI}V4d)6M^lQ*O}6E<mXLbv7)pI1WYVI_3Gt$AY&y0`69 zOZ>dm<~O}*Nj-IzydzU7M+z-<L%A)ePqT$fm)N59(=2U9tSwF*x5YPP=`j&XzxbVH zbdA~ly&u~HBO_XJYE(<l^(yngM|$wsaV^_?O3U}1vlZDbT3OX@SxK*1_R40<30|#L zvny=XZ=K4$^0M;2+^>fQc53yR8m;LnQU1|ft!>HB!;SM)5Gb;B6*;!P;65u{7H|HP zC@YE!v*PgUR($g(E4g~fN-tlqvf(}}?>lXeoV}<=-x$({why%Ng>G$X>QKej!+NZA zuPSpJRFz(>>i8mUj?7WblsenutF$e@6x!C&EUW!2&9?Q=vB%$;W>1{F#h!d=+@7)@ zY<u7v3v3HfUD-9&=Z&c$V?;X=2DLM)SGz*r(ysC2Y8-1-)7PfmpVaB;_bc^G&p~^( zv)T3>*>25yE9|-YbvD8G*EKQdKX6Gc-@8Auj-B=eNiTLN^zYAW^8H$#oyAe;=QW>? zQ~rP7NvnI!+sQTW8`4cjL&Skd%x*lp?O^uf*=-23Bg~dCd%|prpJP{;Z2|l8>^6qk znP;~(%-%e^&0%(j*&eVzV1vL8fh_`i1U3om64)lNPtR_nz)n58tz!1-*=-iHThDI0 znEhfljM*_}%a}a_o5t)K*fy|lVB^5ffvp33_v|(g?B286KCpkF0hkV8T7c;RrU^h7 zFm1r}0n-RfCorwR^un`i2BsUHT{|%Sz%&HY5uhbNPk^QXT>;tx^aaxxpfi}(V0wdT z4$vLXu0241fCd2_0$K$02xt<}C7?|}pD>NWbPCfdOs_D_!gR~CYZs<pn1*3GhG`k5 zXF$_{t^sWW`UW%(=p4{Gpm#v?fbIe9!}QOyYaphBm=<Dsh-o6Gi<mZI`iN;HrjtM` zfnEa51iA^d6X>UB*HECNKudw10!;<FifJpRub9SSI;;OfXu}Ba{L~a8oS2`Ql9Za1 Ml9;~;B`*y76Gy`Te*gdg diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/NSW b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/NSW deleted file mode 100644 index aaed12ca284d69e3a8ba25891701790bde7f6743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 zcmds%TTGU99LK+J!U*z^<v1##W`ZFH6@x<a00=3D@^UPV08#AV3#4Kt{ya2lOG&$s z88f6AT~rvYX^urKH&zI&E;^9r=%!(9)J@6E?EiVzMOzo$wm#3E|L57e=Y6l<@5f(W zTeC?2AlQAv4M*I~^Hg(3+xj=#+Ir%C9`L`ff&P-f#k0jW*qIR+YH!eRb4*}TAj5*D z%v5kej0OLiZXwAxEab~*3!QewLO=N3!p8gTw%4OH`RngArRln+p8HtSHec55tsR=a zyjOQL9@3q$r!=FqMl=36sPOb$MNEFlB4<}yWdDAP_T^Y~XO+c_#@o#1Y@5{=X0dzP z?5^Y8iYsff**0WzR=uXVwLj|aIeRrPZ&35buWEimm*x*&R6^)cC3L;31!E1mxAiki z{G!DcHok31-F22+dc;zW6<X@1a$8iNW{a0)+LDbCmNqNamZnbF(i^h$m~f?E`ra}+ z$L#)|3--Xsh%!%)YT5Z7Eq~z?J$T}zR%|(~l?Tt;s_bU1u4=Qaq&F;kb(7@;uhp8l z6}INL4(0yvs`9=%q=))<YVFw?t?MjN{_$L`Z_d!eyBDY+P-Gh_a%^M4eO9<4-ux+1 zRumUz#nY}^@y(yCWc;#~UKz5o;a)56J!6lYyQD|o8q}uNkF@#4E<M)Ru8M6(^?2z4 zRpvIRD!p3O@kQDanWLKNb+*-4X<L6Ov~8nVR{MFHZST9so_H_9o;-D{J@v|jJ#ANQ zN8novY!6Xg*)`SYjj17HM9(A)XlGQ9c7?v9T@xp@d#pu`-<bA%TBm0}tkiSehwb@} zCfj>#hcz9juzmF#>=xf&*QB8Tz$G2N;Qq)uamE)Uz1*(Qzdx_b_iJT#7Du6<*L*%s z`Tu<<E$%gMC)d1hNH-k~;rlW%yYcL{gV~Q~w;{}qFk8ax39~7Fj$L841?<bS+ZbkN zp54|kd-LozhuIxwd%*sH4FWp^wg~JI*d(w^V4J``J-dwpI|a6i*{f%_S<G%dyX|83 zi`g({$Cxc+_6%$qvun(@fqerT2X^k+Z5`OVXSaD^_nzJMf&Bvwz;po90!$AuO~7;k z(*{f*Fpa=;0@DgiFFd<uV7lSiwFA=+OhYgo0a^m|1ZWD-6`(CZUoedUI)iBqrZ<@8 z0NwHI+5_|lXb{jLphZBBfF=Q50@?)h3DYP{r!cL;^a|4~Ot(C{c47L3X&9zsn3iFB z1~d)m8qhYNZ$RUK&H=3hdIvNQ=pN8MO#eK)24XshX(6VEm?mPnh-o9HkC;YcItjEA z=q1ohpqoHDfqr^+4Fx(1v=rzm&{UwSn6_g2ifJsSv-&@THjMBtOidxeiTSB1NvTOG MiTO)V^5U>R0gAQ*YybcN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/North b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/North deleted file mode 100644 index c6ae9a7ba253089d4fcdb9668b70aaad20dc94ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmWHE%1kq2zyQoZ5fBCeP9O%cxf+1P9KW?o=Il}baXMrd$LZs76=$}`cAQ=AP;qWS z703B@r3xlSC}d!$n*dbLFnI+dD+5F83<d^A=im?^;SvH827(amR<i)5Ko|tLff&T* z`vKws!G9nq7Mm0SqN|0N3qUl;Nnjf2ED#NH8khz;4@85U2%<sG1koU;f@qL)85o(F pppb!~Y6Zv&ptFHi0-X)?H_+KEKE5DVqdFZJ7$6~CODkgoE&%?nVk!Ut diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Perth b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Perth deleted file mode 100644 index 85c26d509a81d77ebfd6525b4777ed32cd6c9e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmWHE%1kq2zyPd35fBCeVIT&v`5J)49KS<*=IpT*I303c;q>w131_w!EjYV8bOI;; z?**LOBo;_9CM}R!UcW$7HD-b4`cn$7h5HrUSko2Um1`EbziVFL$sD)9^IYlzCPpx1 zW<fv(hMYM-8yM;)FtRW(6f`h!BC~ybLl_*xT|h)|2uK+tBZy=OA?yJWpfa!ret>l_ zF#HFCl4W8~Ks3lhU>fKt5DoGem<D<dM1wpCqCuVnX$N@}Oana&qCp-8(?CyyXpqOj qG|=-P8WaE^8Wad18Wa#<8W<QL8WbR48W<=HR0|a@P$=nIZ~*{&uy;lP diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Queensland b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Queensland deleted file mode 100644 index a327d83b7696f39c01a9b5cdff1d4f0fd4b1f94d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmWHE%1kq2zyPd35fBCeK_CXP`5J)49KU6A=Il}Ua5`i&!|CJU1!uO0HJn{;S#WMa zF~j+G=>p~g%LW!+83t9)vka>5Uoog_u4hm`e}+Mmb0UN0`gIIUj8MqT0)Y$+{S`oS z8D?!@WMN?FS-`-F%=YmOVQ_SH0TIC=AZ3h<Ad(@3u(O4L%D~S40oK95@E-_@-p=O$ z(I9VtX`oj?G{`$(8t5eu4e}O<26+ucgS-c#L0$wI2l6I}26+_(K;8w@Kre#;$lG8V Y=yebPc^^yzgMeCLzy%5uT|)yd0M{6F@c;k- diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/South b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/South deleted file mode 100644 index 4f331a87df4ed78be0d00b1a82b5c66c773069c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2238 zcmd7S|4&tQ9LMo<x!ibPN)Tg=G>9)5Qhd39IWWYFS5lHIgf{~M(p2z56rtf2P3g-W z?_zUiP4Aprr4iWbhg<`7ZjHI5qGFo%ZEcORjIGVAt*ou+^E|UHSAT%#?A*t>=WciR zhx>X48iFl_)_)F{dBVl9%Us;Y_L`RiE8l$ez=^EO<ALKcKGq!iaHL5;8uW%fez`{` z`Z7Y!POnDK$P`yihPr-TtTCQwjrlZP-SOY6d)TS57vIzCUrLi3KL1W;?2MAQqhk`^ zd|qZo4ogDWDVY`Omm5=uB(bhT690Nml8UP(>B4K8oZha<W2&<qew{torgJ9q_2#}R zO&Lwl)UAi~mVL)0tv;;jz2`Jz$wA2s{w%j<JR@@}&&q94Es~WzELjtuNVYp7+2iZ= z_NgAZBXU}E&g|9P{&|{rB&7M9E5x&>K?|DJYGGHY7A^AW{MuB#Gi9zWD719JpD|iI zCq;_Cn$nU#re)!YalPxyNhuxpK^7f9DP`dgWbyt1@osoS%AX$9B^A5Gx9*TG&3j!d zd||!YRV&LfTXorQhh_PN{Zjc^zuYsnT~>^ANY!Ao`1e)I%091DZz+(P&PKg=jbCeP z%5;@CUjv>ry)P|6SI>;n)ziP|{TI(`-Ph-|e&UoiyfdN?9Q{@rht5h<<XvgjVR<k# zC~G!GWNqEE^3d`gSy$XH>*qDfhGf6AB!slp5!BX84Z3l1g$7TTYTIb8w!f9C55E$x z9nV|(Nbe<mwDTM7Y>Sh}>Zhfv@+a9;GAWz0&&cC9os@3(+tU5}fNYuCE1@s?Wb6AO z={XjZZAV_z?FYm9#GY>5@l>ns?5fi!$Cc9=eGQzJwPUyWBU>*FIn2L09J%_w+_x%V zmHU<kc<gZSY6bp(BiEUaxH$Mm?&B`=&K%R`*p$?th}&j4JCW_!n*AUfvNbzGwuI~n z*%Y!XzLRYs`$9HmYj%cg&DQJ<*_^G}9kM-Sf5--r9U@yq_K0i}*(I_~WS_`JZOu-R zt=gKsBAc}}yG6EZYxaw57}+thWn|CDrjcDE+eY?{Y#iA+vUOzd$mVU$?vd@=n*AdU zKstc50O<kJ1f&Z{8<0LAjX*kqv;ye`(hOVE4Wu2mrXNT{kd7cNL3)BT1?dXX7Njpo zW01}utwDN&GzaMp(jHsWAEZG@hmaN_Jwlp<bO~t_(kG-*NT-liA-zJHg>(yPm#yg+ z(lDfBNXw9(Ax%TNhO`ao8`3zWb4cru-XYCHx`(t6=^xTSThl?Lg-8#PCL&!#+KBWK zX(ZA~q?Jf7k!B*@MB0h;6KSZe=_t}tq^C$zk**?bMf!>~7U?X~TFc>#x^hOlu7T6C zp8V1Njk~RAySZ+=xmVp+`AP1-y8BOftymuCmMkptkmMYHfhVsZ&y(Yy5BWv0e*=T+ B3P1n= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Sydney b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Sydney deleted file mode 100644 index aaed12ca284d69e3a8ba25891701790bde7f6743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 zcmds%TTGU99LK+J!U*z^<v1##W`ZFH6@x<a00=3D@^UPV08#AV3#4Kt{ya2lOG&$s z88f6AT~rvYX^urKH&zI&E;^9r=%!(9)J@6E?EiVzMOzo$wm#3E|L57e=Y6l<@5f(W zTeC?2AlQAv4M*I~^Hg(3+xj=#+Ir%C9`L`ff&P-f#k0jW*qIR+YH!eRb4*}TAj5*D z%v5kej0OLiZXwAxEab~*3!QewLO=N3!p8gTw%4OH`RngArRln+p8HtSHec55tsR=a zyjOQL9@3q$r!=FqMl=36sPOb$MNEFlB4<}yWdDAP_T^Y~XO+c_#@o#1Y@5{=X0dzP z?5^Y8iYsff**0WzR=uXVwLj|aIeRrPZ&35buWEimm*x*&R6^)cC3L;31!E1mxAiki z{G!DcHok31-F22+dc;zW6<X@1a$8iNW{a0)+LDbCmNqNamZnbF(i^h$m~f?E`ra}+ z$L#)|3--Xsh%!%)YT5Z7Eq~z?J$T}zR%|(~l?Tt;s_bU1u4=Qaq&F;kb(7@;uhp8l z6}INL4(0yvs`9=%q=))<YVFw?t?MjN{_$L`Z_d!eyBDY+P-Gh_a%^M4eO9<4-ux+1 zRumUz#nY}^@y(yCWc;#~UKz5o;a)56J!6lYyQD|o8q}uNkF@#4E<M)Ru8M6(^?2z4 zRpvIRD!p3O@kQDanWLKNb+*-4X<L6Ov~8nVR{MFHZST9so_H_9o;-D{J@v|jJ#ANQ zN8novY!6Xg*)`SYjj17HM9(A)XlGQ9c7?v9T@xp@d#pu`-<bA%TBm0}tkiSehwb@} zCfj>#hcz9juzmF#>=xf&*QB8Tz$G2N;Qq)uamE)Uz1*(Qzdx_b_iJT#7Du6<*L*%s z`Tu<<E$%gMC)d1hNH-k~;rlW%yYcL{gV~Q~w;{}qFk8ax39~7Fj$L841?<bS+ZbkN zp54|kd-LozhuIxwd%*sH4FWp^wg~JI*d(w^V4J``J-dwpI|a6i*{f%_S<G%dyX|83 zi`g({$Cxc+_6%$qvun(@fqerT2X^k+Z5`OVXSaD^_nzJMf&Bvwz;po90!$AuO~7;k z(*{f*Fpa=;0@DgiFFd<uV7lSiwFA=+OhYgo0a^m|1ZWD-6`(CZUoedUI)iBqrZ<@8 z0NwHI+5_|lXb{jLphZBBfF=Q50@?)h3DYP{r!cL;^a|4~Ot(C{c47L3X&9zsn3iFB z1~d)m8qhYNZ$RUK&H=3hdIvNQ=pN8MO#eK)24XshX(6VEm?mPnh-o9HkC;YcItjEA z=q1ohpqoHDfqr^+4Fx(1v=rzm&{UwSn6_g2ifJsSv-&@THjMBtOidxeiTSB1NvTOG MiTO)V^5U>R0gAQ*YybcN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Tasmania b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Tasmania deleted file mode 100644 index 07784ce5d751f040ba7ab43713f32cb92ce9afb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2335 zcmds%YfM&k9LK*8ml5P8%PAm`S_v2;ctJ?TOMsw~7>@{~NQhi4^Fa{F^659Vp4MWO zxnS86ZH(SHkS^NhBC?G&0&DA@=BTztH*0IAL!|RLt5?0~ZR>M({-3k6^Spb$A8%=G z)ja)!Q0EOdyx`nCPcY{=@=24ubY}Xm{odEq-?!2C!Koq}=*aL5w$<xgV482_-DX|u z_G`4SMAsX;Y^-CkRCLHZfmj7C>r}8W!$QW#D70Xjg<ej#u(_ia_Gz?*PrPX1Z(Os8 zOTBjE(I}1k{A-Q(k7&Z_cQmo=f^KR(u1T3ay1D6~Zizdl$;DNgeEoo?q~~gC@H$1# zsI<s$Qx)yWvFMJiHf<=uVglI~+Z$nV)$w*~OSh(%_-%#_+RT+lbX)C@x_#z8-H|t- zSwUMApV+DR-``Zi&qJ2@ajRwzoV7b&->ak(?KbD|CM7oqY;HrQQg+l@>gH0LSM-GD zFI{2_(rUCYHqO$ftXA5nY|-T;rJw)CGCGFst~2l1;-1;Iq<u(BkB+m<$Ioh+{})@n ztz9e1KD3qD0o|S1ZCS~$Sa#fD%L!ehRbeN!>W|~f{r-97eRfc*`*v&1sVc4Q*r@!L zT-_7M(7HXdRp8rT>&tWO-hxF|xIDqUDN(jzdW02C9I>LYpKRl$3s!t_&`QqrSZPm} z-FN!DHoZEa&8=^%?8#1TX=+n>&2zfHc)u!g>$Nq#Qk4lCv@J46Rg>zh+EZcGzZF`| zP?ptxw9vNq&awwiPPGS*-C#SOy=o8H54O|ymHD=ZsjlRTcI6GLKI2O@B=&1})EPB~ zpHSn~m$hg388v-jdiec1?R~34k90TNqsRTW@6b;3?=QE<cC9y0&|g<@$baaPo{Dk) z@OrvUA<~Oop76g<-mJ~{YDIP-N0yh*JRVMY|9wv_&S&nPuDHLD#vB@w^&Mtkn2lj} z=GxgBW^b6yVRnbv9%g@-4PthP-7WIK9>LipVwb=+fqh~&3hdOivsKJqT|1k_?AEoj zUCe$l8wPd^Y#G=yuxVh|z_x*X0~-f+?%LTpuy<hd!0uf;+XwdV+Gzl$1DF<IdVpyH zrVBtDFnz!@0_X(L3ZNH2Gk|WmcG>~-1Je+oBbb%|J;5{u=nAGSKwmJ8!E^>_4W>6h zb1>a;?X(BeAD}^)4q;k^=@F($K$kFW0{Vn$6woP5tAJi%nuX~Wrd>e4TssW|ItH{1 z=o!#7pld+efW85Z13HIk9j14f=3%;rX&<J4uAK&AI*4f@riYj&V!8;l5$Ge(NT8EI zD}i1D%>=p$v=itj&`?ZAT{|ts^c2%nOjj{&#q<@^SWIUzt;O^fXfDuQpuIqUfd&H| zcI~tn=rPb_pvyp;fj(mzjp;O|)tFxE{}k*9Dn2JQg^nlXr=}#QCZ{CjFF<qWNBjwi Cm?|a! diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Victoria b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Victoria deleted file mode 100644 index ec8dfe038c2d10aed29763ef8f664c8f0cd35c8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2223 zcmds%TTGU99LK+}!U#&qa>zjmwG<3Fs2G%z2S7+Ml$T?v1c+h>UqA&b>6eGmMM_$m z%$Oq0=%T`CO>-<_wXs5Eb<u$|M>j^bSvMs!v;XH=7j0d1+xk3v{-0;>p7*_azaM{j zZOsDxgJAawHym;|&y&p^?Q36eZ|{x!dC>o^1_w$4=g$<|P*+CaLPvv!TVete0~r=H zX}W?7Vl4RAbPGwoVIf~cTWI)Y3w`f*3%lBHx1Na7ZC`z>NzK<a`Rs=Z-*`#4w{>bt zW}oh8+OIofPiksuji&ywPZ8<4inwyZB4<`x<iPV5?aQ&~t}2TejkoD7**2p;%wl)9 z+g(R{6j#=4GaFygtQD_ncI}V4d)6M^lQ*O}6E<mXLbv7)pI1WYVI_3Gt$AY&y0`69 zOZ>dm<~O}*Nj-IzydzU7M+z-<L%A)ePqT$fm)N59(=2U9tSwF*x5YPP=`j&XzxbVH zbdA~ly&u~HBO_XJYE(<l^(yngM|$wsaV^_?O3U}1vlZDbT3OX@SxK*1_R40<30|#L zvny=XZ=K4$^0M;2+^>fQc53yR8m;LnQU1|ft!>HB!;SM)5Gb;B6*;!P;65u{7H|HP zC@YE!v*PgUR($g(E4g~fN-tlqvf(}}?>lXeoV}<=-x$({why%Ng>G$X>QKej!+NZA zuPSpJRFz(>>i8mUj?7WblsenutF$e@6x!C&EUW!2&9?Q=vB%$;W>1{F#h!d=+@7)@ zY<u7v3v3HfUD-9&=Z&c$V?;X=2DLM)SGz*r(ysC2Y8-1-)7PfmpVaB;_bc^G&p~^( zv)T3>*>25yE9|-YbvD8G*EKQdKX6Gc-@8Auj-B=eNiTLN^zYAW^8H$#oyAe;=QW>? zQ~rP7NvnI!+sQTW8`4cjL&Skd%x*lp?O^uf*=-23Bg~dCd%|prpJP{;Z2|l8>^6qk znP;~(%-%e^&0%(j*&eVzV1vL8fh_`i1U3om64)lNPtR_nz)n58tz!1-*=-iHThDI0 znEhfljM*_}%a}a_o5t)K*fy|lVB^5ffvp33_v|(g?B286KCpkF0hkV8T7c;RrU^h7 zFm1r}0n-RfCorwR^un`i2BsUHT{|%Sz%&HY5uhbNPk^QXT>;tx^aaxxpfi}(V0wdT z4$vLXu0241fCd2_0$K$02xt<}C7?|}pD>NWbPCfdOs_D_!gR~CYZs<pn1*3GhG`k5 zXF$_{t^sWW`UW%(=p4{Gpm#v?fbIe9!}QOyYaphBm=<Dsh-o6Gi<mZI`iN;HrjtM` zfnEa51iA^d6X>UB*HECNKudw10!;<FifJpRub9SSI;;OfXu}Ba{L~a8oS2`Ql9Za1 Ml9;~;B`*y76Gy`Te*gdg diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/West b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/West deleted file mode 100644 index 85c26d509a81d77ebfd6525b4777ed32cd6c9e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmWHE%1kq2zyPd35fBCeVIT&v`5J)49KS<*=IpT*I303c;q>w131_w!EjYV8bOI;; z?**LOBo;_9CM}R!UcW$7HD-b4`cn$7h5HrUSko2Um1`EbziVFL$sD)9^IYlzCPpx1 zW<fv(hMYM-8yM;)FtRW(6f`h!BC~ybLl_*xT|h)|2uK+tBZy=OA?yJWpfa!ret>l_ zF#HFCl4W8~Ks3lhU>fKt5DoGem<D<dM1wpCqCuVnX$N@}Oana&qCp-8(?CyyXpqOj qG|=-P8WaE^8Wad18Wa#<8W<QL8WbR48W<=HR0|a@P$=nIZ~*{&uy;lP diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Yancowinna b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Australia/Yancowinna deleted file mode 100644 index 768b167857dd82807b5ef912be31518086c77141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2274 zcmbW%eN0t#9LMo<d5ABhBI=AZh=&+aJY2vW7$S(IBv%M;1_Y$}fPfTX;T26;$@rG7 zj7skuTc$Cv)m&Df&aE+*R8&mUves6VJ@6M%TUlGt@BLeIx%i87cJAxk%MQDL+|S!v zS+^;}`QH(2KH=hc&RpDwwV9W$Rd2l7bvp6NkoS}f4c7QR>aW(1d-8mr9BP%}jyPXn zQ=SG*kC))mI1T=7iH5j?G~}~b4GsT6L;C_XZ0vo#{^b~%cIkVWzB@o>oEVhwn#(fN ze^erJ&&n*{UYQ-;D|5;lWzOGE%iOFIxnbHqjf`#3$U)V4E|1RZsn_`<X?jyfu|^F< zX!Q0Ydh>yk5>wHxv27PMZs}o(ulq%AiQ6LyMHeJtY+MqP`Xq7qQ%MT-OVY7-<hIdP zx!r$Glh5zh6yIB#dfcaJ<u9qbvr^Nm*J(y`j%F?{&;@1DdPh`(F3fOr;a?$|H9tzS zwj8^Z_0_0m|2ZLxP7mpwUyevl_fN9;)EUWb|4^13?3TQZuS@=u1G=>ESt(e5M3<$$ zriBIVdRK6nERV0%<-Z@56+a%7qR;or-Ge)2Wq+d-_tc2zK#8pC$di(7=~CKMrT47$ zXjy5luFgwSuRBKXjfv1TGXr$Z#IJha*kvvM`l410pVi8D`}O`4-$_;P1*!JGCpFq9 z5BPdy?PkBMD}PEJT+u4)vl?W>tyQuy(j%K9d|K<O)7tS$-8`~V>(1q9{XmK~ycw-q zUJ2L6=N)~hZCoF2`c|9jXUHQJ6VhDtvuw>Ckw=rx%VRg5k(SW6rR9%q**3agd|!0P z_78m0da_P-9Dh-F9&XpiJ6m+u6Sca#xm*KW|DJ(CQ#@T$eQ>hp9B0=)^J{iq=yjQ& zcDw)D`}~5{UMIg`nU{}UE?yn)<U<KDf8yfkG#B@?ukg+s6Xw`DS2tiwQ1>^uV^&}j zG9;@R6EY~P85J@tWL(I=kdg7f85%M+WN=n9I%IfOGd^U1Rx?6mh{za`K_a6>hKY<5 z87MMRWT?nkk-=KcXp!L}<3$E+H6uobY&By>291mw88$L*WZ=lik)b1FM+T3K9vQyX zj2{Vr)kFXZfz`wS2?7!YBn(I#kU$`jKth4U0tp5Z4I~^$Jdl7`O+=88SWQf<CMZZ$ zkgy<eK>~wB1_=!k8zeYLbdc~M@j(KFL<k8H5+kb#5)vgOOh}xNKp~MrLWRT%2^JD9 zBwR?mkbof(Lqdkc%xZ#$L=6cW5;r7pNaT>vA+bY(heQtv9}+(#fJg+95F#-|f`~-X zYQl)b5eXy`NhFj=ERkR$(L}<D#1jc95>X_iNKBESB2l%Pup)6q0*gcz2`v&^B)CX) zk?<n%bzA{gBN%+$6wkn^J~-KPj<ctWZ}-e0C&;!q)V6qrZSght#U7L5Lfhm2MEPo# dO~|NqO7@~mH^ol&q`OnoQ{Bm)1(22*_78DE8g>8x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/Acre b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/Acre deleted file mode 100644 index b612ac23562126db6b0aa3ce26dea6760c15be24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmcK1J4nMo9Dwm_Z9%H&B7%sIb{BjVL_{)nP`pYead0ZQxd`HtI_TokNfZ}XJ2^?~ zbX(CWb7`xBn?(>`rL~;@FVsm89K3M(jzGfYckbF|W?KCiQF+2-#AUMX&C2a4e~>Hm zXH=oRZi>%ZU)6F>dG1D+>w~&7)b=aIZKv9r(zVm3b6dUCckYVwdOYmEMR%Qdlhq%6 z^QMtb=|<_^X~v%X=J|kW)f4*j@WhN<=k@5$iy1ph`{Of@Ccd|?6Fm<mwc+ViFJe4v ztqO;Jxw^t(Yt5EY)|N~tVr}t4b+cBT_0qDdCMIWPCgo?ohx-SFM&~8jiv@!M5>!wq zFccgLP*6dlKm`>n3K#{A0!P8408$VskQ7V`Xi!0=zy=ju3NQtk?E_80rhrq>Dex40 W$^lRgfqL?-e>sTQf*j0ZGWG?L1Q>+? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/DeNoronha b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/DeNoronha deleted file mode 100644 index 6d91f91452d0c8474f917c41add3395838504ac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 742 zcmb`^y)T170LSsCMMw#^8gMiv1_?FLRQv--NS=tW2@+FBw${vW69dDI;vdkONF>-K zSj0=cEY#phs7A@T?<FP+iEFN(rqkv7^C#!$;@*!_VgKQBI_>3mUB-T`Zq3eQ8<NM_ z&$!A3?Q-X8PMr5^d0u#u7mX+SA~z&1%hmE~{a9RIuE@L}6EACleyti6#oclFRxea( ztXY;0w#9p7U%ziYs&b(uKbBLf=_n(c7mrkn?$EM#Pqi*h$+p@Z6`cs{=<T$K_1){( zX-@PNv${XKAQIPSGVu^n$-_Voq&$^2#(3e-uRdX8ZZ<s6nBX~7Y0O>Ts~H~gy{_&a zd%uJDe~44EaX9u3hDb;#r;UXKL!u$!oHia3&}kzgA(5C!P$Vi67Kw`lMj|7joi;WS z+-ajD;gR^fodJ*$kRgyUkU@}9kYSv59AqG;9SIo<84DTAX-7kbL&n3jeapWN7#Xl* H4#p#2M|K~x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/East b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/East deleted file mode 100644 index 308a545ce5931939fb6353fa4273aedf00b49372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2016 zcmc)KZ%h<)9LMp~k|maZ+FDstzedK$6Tf#ydYX~S5J(OpZ-!JxA|U<=Wn^esN0zy< z$*hcxw)UG3n&p<iwwmasBWEFNjdb>p=}EHn&s^C|uhY7I?_UplP|rMe_qws;&x7y# z6R&A%2nYW4xXyitCy#db<o%5a_wvTOEg$rZD;w(hbG|unp+FBNTV*i%o(`T%>#2#~ z+EWLX$>}S%X!6aZoH^aCL-B}QtQoDpk6JF5dROY@v6D@zDyXTxk0qUb!lw76%$1+B z^lHZzGpT=vPHy|kOfmObi42&j?M-^;m}4fVdc4g!yI!Wv{>@H1*(bSE$7$}NVUriQ zpn0!%$UQ&ZWT&qQn_%yUI-}vJ<eM&?x#(@t#3l_*ika{uVk23rr63yDg49PcOQz_o zfmLSqrB7_M=Vh65W?1KT2F-oPGIn0`Sabi;omyD&t9fAOUphbkgjujHr3-KUMT)A9 zXwl{4QXE@ii-*pek_p?iWdANHP4Bj4UC+pagD=^|iPuc|!3G<vecDuXm)gp*SLLCt z^;#u!%)@mhx+HLii5KN*{Ku#)%^9Oh`)`-(k>|B~&sAA=c0g;kC*{#(t$l1&uRMNu zp<Q0OTb_99E?XNqY@U2&fv%WfOkHD+)};?geaR@TKfcm5-u=BczQ4#cW%X-Qcb%;M zZm+J{Tr6t``s})zTzP8WJGOc5Xj$LcVK+=XCoRqEY|9^?No!@LZT)7SY>ckejYmE; zZMRiu+uk2!Q%ZI7i=F1#uW#1pR%|d^_FvTJ7w?c4y1vxF$Pw4}E0Z}{9tdPI!$Tvk z&t$&%Ja9vKEFPGlVfT!<1LYC_@1x%8KIV@)<$r?Tn8|S5$boy^kt2tW96NIGUU&4! z;d|ZjBLN^0AR!<zAVDBeAYmYJAc1&YBuFS;7Yh;$5)J=8;UMuK0U;3~At5m#L3v$N zNLXGM7ZRA)MTUgtb+IAAA<-e>A@LyrA`v1XA~7OCB2gk?dR?4Ipk5a#5-Jia5-bue z5-t)i5-<`m5;77q5;PJu61LaHjRfv>kt3mdUF=BkNc2efNc_kEAR~Yb0Wt>2ARwcF z3<EL_$Uu1ANFYPubz^}HhS!Y-G91WwAOnJo2r?wdm>`3Kj0!R=$haT_<8>p042{=~ z4Kg@hH#*4hc-{CQ1B8qaGDOH2A%ldB5;9E4I3WY&bt8ogmDi0GGFV<WTF7vD-FP7b zhKv|8WXPBygNBS6`eAb>rvKAJd&2c_ZD)?Z{(q(}d!C!U!iakf7Y1XYP<|+1XKFAO J&X4dW`){q=QK$d_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/West b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Brazil/West deleted file mode 100644 index 855cb02c4082719f3a51c8401288c013efefe683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmb`^IZFdU7=YnTJP7e>Y%DyYZ32TyAtEv!r3%7=;17rhRyNv2ZPSaOg{4|enMjHO zi(n^;79ojg>;fuyghUy?cP#}$aF*G3SlD6bS$}msJ?{M&ZSsW4h{<H#y(72%v&?+1 zZ{;cXxn%Osv--Tcr%DqAU8+ZPdEn8O^J}Wo8q?Loy1K8N=$b#HUJiQfYsZFqvzz+8 zH*Olsle$s7QO#)0HcvZEtKP3avRN~Dd8CK7AI$LaoE=G4Ol)^ck9OUexV_Mc^tH-3 z=e%&}*DLH?vEX^m-Cl*-Wo^C4!lLgbR8nS24#4pLaOlSOE3%_=9G(IYR1hc-6buST zP(h)<1Qi?#5Cw?>MZuzgQP3!G6g&!GP(h?X1{F*SC<T?z2bO|M0j3~RpefiCa0)uj Q$X@>fADxn)FrA8i0o?5eRR910 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/CET b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/CET deleted file mode 100644 index 4c4f8ef9aed8bf567ce727c33ba1b97da6f6ee7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2102 zcmdVaUrd#C9LMoP#8PJTMTJ8GViBQr<UgbasT~hY1yVT~se}fi7EzptL20aF&KYx` z8p}DvKgC!zJ9>e&hSvH!T1Zx74a>FV%Kpu{nX^A*^?N^8ZC!O&zq4nrXXm+jE}qXj zylz`lf$tyZYWEKpXP3LUpV~Lgzp-!p%*Fi^QS}cT*MT>sgWY>IGPPBs=U3XPSNs}# zF=(GWUu37B&azJ<$@W?G5?wpcpoC{<*>&9^SzCz`8?!Y%oT3?3%WP)h?@G%2Ny#(5 zl0Wv8{FmNR%DJPu{_{hc_1<$zJ#o^~jzlee|3RDGBg@$Sl+9_5*bN&R?8eHlWtN8Q zra*~hrDfaA(^4!uE~xCwMVk9<mgbEo>y{6$(XB(jDlqVa=J%daPWQ*kZ9Ad7#@Ccz zH(>>lAuB8!wxTsJSaEv4l@xSX$z+!;NbS{vvzu(;AMILnGHADdS*y~)dX)_?(j7aO zYH?qhmNaE*Y4<|Avpi10##CFDbzY(1q?N~gq>9Y1t>VIWwmkM7TRt{oE6%-SE2FPk z<>=e0+S6mzM-J<*mKIyp^Nd#Cvs-JLH>>8hW`!#&bhp1+YXkGN_DY^=lgh33i|M-e z@?2Z@`Y&2P9&Z~CC0gCk&vsweC9CfpvyJuRwrR(Yx_|K-)=)R9#*BToxh$%tDaW-X zUE1>fUTvL>Xxm7q9ylA;gD<aF^M|eW(5^DI4A$7gTQl^?&SGm_U22ggzdf2i+uB0E z*<*=5YtKzm`^9gpBjJiVPQP!R7bf)hu|a!cY*^d(y{jG3em&Vapsqb#^2J;g`(OC^ zd}(uH+y|RrzPP{N2SYVsUoaGQk79W43;&Cc|4(-qfTtS)G6ZA{$RLnWAj3e$feZv0 z2{II9EXZJx(eQo@2N@4CAY??ykdQGUgF;4y3=0_-GB8g!GGu7T*pR^?qeF&=j1L(g zGD2jC$QY49BBMlxiHs8&C^Aw{H&kS-$Y7DtBEv<-iwqbUF*0Oi%*ddTQ6s}f#*GXd z8M&t$Ix==oH+W?9$ncTzBLP4nfP?^v0TKix3P>1`I3R&QB7uYgiG`;N1`-WV7Y-yI zNI;N?AR$3wf&>ML3KAA1E=XXI$RMFXV&mz8gG9&Eg$Icb5+Ec(NQjUaAwfc-goFu+ z6A~ySQb?$fSRuheqUGtrg~SU97!olgWJt`ApdnF1!iK~R2^<nRBy>pZkl-QF^K{`u v;^*lCh(r(xAreC*h)5KXFyj9*j`6OP^YdwDpsFyZI43Vqm7j;Xh4Fs@!4?eK diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/CST6CDT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/CST6CDT deleted file mode 100644 index 5c8a1d9a3ea46457985198597d90f95462a70168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2294 zcmdtiUrg0y9LMqJAjKa!NEU@iP+BtNfPkTBQWh|FC<OJ0AY`E!Vi{i(P}JygV^A07 zCTUm=rO4IFsj&=ek^Nok&kSkKW-+bhoEz~}UYO81J@4nXtL|D~_MF#m+<)GIRSl2k zsDE6z{SS}ZYaicnJ%@byz<Ynn!H!tn`{FtI>Y1QEJ@bm3u8lI+uGXvZOMWwP*028h zBHaWB(pBhnuTkAz<>?$VVOz%3q)jmrUOQP|SN^M9zj#zfWPK|UyHa&j+}jd$_*E5c zo|nnzyL8O=M~(MnvyMHn$4q%+kBZyhWNvu2Nlk67FgG?-sGF+tOuRo&-Mk>t+>(~4 z5@yVoX^|5uF>IP7{+^(xUl^C9p=<iqkA9ToV?XGW-Vf!rmMQA?oxL(+#cyinh7Zgg zxx?ztk^^Q|{5vXj_D+);9MWmgYfainzn*=$$fOVM)xP01lF_q8XZ9D$oVF^R)iq19 z>swUL=17@aT&eC_c3E;$7pi$VU(5W6B$YS)lF7RmR13zxGz&jJukJqgmRWRULg&B# zoVjQBh`#qFF^d~d>igPv$^B)o=z_XNDV)=;iwc)Y(I4-s;*5=^czD0^d&`W!f4eFf z%{C9b{DOY)%n~Wx(W;jm&yup5YF)l>sw`cUua`Ank>yD#I<Vr51SUMXB6mP4eo0o9 z$={jE&y=bP9yhD{ep1yV-KM7fQ}xi`HnY0!kb1bM#ynE`v99fGl{FcCdTo8R)OkDf zy5f9UH@aTer>02#Hzm3u!XpibeR{*ipXITAe)agNklEOhuAVq@!8BHQmF)h+Y|0%| zPd2`0HpdUCrm{}c6dctpd419{a!PMa=#Z_0$8_t}^|Gy}OK(40B0Jie^-}{rX<NNg zKiwTG%A-7ClkCrb=`R#Ianz$ip*IhzaQ7YQeq#y>1FB%TeJkxN4=@f7FYqr$6tc&V zkTD^HLPmuQ3mKQw4h$I?GBjjt$l%b8jt_>%+3|4<5E&uI5Row=gG5G&4AW`Hi44?f zN6Il&WUR<wk<lW<MaIi9U}VG`Lq^8TF=%Ae9K%M&%`tFf<QzkH+OZ>pM@Ekf9~nOq z03-q&AwXil5d<U(9AQA>z!3<ijRX=3r;P;?3?v#zIFNWC0YM^yganBRM^KQcaD)Yk z3rAp($Z&+lX=B3?93(m%;X&eq1PF-`5+Wo<NRW^yAz?z|gapcIBgGLar;Qayu$(qp z9N|LZg#-+V7!oohW=PPGs3BoP;)VpyX(NY(&S_)E5j>}j9!L0)_;Cafi6BP^kr;9W z5s4xaMkJ0%AdyHSp>*0<BEfXpXd>Zs+IS)XMIy=(QY5AvK}Dj<5mqFw9Dzk5%Mn_q zjV%&fr;RQWUZ;&O5@004NQjXbBSA)@jQ^W3N84J@v(@&M&dtop%<`3HXJ=+-W<~!E D%injH diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Atlantic b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Atlantic deleted file mode 100644 index f86ece4c4032634b3526187c5f86364077b9a9b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3438 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Central b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Central deleted file mode 100644 index 2ffe3d8d8e012445aa961fc53b38934681dd2a2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2891 zcmeH|YfP1O9LImh8;GK2VuS>y6+;mL#qdH|>KG(~dPEd5H4L$g#~X?l{56@ES8A4* zQKXJqt`$0$;$>uN&aIq7lq8K1m7GdGsavST>HqoH3%A^S)62eR|L61Y49+=k_<X!m z^WKV+f6dQ4;jlyIaNk4CrNr}~zU0`!^wNqQ`pLn2&e83|^;lZ5`~BKhJ=6EDb7n?I zw|ebtIXiK>dv4M>sp);n{V{&OoR@O9HfWpF)^Bt#n76xdGTXgaw?%*6wZW;YEYx4t z&3Eccv-DD)*J&t9)XT|3oGa79^=f3W)0i|ue(gTky%rHB*KYT8ubXdky{g&0(byn2 zYmU23CyvW+8xOm8^2_vY>`eDw*A%_)Um*9JbLGLcOldivEPtLHCao3y#rJur$kssd ztZ9`ti*HHWc_G?vMkj5b-l82wHmP4so%;7atsT1^(E!<_0q#!iRKH0(*M1{`M;2+9 z13RSauJ@(ewpH@Px`oocaF#rommxi-BuP+mg7h33DNjX)NN}Gq`m}$GgtUp!klVr9 ztD&QYR^8WUzP+JgdoF7Dj#JvZpsPIlUb*&}^t<$(^MgDWUoFq4d?hageJv6FHb_Kk zl|}~4m&m%k+V8qo`d5CaQPqwPC|#`4dnf3?qA41)X|TrT7D(KJo;oNgQwC3H*7%5F zG9>ONebFye5_<h135~5X^g*o*J5evgFC3B)<t>_c=wo?leVx8svQkFoAJJEeOZ3&W zojNLKg^t>vUq5<av5px%-WhXeza$Nq>n2riljOiOH+k<eNok68U;Ai_j;$Hzq%JSi zar<JNwCpTR-`w39KO#{lEV}DV3=LQBq#DQD;?a!w3Mb=gm}G{Xbu+&cnbNw?om$o) zS#?|8?Be6{dgW4gTFz(kMrpP?J@u&0SX1cC98jij=4LrLfva^^Qlc}fX}0D@ggd#X zQZ&!c<K%rArE?lDJ8y4JmUmA3+_?q)<=yg2Zhl6fIO~tO^WtyG{QOVd1wmD^Fl~*y zu(e4G63U!{y3@KOc(t>na*q}^&vurUZqjAvQ=H{Ri*!Xrlv6Zqvaa0P#cAWQueR;} zx%vCYM_t=@_-|j2{lG_kiHD#0d}TL9e7*y_J?(tHFSd)nz3*(V-5!2EHq|SmMw>Iy zoXO^-d(FSNh{xlx5b-`<4~NaKT0J!LH)cMwoGZIOfat=~C<CGmh&mwpfG7l_5r|4G zjZPp+foKJy7KmOTih*bbq8dx18;Ei&jdmdFf#?UKAc%$_DuU<;q9llxAZmi>38E;7 zrXZ@aG`fN)%hG5IqArNOAPR$M45BiK&LB#IXwA~74Wc)Q;vkxXR(0H<J7$!}&>lm5 z4E;eA2+<%!g%BM=lnBuxM2(h4j}S#dG|5mUM3)R@GPKE1CqthMg)%hCP$@&F45c!( z3Q;RVua-u!5Y0kV3(+k^xe)C_)XUH>M8OOVGgQpbF+<4=En6BjL-cHE6b;cdL)8#n zLzE5CHbmVJeM1z^&^Scp44p%i&d@qU?F_wJ8pSg-&rm%>_YCDjw9imKME{HgKr#SH z0VD^OCJB%%K+<4o^1w)hrO5;%6_zF!jATHv0Z9iWACQDVG6G2nBqxxhK(Yc!i>1j6 zBr%pIGmO+&n%ppw1IZ2}J&^n`5(LQ*BSnxLL6QW?5+qHKJV6p=X)*;#m8HoQBw3aw zTaa`?^2JCPBx8(}L2|}O8YF9sv_bO5NSvj~93*v?CU=nJS(@xY(g(>OB!Q3&LQ)9H kAtZ_Ne-n*Bjr&Y4hnQ?er4EXYi;js(jg5_tjgATU3t;rI(f|Me diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Eastern b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Eastern deleted file mode 100644 index 7b4682a39e2fc97450c99eed4576d2a4614bf294..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3503 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Mountain b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Mountain deleted file mode 100644 index d02fbcd47f845bd101a7ec97150df7821b826357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2402 zcmdtiZ%oxy9LMnkp}>tlrxHU!BP|I6<c~Lj%%~tjyg_h5G{Pv5U92FrJ1xXh;E0}h zDq}X1KqY9cFm;W_2AadIKRS0^E-TTp(pfh8v&F)=o%eaf)}tP^^<}^N`T=7+`n=t1 zJnPcMKW>Kk2@lt49^Pju^YP-?iSu291NzOOVAZ|rW!>%DuJ*iiN$+i)DfZQWqI;c3 z)mx<(WnWaU>d*LC_D_8zK5Y-vzJ<Rx`l_SF=Vce<>A0`OpA*l>$x9VtYA{Rs`(s5= z^&CB;_^O(jGpU19$5cq%Ssf}5D~A}-j`2O}+Ved+?97M=Kir}tKI{>ZZ+A=idW*QO z{RMgbmRfOxr$)|NoiCya?w7N(62y%Ox5?-Qd1_9mL(UD1S95<|q+`AfRk6MhJ@3em zYX19|^-Vp;Rh)O8y!rV7wV=!|7uJ6!ZgGAiZ(Z@8SQK?s#wThKKXpzgI5vocu_HS1 zvRm9fyjLfkYE;Qx+jYvp61BLwPN%-QM5WcW%Jhx1RYv|gxuj%5IpZIYccg!*mIf!v z%$Pq!=EX3XHF-v4ANyI}`PGnEw%?)e8rm(E@AygI-MLNVG@Q`)w05d{i}vgLYPPD} z#johR+_ft2w^5m&+$8c(^~r+pDp7E-U9Py2BMRT>)hka|DpymRe(;0ks;JVVi#y`f zL(2+vi8oM{#wKfb*>}o)HBy&5kE!zSlVrvG3!-8)Lav?~6>Ij5%ZJDML}jZ_J~G@c zs%j3&wO#AQqpp*>x~)w;mV7`zUguFY;X8G0exa(p;?;HW$*S&nh4utTD$l#wy8ee> z)cTH9@`;lX;z@6od}?4^G?d54#vMNKwDT{yq2Z9&7<Eo=D(VoMrY5yF^MLY>oz<J8 zcdE_9BYMk(S3TR+qo4btLNztF=&gg<s=2CGZ`&2CL}0+QuWN#)eKY+R|HZrC|5~>Y ze*Zh&0YQHMZY@IWdzk%{D_w5k$~8}^c~+UH*llJbM1cKp|BJaz*uUdH`TfienI1Af zWP(;RLu87`9Fa*PvqYwe%oCZY)yx!`Dl%8AnJh9}WV*<FkqM)nF)wDy9CJn{jm#RE zHZpHy;>gUcX6ne?k;!w+9+^JJ{E-B3WB^G4M-GrAaAW~V14kZ^L?D?!Qeic@K$3xE z14##x4<sQ-Mv#;sIYE-bkrgB@9C<+!V>OvUQe!o_L6XCf9V9(Sevkwq8A4Ko<OoR; zk|iWfNS=^HA(=u_Wi`1%lEslNBwZZ&LK4Q2F(hRiIYW|$WDQ9hk~buAR+Bj-bykx* zBzaboJtTb``9l(jWDrRql0zhkNEVSaB6&m-X*HQdQfW20M3QMW*+kOGkxwL{92rGY z%8^qfsT^5F(u(92Ni33CB(+wPTO_$wlU*deR+C>O!AORY6m#SlNis*4ku-DU8A&up zrjb-zO|Fq-TTQl+bX!fnk%S`|M^cXD97#Hob^ITv-C>Hq)RaHTm64L3lA7d7OG`;h HNp<`UV`q_f diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Newfoundland b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Newfoundland deleted file mode 100644 index a1d14854af6b82bfe814f2c64aac01bc053d5fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3664 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 P%CPLz)a2CUl-S<@u$syt diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Pacific b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Pacific deleted file mode 100644 index 9b5d924173e6e71c2c0a73cf2aca368d3af002e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2901 zcmd_rT~L%&9LMnmUl4>mnJ5w3NlgS50YOnT({xr$L}ev0!<PgG(@?QhOVK8pvNsNy zFHJ@N$cvmxbQl{OlhB!*nxYcSL~SEWWl&Pl5|ws4-{-cAuA9!zc|OnVESG$Lp7})u z$*zB#ZuT24r`BHH`)sz4$^(bw-Gh<l>n+jJFzEWqhQ&ivqqmnnp1o21F!!oHp<C6D zsg3%i>l@V+xnDOm?@_1x$K-UKQD=NL^3(2*jIVZ^{JiBg(_Fb$ekodM&X(rNuNia9 zZ+Yo*E-uBKchA!ode2rZvEy`0`zX~K5~EuiBGtw7etl`*4b^tES^r+qq%K!?%9T|I z)zxyJv~N0Wt`*nG^@Z=7KeDRi&xy~Q8zal4V`!DS*{eWq^(a%fI-b+FTMAU?$$b6S zm(!I0fLjMXh*z$iaXRS5a233+r|z<9sOh>mR=Uj&Gu<bJN=V`*(?egBQ1z_|bJa`O zmA$5CbG3vw)vJiQ3c2IcYSnA^9<AQ2P<L)Iy7&4Lbyv}9-6wahip=onzGKIzesQC9 z)WB?WcW9K34o)@E?J084*?uObp|A8meA5ir*CF@5ciL$0Fn!;%hs?m72t8=oDK$9t zvc7-%XKF~~F&!IUsbc+Y5*M~v#reLI_|_$ASnWO;-dJizRBn}onnh-0=~I%pb+Sn+ zd|fA(3^t?OYjjF>cas{MqemyVm@y$~IxVJ~O1luP$KJl6#vSd{>8HO^<M&3%go7Wd z2g+~B#J65m4;G)1NoBju<g8kGXz9yl%1Du^Q&yO%*BZ5Z#7oNExL;>PELRydJM{Fn znd;%UYh=cWWhQgOHktX!43o8Bt<2h<U}lfcl{sEzvSZT4Gq>G%I{Qmb>T#2EZk(Ps z;HsMUMU2k%H>&x&{Q6Pfezl;iSwB|0L**?!q8C=KSBo-zviOB<X32;;dAx9~SsGC# z`R-hk-&Q7tvFWC;zCemX`kSJUr^&MO0rSN6e7*ep7`4Ld)=yUZRdG(7URmC(R*mkd zR~H{qC6R4<P1Y{8CJ-v#v^wMUU6gfERc2jny{zvjGf!7m%QGhn%!bkm*?3@@Da|X9 zO*`XFa8PiUuJ-ZY`~(88yy0>M0`Hihu7N=LW>*jAJ=}S!8JQl}tSR<p+xv*Uvpn{{ z+~o>#9-e=%!{_#gP8~Y<3wr|g<W2BiLTZ5&1E~g54o6!Lq##H|kdh!ZL5hM@1u2W8 ztqW2Zq%ufpklG-{L8^n42dNKIAf!S_iI5s0MMA2Cl*!T72`QALtrSu!q*h3=kZK|2 zLh6MS45=7WGNfim(U7VkWkc$Q6b`AJqb(g$JEV9>_0TCFFVv4?3kXyYDIrorq=-lr zkuoB6L<)&i5-FvlttC=Sq?$-Mk$NHpMJkGv6sajvRHUj%S&_OTg+(fhloqM2qb)8{ zU8KB7eUSnq6-G*o)EFr;Qe~vfNS%>FBb9cvrABJ)Xp4<h8!0zZZ=~Qz#gURDHAjk$ zR2?ZhQg@{ANac~zBei$5#Yd`-lpm=-vH-{mAWML(0kR0lDj>^%tOK$T$Vxccr9jrg z(JltE8jf~3ko7<o1X&SeNsu)`76n-qWLc1PK^6vC8ArP`$l5sC#X(lb(Jl|NKF9(g zD}*c&vPQ@vA*+Ne6S7XoLLn=KEETd=j&`w-)pE4Ug{+sOT`*+DkR?Ob3|TZ})sSUF z)(u%WWaW^hL)OmGE*`Raj&}Kw^>effh^!#8gvc5qi-@cuvW&<&y8gfO7-m;9&93M0 U%uxx+35mlqladmW5)#Ay2A}k~%K!iX diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Saskatchewan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Saskatchewan deleted file mode 100644 index 5fe8d6b618e34c4c87a7eac43f7a27af41161d02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 994 zcmc)I%S%*Y9Eb7Wl%-5VyqJMViy|}(1r3t+8kQv%jsz`aOcZA2p+6uFEegTK3$7jA zL`0A)FT<2XUdjsyW0`kP-ZCvYM2iUO_&%@gbmPi1yytT`%rJ}R8@(TIz9RdsljaSF ztIQmpb6s<L^0)n5qQ6^rrZU~0rW(Ju<c8OGz0~hlm%U{E89(VqywvFuCpEd_z23=o z-Xu@O-aX9n2OGA%p}SlD@U`~XNa=+C{zA9+A@7?r8lH%a{uy`1wqC`?TO&Gs@t2cs z$d#$aHubT#MLyN7s_F9!^7-npnvnsSJ^NhEdR;R2Z&1&_eJl%0&-CJpgu68GR4=!> zu9t}GFYyQN%A;F)^=5^;R$r{w3k%$h$}06WyIeLe6{*di`Ley?tMAiO@?#{e<XGsy z&+&`{U+;bSL=beWi3GvRu26<~){<qPBlfPiOU~`;s8m;&Q)|vWbM8c?+&puI{@<gA zDDd0<hJOtLN+30mB1jda3{nRvgjBMcQb;YUDTY)-$|3cTf=ETABvKP8id03)T1{P~ zFj5&QZ8f!#;z)I*JW?N70I~vP30AWPWD&?JkYyn2Ko)|m1X&8Q7GyEVYLMk1>p>QT XtO!|>)vO6w6tXHj`elX9)XKuUTnF}q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Yukon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Canada/Yukon deleted file mode 100644 index 6b62e2d3c39a8406cdc087b387fbdac0709f9141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2093 zcmdtie`wTo9LMq7Qm4zo2XZ>soqcrX+}v(I+~(=*mrc&u&MkLdo|(Ve54N-|w@xjc zCyXK^_AXI_?EE<VM<kpKMX-hm1tF4c5s@(@D5Dsn1+A2Q`#eAOUw`yx(D(R$AD{cO z-G8rVbVFN9x$hs>RQraTYrnlY&rRA#>cW+Q;}`Rcxi)>^ME`K|${Py@hVy>y9Nt=? ze=AAI_`-g5H?Ubf(6&?0h_6%GwNX8D=@K=opi1Y=Yn0j3a&&HbrR3hJFb{q=OZ>w# zP2l6-WzN}g^U#Uwq7#es+yfuUyjYgbYyU>gue_xnUj3n3ko|?uFHEWYi7``<nN$U% zpPRy;wy8x!XHC&aj})g4nc(0SDd~CHlpb0kWv%b%@~-)^INYr(8mCBQeoR-D|0qi` zLOSH1tU@<)_0qdH)v{0T>FVpBspSJX=8=o1)uVlXn8)6GOFiE4t$CvNl&q*9GEX+W zDK#a=tgP7~D}Nc$;o^fTJaSIgW^GrsgGcr1u{G+cV}qvdt9FU(J#5yTuao+XyG+B8 zpgg@iZq_E0H2SMebln|^-V2ym<(CrsewkiB=eAn^iC@PjM%0Fr6Z+ZFb82Jn4gK8E zQMIY*vfiB9qqamw&DPfs%eLZ6=K0oL(v;P2n!|Bv9_ux&`PI^TwZ*h$1f=bQRi^z1 zPhL3EthZnDs~w53e(}tN>WCHS&b}M!rK<b&&W_8fD|<|L*Pm3~-ZYa4U6RD;&t`W{ zzw92mYW9rx$}6ce=GCuTWN**gX5WQX(zB_{?0>gV($nnczDenm)2C$o2OrNn(B$)Z zUSBe8l0A3&rn>WV_f($uzNF3I?3?Y*fx1Z47q78*qrIQ8cLU$;iw66m!OE59o_`tr z_Z=kdpSvB5|NVcSz4pC!@EEcSWE;pnkc}WaLAK(wdqFmX>;~BmKhJ)U4Iw*1wuI~n z*%Y!XWLr+VFJxoL&XBDkdqXyd><-x;vOi>l$PSS$B6~zO>9o5<w&}F{L^g`-6xk}W zS7fuuZjtRG`$aa4>=@ZHvS(z|$gYuXJMF%ajUzipwvOx_**vm)Wc$eekp>_gKw5zG z0BM5Lb^&RF)Aj*rgwu8cX$8^?q!~yzkai&bKpKK{1ZfG<6Qn6l+ZCiOPTLoxF;3eV zq%}xykmexWLE3}#2Wb$}A*4k}kB}xIT|(OAw0%Mv<+PnbTIIC8LYjqi3uzb9FQj2e z$B>pGJwuv?bPZ{n)AkK%oYQs=X`R#d4rw0JJ*0g||BwbE9Yk8_`@hF9(^fKMD_Im- S94rr(7DdX+f@Q(d%s&C-P%%gV diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Chile/Continental b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Chile/Continental deleted file mode 100644 index ab766a41bc06db2956154da6e2fb0dfc3e9c1b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2538 zcmd_rZ%kHI0LStB00M!esHvbPS&|0A;g13acq9-=!KZ}$hlb<`%m6`P1SR<*skKOE zBWFdn*330MU<EdqXRV<Y6|4wdI$JYat;Nhr%=C7?XYr~Ry>070yZ3YV>|x{0?|TY1 zl$Rzr|F{CpH{4vWo16D(&F0Z6vR51^`p(<Y^lkq^XNOjs>-#(F(`46jXYkm%D*f)f zMDKekZ_4+5A06xtAJN?x4|scS6zSt9BfJB%E9AiT?+3p)*Q&pqby^K46zbu+HhE(x zRo-m-L%9Q=YNz^~^3-~@kIYrRh4I=iB1%n2UoHKe5ET&ID+4Z!s=%95<t-<MRM7d~ zWbmP%#l*f58PYN+ZhiH*oK)5&CO<Q*Lv!|tDW%<d>Vi5kZN+|lTWFh_9@(g;U*4%^ z`ft)RhaOU4mzL@9&SW*~^CCHWZ@8LsG+o|a^{1NK8X+Tg`HDL#edN59>*CJ*i}J3p z^J0Foqvu~cAtHYn(|4aeC>C7(NH6@bPu(-}mX3O(Lq&JD=taAqRx$0{bZp5ZN;L10 zaT!@EzPMZ_q>YF~xl%3;&J;^RdSsISuu66&$>dK0MamCRdg<XG#l5FPbn0^hBJI$q zPTzJ!ENdCka?QtTdD$_Yk?@YXFXttlIrRmV71t%Ru2iY)(0wv{)JNo8u9LaFmE!)P zb#i5oqgHh;m3jREBHz1PuYTo-@@AaX4>Y}~9*p{3t|_Wk1;J<J+N4Wj?a`m~`WdIh z`qt0%hO39g#!97&MxGa&R=4TR-4){D*qyq#-7B`t+$&3(x2uw|8o9MNUu`{8C`+YK zr9DZqEMkf(dpS&&yT7V!_1EQN7rs*4x6IIwpSmI{<TYJ+XjoK5e64r1bc<@IPuG;~ z7d78>=-Qk{QG2>q*2lH0`nO+`4WSLH;n`;S#N~~uvAje!4W+3kb2H^ropaT$g^_ZX z>$)BvkFUqiXZ+*q<2%9J{sI4ykH72oec(9u>F2t~l@sW?C$%$?r^h^p2R)O=pM1Y6 zufSPj?nPp;xf9JjzC@45OwC*#Pr<+M^Pu^m-RGG78~y{=E#EVzAK5FiS!B1!c9H!e z8%B1FY#G@zvT0=3$hNI!-^j+1og-Vfn!O{NM|O{F-)i=cGyrV}c%cPcrUyV1kS-u? zK>C0*0_g<O3ajY_(hQ^<NIQ^zAPqq}g0uwb3DOj#D@a?Az95Z3I)k*vYI=h-$7;HR zv<K-A(jcTmNQ;mjAx%QMgtQ6i6VfQ8Q%I|<rdLR_kZvLELi&X?4CxrsGNfln(~zzq zZA1EoG!E$;(mJGfNb`{HA?>r8{vi!SI*7Co=^@fYq>D%!kv<}gL^_GI66qz<OsnZ8 z(oU=CC(=-)qex4Uo+3>}x{9<F=_}G$q_aqCk=`QBMY?M>?M3=)H4R2OjI<c(G16qD z%SfA%J|m4rI&C$rMtW^E%|^OyHSI?FZ8Z%?I*zm)={eGLr0YoAk-j61M>>zR9_hW+ zG#}}{)wCb!ztx-p$T?s&X902^AZG${E+A(Eay}qugw>?O`9B^ML8;~lNl!G-g!JgV T<e2!FC9&~|(Rqviehc~wJPiO4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Chile/EasterIsland b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Chile/EasterIsland deleted file mode 100644 index 060bef81898b9b45492ce2e2e35fb218f5cc213a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2242 zcmdtiUrg0y9LMqB0R#d`5mT@~(jQ3!;Q`{02KbF2A>~hrnTmzv7?25pNQ5PMk<=`e z*@!LEx@e?LAM66yU_NWDwCvBhAav#IqPf*tjI6{ge?9M~x@xVvF8ZDG{9eDEjh&61 z&%0_}LtUo#w=2Sa!r|I&56`o^>}~i1>HaO4Cs%uZ(f;X=jo0#}4zyL85GmE6t20bk zVzQoAP$A)7jE;yNk%;pXI`V3qTyr9*qt5*#(f!}6>7(Nk)BTyc_Q0^rs6Vb|J~w7! zOZKZ-b%Q2u;Wjn<-ad0(Y>%Fk)M@5SZq@PO8%%ugL7i}6nVC0`tFQmGT5i}kPv3Z~ zKyGUORnOm(D2Y2l)y+*Ia?6q{>elkF<+g-#YC*1N7F<4|l75&nx1W7oExh!eS@iCx zzGM7Nll;a(oif;M7Vmskr}j3QwAx3t>e?mgg~d9fra?0E$JL#(Lb9TZRCdge<b;pu zTyKWteiW&ee3NXJ9{yI{bt=Z>y>MFP_fMFD#-nOkchJbH5B1&k@0h~OxAi?GFPoyc zmvnLZaVfsote3~`m*o>7s$_DTl#Vp1`+^V2iXl(099Sx4??<Te%AKa-)uXzy@T|Fi z`(FJ(^3SrWx<yw-pOG~=7u1?#-<h>@PpY+hJ~8Vq9aig`w5cB7tu|Ejn1=_qs7KPa znws89wK0C5)OKywwNtIKsis_SI<s2pMCrPr9H~#7rR!fwkOu!p-PnFb9y|ZJ-n?<H zdHm!>wM8zQrv5S2ocM)#qI*!ac%!DZzE8D&b<nhxbgH&fBhsGUtJ~jtO*&#bbjR~u z^3>#d-Puqp+k^S~>Cz&3W?;VFu_#G)_`V+q3km(l*R=5e@)hp;eNTFxyNCJykwbw< z-#@U|oBr4R$RW>uGOPnLSC&<I#r7;#+4khvlVyMRfdKD6sQUNKylDT#ZDz_oaM^!{ z->|FDeuw=QyCGyp=(fZId*ZU20(OOL3)vU4F=S`R){wn9?dFi(A=^XthinkpA+kke zkH{vGT_W2=_K9p1*(tJBWUo%US!B0PyIo|z$cB*}BU?uHjBFa&HL`7F-^j+1og-UE z_U^QsM|O{FAK5?B0Hgy*3y>ZlO+dPUv;pY@(g>szNGp(DAk9F!fwTkZhtoC$=?Kyi zq$fyIkggzYLHdF;2I&ma8l*Q!bCB*hZF`XZIBkQF4k0Z<dW19y=@QZ=q)$krkWL}3 zLVATX3+WcpE~o7m(lDp(7}7GNXGqhKt|4th`i3+P=^WBJr|limJg4m*(mto{AJRal z?I6-Zq=!fokuD-_MEZy{66qw;N~D)aGo7}ZNIRXjpGZTUwxdW(owlb)Q<1JBZAJQu pG#2Ts)274wzs5Ey&xW`l+upMZQp$2uGg7nDGBQ%ivi^LE`W?cWOo9La diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Cuba b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Cuba deleted file mode 100644 index 1a58fcdc988ea6ec1bb660ceabe85ea19e5b0774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2437 zcmdtjZ%kEn9LMp)-yCXL{y`%Nlf+6;u<Ixk&n5~6SHHy76okkSycl6dLZaqcNwzk6 zP?AYJsEoN)8ri^Vbe8yMj^;PWVWTkv<3XES%NZKU?f3q*wzeMhpdNM3&Uu~P-Mjnf z^FD#XV0oJJw<Fqo!o|^SE}kdtF}L?Oe!1tP-q)n9rr14GRIX=w^WC!<IePZ<Dz7_n zlXN$)_P*{KFFhGoz20{&%Qta--biVbj)Zo(*Oz4J^`Qdq*ZvG0ZQbkscJi>^XxQwI zbvPPo9rB!}K@Dp->4n#JX~fn+H?s75iSkYHqTLg6)3h9ST*4t4H&XA#I1Li>Q>8op zVo)Z0yVslO<;u;+H+#3Vy)Bb=9dvKa|50x%Z}%prcI%WC2fV38&+D`~^<Hd7nNE)` z_GZMb&>6!^z1v6UYTUUE?j8LxI`c@T8^5DK?rcnO6AFDYt2*4hYgxX|UUkV$oV`%* zPC4bynfkIO#SVH&W34iGq(|==*eCb)9n<?dx5&Kq{hHk3mz1VDoxgj&ET}Ei)QVh9 zdt|XL%ud$(-Sy&|d0rN!9hF5l+9f@%ThoVo^?}h3^}$o0Xh#35y7)+sEctAkW;Py^ zr3VA*mKW*rET1gD@``3B#!B{ghh=5Nby@kb=tD#OlG|J*dEF!Ge{r9#`eK!?uDz)8 z`Y)2dc(OeF%mpckyDEV-pGsh~PuBXHW$mRax-Py$*L9uO^<!^p;k)fxG_X@Qyl_B^ zJ4>{rtX>~&akbR{hCJ3#EE|(|$m11DrEKB`*_1s?HeJq?ilhjs_$ony(LYG=gK()F zJ}q1J$Lka4hO}zCqfZ_=snu%+b!%g*KIQAuZPokq>8bB&&FU>$Gj>9@r@tiI2M$Ty z^h&AgY>;QK<;jkgpwwSTk)6A9Wmm@}*<F$>&o%ulVG-f~_KXbw%NZ5<-<_dQ+Zo3( zch89og-&~6<3ge1N1X|O-uWcYA8>NawJghA1p%`j#|aCwIDvoO-CO3Hc6ZnQ_=)+q zP$<|iw*%QBvPEQ%$R@33m&i7)W}nDLt!AglR*}6Tn?-huY}ab`i)`3xc8qKp*)y_f zWY=i7%>(=9FdGMUj%*#-JF<CX_sI5<{UZ&qnhqc>u$mqqO+dPUv;pY@(g>szNGp(D zAk9F!fwTkZ2htFvBS=fErYA^KkggzYLHdF;2I&ma8l*Q!bCB*J?Lqp3GzjUC)wBrd z5z-{2OGulLJ|T@lI)$_f=@rr}q+3Y4kbWTzLpo+PEkk-{HBCdhhO`ao8`3zWb4cru z-XYCHx@R@*L;7bm4MaL<H7!JXh%^!DBGN{rk4PhtP9m*DdWkd>>891R6X~bbG!*Hm z)wC4pDbiG=t4Ldsz9Nl9I*YUx=`GS+q`OFak^WjugOLtfO^cBpTTPRZE+cJ5`iwLh z=`_-6q}NEZk!~aHM*3|v4M#d|H7!SaZZ%Cux{kCR={wSRr1MDYk={H1=itYfH-OK) Z3Fi41rlh4Tn7?42KQ%Qa)jXxf{0?B7_b&hd diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EET b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EET deleted file mode 100644 index beb273a24838c96e81f0469e3827bea20ff930c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1876 zcmd7ST};(=9LMoPj+LzFi-wRqS%fGa;qaIcM1}{Za#Y}Gq#_xJQba+-z$DgU&J}Z? zHdb@x)XA80dh!D60;%~pTgKcRYgW!JSK7l|n>wGy=I{N#?W(K#pPjw_JKMSYzCYo$ ztu1-Je>@MlU-<HDbzk16KQ`Q?*pFu0;{!oiSCQhHGc_ZesF|T9_C)?Y#i#$NSu=lD z!nE&|aN}zwUim^#Uf8SICqGuwv2ja26tR@g_gLznEN$ESHm9xAo?72zPgjR6y)<ag z_=_wfIn(AonrNBP70SF-pn1P$X#V6ZWu1Ol3r6qAKm5BE4*jU?f$x;lbxeWg!^&;A zXnCEZmR~kz1+|}8VajeR%ImSBseW6OG^9nBHd^uhZk3Ez*mFPCt8}DMWn(3Je*0pT zf0nElTGF+6px9olj8;W+k}b)&s$j*GRYrfSs`SfNb^SM6I_<bEoj7aDuI#tvk%Lx! z?i+=64%&)C`?RvX-Bt~LpqiIHRBhWP)jiv$aCMbdC#=vK|9q{v9Z-FIrPcp1LoeT& zXKTN_sdbYvwtjD%HH`jc8~Sfp<Ise?(l}`w`~J|Y<zHD-!#Opl?Xpc}5w$#WRGU+z z&DTEFmZ?s)p6%6Zm%@7ez&f>^>999;l&O8B&feUTrnj~iT1QQ(b+#nf+qtRM6})Tj z#QCf{Ctlru|6)C{x7Bn0l=WV}sI5mv?A?hmZQFH1eUaUIuXkAeJNxB}`p-VTtU#1I zwd6Uz=wPre><b3Nz9{#E|HYZQ|NA&q<Xn-HMa~vEUF3X`6GqM$Ic4OWk(2gxXN{aT za^A>^BWI4BI&$vF$s=cvoIY~?NCHR(ND4>}ND@dEo-Pd}4<r#J6C@QR7bF=Z8zdbh zA0#0pBP1mxCnPB(D^Hgel9#7T49N^h4ap5j4#^Hl56KTn5Xlfp5y=rr63G%t6Uo!l zC5mL~=~6{<MUq9bMbbs`MG{6bMp8y{Mv_LdM$$&|_H>COnR~j_k=&8wk?fK5k^GSf zKxP1$0%Q)5NkC=+nFeGYkcmKM!qZI!G8f2XAhUr?2QnYXgdj75ObIe4$fO{%f=mlC zFUZ6oGvn!|2ALaAH#x}cAk%})4>Cc>3?Wm5|I;~&al5oIkA?Dw^0N!G13CHrP;S6` HD~Ndj&PSQE diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EST b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EST deleted file mode 100644 index ae346633c1690d49530e760f8506218bfa9feef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmWHE%1kq2zyORu5fFv}5S!)y|D78c7+ixxfSeG*`e0_T{D7H)YycO~98)d;2yPBR diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EST5EDT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/EST5EDT deleted file mode 100644 index 54541fc271644e44973989a27f3846a16800caf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2294 zcmdtiZ%oxy9LMnslIR5zDhd^;pkg5Z?J6P_CXB9jh4f-bre6)bLnuyaHz>oJDCyQ* z)1ZH&EHi6!WM<Q9OwE~FGgDTxKf_~NtX0%8df+7Q?Yz&^9`&qs?#}OZcAtOV!G`A5 zC7yqrIQtKm^Mbv+ll%5$sMkLFMPA?HQM+C~C7(ZQ)Y+^*)ma(SmoL?uv7hGXzs{AJ zD<`Mv$f0x-eLJc>y%7`BeL=@QuFW_VkvO@cuBz2CzT&)!FFGdi&rMbnlXuI+eLIcU zY>@=LStWk+hE6&XQdb}D(v#lVWRhQ6ty8u(nQJ=k(bqOto9mY5>QsM@xqfz{z9A>U zq-EyF<Ow5YN^F8m`NONGUKo+|Gry{7M^8(}{x8&xyY|aXVUM}_nH`c@_k+n=)30yw z9XGeme_r2~y2oVauG86(PgRb$PUj50rE-6srKb;ctGvOW<o7kJf&(+9uycVb+L0#3 zp^zzAds${w`_1i(z87EibThMLKxV}!nbN7>>eAug&FryHblHhBX3lqgy1f54b;rj~ z>pQo9sqT7Zm9A)eU(M~>D0kQFRP!2FN@ZbKRaMTDs?oisI)8<(9^7X9NprRTK&zQQ zlBE~Cx>eo#b%g{rw5Ww2W=hSnfU50@ll#gG)uP9SWpR3n3f7&J;Mk~I;(J$?{5Z+f zXPnUW$1j?tk-fTM_n>)TXq#Tvb<jLG(5ja=_L>!a3$+A3P%FDzWL18TdMFf-#-w)D zR9z@dBMmB)og$%A<*Ir7s5I}(P-}+2l9rw_(|Y=%emI<N9_b&{ZFLc&wjb1w`m|Zw z)~na09y9A}I`sO;c@-}0k?_z_)t=Ta?E`PBj!O;lMBirh<hgR$&>2!s9m<f-<$ksC zMUQx5JTbB3?B~Dqi$*^?661+R55MP$bMFc6n^;vD^i(aj_kMe8gN!4F8~hg|irT}F zkTD^HLPmuQ3mKQw4h$I?GBjjt$l%b8jt9fz*zo}aL`H}V5g8*gNMw}AFr9Xs$UvQT zq{vW_u_A*-MvDv=880$mWW>mjkuf8KMn;Vc8yPn;aAf4j(4BVd$l#IDBg03=j|2dT z01^Tu21pQ)C?H`#;(!FgX(NGz!f9iH1Otf%5)LFDNI;N?AR$3wf&>ML3KAA1E=XXI z$RMF{+Snk$L860%2Z;|7AS6Oah>#c|K|-R0gb9fg5-6vQ6cQ?@jTI6sr;Qd8E+k$^ zz>tU`Awyz@1PzHA5;i1mNZ_0{a!BZ$Hg-txoHlw$_>lM^0YoB*gb;}#5=115NEneg zB7sCAiG<Q=V~GUQX`_jR(`n<01QdxV5>h0lNKlceB4I`1iUbykED~C$jV%&fr;RQW uUZ;&O5@004NQjXbBSA)@jQ^W3du^?Kw%U1t83iQ;MR|eZ;)3FWBJbZZQm>H! diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Egypt b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Egypt deleted file mode 100644 index ba097504459673e254831edea689c2f8143990df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1972 zcmcK4Z%oxy9LMo<K@qQ5UbPhS8X6>Gl#oH>O)9+(4cD*T%Sy-Uhc#Wb+-c;NQsd0E znq_Oo16^(DGFzoqW?3|K%eF$aIN8Wew>-3#WQHdMjhjU0ee79Vt_OY@_r?4(o}Bk5 zz4Vdg<>FsA%>4=9T(kS;=h4c2w6%O>+A>Z0;Ds}${i|+$=+JxN;S)3T*E_n*H(&PY zj+d7k{myFr?X#gd^1{xbyW*j+yRS4jHL5i{)fwtvPiO4uj~^Gmbu`<ajlJT`2fL+R zU8H{B@U!h*x<s69oFx0^tXKVYo8`GFF?GJ;h&?})6ay1;<Um)u$P853KMxG53&;1{ z!EI~RUweDy&~tl)c)iF*R{Wx}nwQAzg>f;g;RiW<<{KhsUd)cj>r}agNtxR-QbdP8 zWuqMlHR|M`&D-_48hx-#Uhzu5xboeH?U*NvRqVx0a%^3_7`HMm$5(cVtL_Qx)%oMq zge@(0LZ(LK%dIy5c$1pcm$29D7iw~+l=028#gsi;?X_x!D%f~bPHlKiOj}bgubW>W z3YSfnMMWufec}r_J?D8*96x7^PkyFKM3XIPuU0d=-j_FQZxp2mezZ5Pe@or8Wt^Gy zSe`Cx?l<L&di2c?9yPN|w7#Xf)l@`3)Ro2Ghm~hLf~wq4!>aFg1-Es-8qV3>5+vH5 z4sUN+70iA6fv~#qzTl1xYs{VXjry)9>dm}Fot}U1T$3C-7%V6&FbmA1K}{^n)O-@t z3++#4(Mzqt-NzzfZNolYyY7Bd`(`Fct-95ucC6E>V|&AN;o2Z8a+$uev;O<*;_nqA zUgut)D47*;PjPaA7<uvM+Qn&+Os4oq^Y;-x(wBbI%KbC{rvKnSxEpf!%)Z6jkvHyj z?;LsS$a_cLJo4_5w~xGkqyeM@qy?l0qzSL<0%^nR`al{%Izd`NdO?~&x<T4O`av2( zIzn1PdP17=x~`D6ysj^#F{Cr3HKaH6&G7@>ajrd}KcqpVLyi`a9yyvsx<uOax;{A? z^}0@xR*_zjW|3|=+C}<B8b&(iXc_65qiLjTq;0S3o1<~B>l|qv=^bev>7Ju~q<>@s zkR9OI0%Q+3HUZfMWE+ru;MfSS+X-YVylyX$%|Ld8V>^)jKsE%~5oAk{JwY}F*%f44 zkbOZm#_M(l*&46g8)S2k-9feo*&k$skR3v{2-zcKlaO6Pwh7rMWTU)pr;x4ky1ha+ x3)wAXyO90zx()NX9YeOv>-Nm+HVxS|ahYZ<a*0{X{^$4puVIV2l`Ace{tf(fqG134 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Eire b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Eire deleted file mode 100644 index df3ecddd02ec05a8de690516a46eb0bd44170483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3543 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 RtV5WmZFp#GxQBQCzX5Q!`6>Va diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+0 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+0 deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+1 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+1 deleted file mode 100644 index 082986e76d623d5b0d47e7b690cbabd9cf9a0dee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWm|M-D{LD#?#C=x<~2|s}9VF1%4 LE*qeUc7|L4a%mO_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+10 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+10 deleted file mode 100644 index 23276cd13aa7a8fe46d109e6a9a2f33372d271a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmFHT@!&^0swiiD70!VjQ&7{D}% M%LZtoouL62029g-8~^|S diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+11 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+11 deleted file mode 100644 index 28c579dcab62c958f1766847fb316f64e8854123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmPYqyT&^0s!iiD70!VjQ&7{D}% M%LZtoouMHY00%V_<NyEw diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+12 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+12 deleted file mode 100644 index c740603969f103c523c13b04b57ed2eed427d908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWm4|iZ-&@}|<3?adUA3*gmfN2t! L4bVh8LnAH#`jHc? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+2 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+2 deleted file mode 100644 index 721cde2f3896162d84430f832fc5426bf2edb9ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmfBb-fLDvAJGlT>aegM_O0H#S? KHb4{YjJN=14HeJ; diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+3 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+3 deleted file mode 100644 index ae06bcb654b641b86c40254dd0adce48af80c5bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmzj}dzLD#?-C=x<~2|s}9VF1%4 LE*qeUcE(%)S+NzE diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+4 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+4 deleted file mode 100644 index 5a7f878c98d53b58dfa59738c26f0689a1b6c6da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmKYoCLLD#?pC=x<~2|s}9VF1%4 LE*qeUb|zc^O;r_O diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+5 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+5 deleted file mode 100644 index 18cbf1fe2bb028343e36285553af105cd1ed15cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWm-?@Q-LD#?(C=x<~2|s}9VF1%4 LE*qeUcBWhaK=~CY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+6 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+6 deleted file mode 100644 index 1aa4be88302308a9a764d0dd632b74b3325592f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmU%h~VLD#?xC=x<~2|s}9VF1%4 LE*qeUc4k}vG@TUi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+7 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+7 deleted file mode 100644 index cd8ed49af3204f76cf25844942015205fe7e360b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmpF4qpLD#?>C=x<~2|s}9VF1%4 LE*qeUcII3FC_xms diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+8 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+8 deleted file mode 100644 index e0ba6b8897028777fa930ce4a832307f716df241..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWm?+0>p4J?2nAtada1E?MbFiqmJ K0h(xM!36*t<rIJb diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+9 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT+9 deleted file mode 100644 index eee1bcb70e8f59e5a4fdcd04fbbd9acec88fa04b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}85sWmZ!BP7&^53GiiD70!VjQ&7{D}% L%LZtooh26l4~Y~= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-0 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-0 deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-1 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-1 deleted file mode 100644 index 4ff8701406074eaf82aa119ad75049e7d41b0c6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffNIu00V=zfgz9;LV^iDKw6;y(<Ck% Kpow<6hFk#O7Y?le diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-10 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-10 deleted file mode 100644 index e12e461d50a0a48872d7a6d814936abaaa406782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffPf}0tN<cLjxcygai|QfV4sZrb%2j LKojkB4Gp*eWk?YD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-11 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-11 deleted file mode 100644 index 37f273974d5ab91321e2d236121f27e957a0d9ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffU264Gaw0hK4{^2ni<q0BMB+Op~~5 MfF|1M8X9r|0CMsXIRF3v diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-12 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-12 deleted file mode 100644 index 09297f1bc24ec1d8c42eb6129d3a4641286f5a99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffU1v0}Kq>h9I3GB$)66q!kJ<P2#cv LnrNqMXv75ofSeI| diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-13 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-13 deleted file mode 100644 index 97ae1e140a4db63082e006a9efff0ceeeb25aee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffU2G3k(d}hQ>fv2ni<q0BMB+Op~~5 MfF|1M8X9u}0FFixxc~qF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-14 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-14 deleted file mode 100644 index 58d6d1b2adcec0a790f8266afc78e02e653befe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffU1$2Mi3_h9*E(2ni<q0BMB+Op~~5 MfF|1M8k%qc0Gsd;`2YX_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-2 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-2 deleted file mode 100644 index f0dc70625cf4e9dd2fdef1ed8d3c91827199be5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffR#`0t17#0Z3;E2`2miX@vqzlelbv KCfey5aRC7Af)4Ef diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-3 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-3 deleted file mode 100644 index a0790fe9cd25455191d6e49e9557897e926d0d46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffR$50Rw}!fiaL3LV^iDKw6;y(<Ck% Kpow<6##{jT?GG&g diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-4 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-4 deleted file mode 100644 index a75a173dc6414570ed2a5da2de82f8500714207d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffR#<0|SG$feDZmLV^iDKw6;y(<Ck% Kpow<6CR_jqXAf-v diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-5 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-5 deleted file mode 100644 index 85ebf22e8f941954a5b58e4a26071a5ae6135897..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffR#V00V=zfhmv`LV^iDKw6;y(<Ck% Kpow<6rd$9N(hscw diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-6 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-6 deleted file mode 100644 index 95def1f9eaf83160e6dcd3d3e883fa8d4f6b0d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffPeX0t17#ff<NJf(buBTA={bBrY4E JiFUeXTmT|H5A6T| diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-7 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-7 deleted file mode 100644 index c6a776e95bda241701c82f9ee62e2c12f1f7c360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffPeh0Rw}!fjN*BLV^iDKw6;y(<Ck% Kpow<6=3D?Ts1Pjx diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-8 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-8 deleted file mode 100644 index f74a16f98a8710c8ef291b73e1c3e66e368a6203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffPdlkfUv20c3@cV8RcORw%$UiOU9P JqMfb<7XUpI5N!Ye diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-9 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT-9 deleted file mode 100644 index 9b647c0fa95c3838ab9a1fd7caa888468c53d654..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffPgC1O^6e14|$)gai|QfV4sZrb%2j KKojkBEx7<neh{qy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT0 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/GMT0 deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Greenwich b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Greenwich deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UCT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UCT deleted file mode 100644 index 40147b9e8349c50b9b5459d34a8bf683c91b182f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U33UzuGC~OJgPFnd17-@c0bD?H47dQf)dy|> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UTC b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/UTC deleted file mode 100644 index c3b97f1a199421d6d9625b280316d99b85a4a4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U2@P=uGC~OJgPFnd17-@c0bD?H47dQg2nTKe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Universal b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Universal deleted file mode 100644 index c3b97f1a199421d6d9625b280316d99b85a4a4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U2@P=uGC~OJgPFnd17-@c0bD?H47dQg2nTKe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Zulu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Etc/Zulu deleted file mode 100644 index c3b97f1a199421d6d9625b280316d99b85a4a4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U2@P=uGC~OJgPFnd17-@c0bD?H47dQg2nTKe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Amsterdam b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Amsterdam deleted file mode 100644 index 6dae5e4702f5b87a85a9f099e2aaef7ea2f0c6a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2949 zcmeIzdrXye9LMp4LK;2dS4<$qTSRz4Jb;p#q=aZD5bB9Y!Al})ks%Vp(&(br>Noez zvCOG?Lr{l^hPMIUZ%rkuQEIw2UD?IR&74|e^?N_nmg|q&`lEk(9-iOpoWssvjQ7Vk zVOCz8=Py@~{e*{Whkbb6^JROiaAK~kX!<mJ<=NfNs`7o#dzF#S>SZC$8ci~5i*GvX z3L?z<%yUk8Mu6FnQ14VkPBfKK2h7Gvm&~R%>&>R-3C`xri%eD2MW^c64726?Jg2&H zwAtFY+|<0@*KFI?&1^4t#Cd<|IHxwFkF#U$BD2%$IJ<m%oZao4ojt=#%$^@kJ9S}m zOx>9)rvBCjr(t)a*?aDc+4pXZ+24?34wNi42P;pQgXeRy4`me<94<XvaAZ(s!O<x< zt{&@Ic=h;*?HMO8kC9WGLbY*SvV6F7fSi6cQa&mSk&n}dYr8%z1?|eGY0z7prTxMb zm7)agkQ=4JzA){WHbU->|4BPVe5WBD&ueJwQyO}0uZCUPs`q@dMmryRTf5XZNO)DX zbX~bxx*3)3^Iwr3`GwLmdz##v>XV3}DRN(Qf<%T#$^A~4L<J;k)b#<{>&r;(-4vpI zj<nIfwKp}o{2T38c1~j!p3we9_3F*tqOmz=C9bem;uGs+z_@p0VAoZW5LY4zEu}K3 zOPLP3FjWTsT&zPHlI6kAvvg?1WKFCaq7N-j(qSvYb$DKcCM_H+504Dc<lHVYBJ#4P zB)7=OfDd$3#1}HE`70US`hbjXJT8x3S}$X&H%scteVVq!NP5*;eQfq@$uO_!*eBl9 zarx7A`~&&wOC6<;ho)<0bZ^bP;nl28BPHvzV14p>FPX6ON1fOdDA{W|NKWk)nN)gB zCYLqJl*vspb-}m#)UaJLE$5`>c3&>j6RS0^?GByMRdvSK%XDT-q0Tx!PoKWv(`PnL z)cm7!<k>e8b#}#gd2VKREm%BI=8PRGg?XVeH@2G;rQDL|J9wnHe<v-zdQnP(ZfMEr z!!ob=tiDiFAul%8>HOsfbwTwieQ92~mM$sPR(`Eo`~SncO~4)Y4s3g;d$+sG`LAw| z$G^<}FM5K@{ruh6ZEt_=U*mD?C;R<^|2Tuh6Xx-R_wWn9{rv57&eSxYCw;unlVt7d z^~QPa8Eenv6rX+UFYM)KFMIIwr^~+c{e4At+HbfOx%vB7f3a7q;Ia8gRa|XZkh&m+ zK`Mik2B{5F9Hcr(d64=b1wtx>lnAL2QY2SfC8SJ9om_39kV+w?LTZH+3#k@TE~H*a z!H|j}B|~b46b-4Gt1TN+H&<IYq;g2<klG=|L#l_A52>H4Eg(`sq=ZNfks=~hM9PTN z5h)~6Nu-oWEs<g()#T4gIbCf%k%A%>MM{d)6e%iFRivy)U6H~fm36hHMQV!_7pX2% zUZlQAfsqO$B}QtD6d9>9Qf8#iNTHERBc*n=wML4KR2wNbQg5W-NX3zoBQ-~gj#M2f zJ5qO~@JQv6(!1K)BgJ>M)kn&Y)E`*@WCf5VK-K_R1Y{MEWkA*eSqNk$kflJ@0$B`K zyBf%HxZ3qV76e%lWJ!=UK^6sB6=YeEbwL&eSs7$$khMV;$JMS5vOKPKeUJr0RtQ-l zWQ~wTLRJY`CS;wEg+f*eSt?|$ki|k)3t28#yI#nGAuEO~8M0=`q9Ln>EE}?J$ig8j zhb$ekcF5u(tA{L~t6e{20bT71B1?#@A+m_bDk95>tRu3Jp8qG(PG``+oyb5tr2S%9 U(&)7Kn1M0g=(Jcb_Ky$z6}+vK{{R30 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Andorra b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Andorra deleted file mode 100644 index b06de7a5904dd87bc1c43c023418bf2829c01df0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1751 zcmdVaT};h!9LMqhQB7-R-)v;l1Cqkgb5TlioLUsBKjk5b9>ftPtvtn;nYH%4Xv{E7 zYi4OS;UZ=XW30K*3^N<^I5Qg-v&QfJcj>~N&A*-VI&0_LecoStd2Mx~^~V!n{=<vM zXI^{`-fi9<W<Rw;yL%+;*a-=5Q;FEIN5=aaWWvg|GBMwl$PBMca;HjEXtYcoF;=1j zJR1EqSz}&B>6C#nI`!6Yo!0wJ-JS1rddCxu-FHvp8n0-4<vC3#dn}0!y^@sKC&@*J zBqi*)q$V~?>QJl99M_>UpH)cOk0wpO>XBJbOEsgbTr>O9b@u*j%{m&YbE+dXdtaK& z%?VIX<v5ua^+vs(A;}52tGSWSCHLcN$@9A|dHr`}{>#&{py#aQ-@m2>?QOEK`;;!K ztCPiTd$q9SpceV6w0MS3?fhI_60%U2x~J&U!FVklog<}>M(MJzF|z#97hN$BBr8t_ zOIhy+S=IVk$~*dHb@_l)?0m0lvM$Tovin*YaYU*zd$c<6qSl0|*1SEe>xLS%_D+kg ze`f23Gb_}0yIwXP$ke*7V%fAVLO1VEk@~_6X{Zj7EeYY$=>0BRgDq)_8?8;BUP$xE zL2Z6;Q(8Vg)@|pzWP5*~?l^KoclI3DT`is3+TN<JVSfJq>d&%V?1abPvPOy(Xj!4- zT_b*f&M&a760dD}oL8~U*IX{=&HnoUH<~Xx1N_GC%=6PcyHYQ7AcN##l*llVaUugn zMv4p-87neaWVFa|k?|q}b~GbKhK!6E88k9#WZ1~Kk%1#4M~04!9T_|_dSv*>_>lk{ zO$0~?jwS{q2qX$53?vRD5F`>L6eJcT7$h1b93&njAS5CrBu5hy5|pEf3JD8|3keK~ z3<(X14G9j34hav54+#*75DC%I#E1mxXre^IMB+pOMIuE)MPfyQMWRK*MdC#QMj}Q+ zMq);Sb~I5VVIy%Pfg_P4p(C*)!6VTl;Un=Q2LL$&$RR+E0df!=%~3!OgQGbP$bmqP s1ac^lV}TqD<Y*v=!}>2SN07ND(-S=2V%uGi6q^zo?=DD)$GD`RU#;eS#{d8T diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Astrakhan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Astrakhan deleted file mode 100644 index 90d7c2a810846febe4c2a6c60e8c0156505d4d91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1197 zcmd7QJ7`l;7{Kupn>00Xa8MiDq&{jI`iNfBq(n_?Y?_8@3PnPPs!)6s1i=r<pdhqh z?WBSth$tc$9DENtStUppvF+qmg$qtTkh6$l(Rlthb#f3l@8z7|<!}>7zJFol=vYks zaV<9|EUsR&cwRYSwmX4r@kz-)v^sLNye2Sj)z{6X>%Y4m1wN?q+J%JGFnhM#IDN?u z-aBK5t{3g5b4ToTr-$wJ$8z?D{YiUczSV9{HQ1Xv{B}6#(=Gl*9q~jY@+BaxuRo2p z&3u&h$8V&gG$+x^&t>!EL)lWiDc0eOvh~2Uj-9xoJG*b__})`G5t`6lv3<Jh$3dNJ zJSoYyeR|vCh-`n>qIWE$By~F@-A|jOXDTc^uPI57d1cpRQ1@ovOXko|-4}i(*^I6G zJ@+No{6gnGztjUYB|R{ISMPo|rT08Iuk*9FWbndqUC4(<hrh0p@k*tlTs6z8x7)LH z*LrKcZnnSQZm-*|RCI;;GgX_V%ya*ct4^t8TA8!z{`<sbPO9&4o*yizcB|8@gjsRE zK)JY_C$_>rO!M2)r_2wkFjZu-95Y>H!pM{z&7_fOBNIoaj!YhzK2iWu0a5}|15yN1 z1yTl52T}-92~vuqsRbzpsRk(rsRt<tsR$_vsR=0xsR}6zsS7C#sm#%ohScV0ibJYH z%0ucy3PdVIN<?ZzibSeJ%0%i!3PmbKN=0gQG{qv-I+}8kdXa*Wijk6$nvtS$+|2&} Nt=g9|wf98hzF%%35ugA7 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Athens b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Athens deleted file mode 100644 index 0001602fdccd0bbb1849adf237c93aa93ea80a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2271 zcmd_qZ%kEn9LMo<g`0R){37uu0nvz1yYe6W6GV8uFcS>nYNR3<h+;%a#2_(l#auJy zzAaWcGp!hN%&tA4oI`3^IV~W!#+sFb<;pDQSn9MDtKa+N)>;pG){}mB=e!PQm+^$p z+qbT+Hr@KiahW$<oIU2^d6wVY_WS4hkGEYKJAUfu*)u;^k9{hKO9n5ll%d|D@!>b4 z$3B0lZu@BX>s6!2TqRR3Z>*XceXVNhP{5itaL}6Gy~ZEfS>d12vB)pmev`18o#Qi0 zd&k2Io~^n)<77!h!cQ6*{*6Wj4QbTX_ci*$QN81fLptlD7d7U@fW#gNNZe}&Wp<}Z zeA_cJr@m3<Zm5<!i+qxh<CVMI*^(HWBzI4XmL#V~ldfm#yzdfq{z#-Q_++x)(|1$d z-IsJ>*H@a{@tLMHozT>pw>7QeoTNAQNk(qJWR|`xS#bv>JH17+C)#CkOqVV`ze$$- z+N?_lJaX^X<(kt|sk!}2^}gNtnzuhz@2^eJ{Ej8EtiY+BniyH0cu~Ec2`O-%(ZYmL zDZKK%tO)v0Rt%q(2QIuND+9e!H28rQ@9mUTN8Zo}8ycjf^EqAp&>k(V->hYe>eW|N zsB5BD>00-EU3(){%OeV;{L7j8@b!7J?!9Zee#9jk4uwfY-(}g@epM>FhNY@<L^kdE zQ6I@WCe;;#S`)udHs=PkHsoF15~sT5hgWp#M5ET7Zq;q)efsF(^;&;whdlOtt~T_P z$>Uq&b^Got*|9oD8f&BEiL}|$<o!jS46~#;B|@9Wzm=BI8`^UAV`;r|PM><GM|KYP zYumn)x+`!%pKk5e_Py=u2$~c$$r<bnHr_Vb{_rL!WXga2v8>1(^H0k?*s>O+IzlWf zc8)dOvO>iQ<Jl4M_xFE&r>NLx<(tdvE#v01JoaUN`13f-x%Fr{9KL_w(F^9=_Kt4e z`nBK9Y07(bIkGEcTefCj$i|SJAzMTChHMVm9kM-Jvp@a}8$@<!YqrQ?j~q6M>=M}~ zvQK2A$WD>1B6~$Pi|iKJuC3WGvSDP$$d-{kBb!Ecjcgm)H?nbL=g8KPy(61Pc8_cy z*}tu60MY@Z1xOE&CLmov+JN){X#~;<q!mankY*s=K-z)y!`3te>4>dq3DOg!DM(k4 zwjg~$8iRBOX${gFq&Y};koF+`K^lZ~$kwz7>5;8z64E84O-P@RMj@R-T7~oqX%^Bg zq+LkAkcJ^0vo$S4dS+{yhI9>S8`3wVaY*No)*-z^nul}`X&=%*q=85WkrpC7v^7mc zx`?z9=_Areq?1T1kzOLrM7oKz6X_??P^6<sOOc-1nx-OMwKZ);`ie9b=`7M(q_;?O ik?vam$MCvLnir-MX?Jl(a#nI`N`|{QE!BR?bo~Kn113@c diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belfast b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belfast deleted file mode 100644 index 4527515ca3f249a44599be855b3e12800ebe480d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belgrade b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Belgrade deleted file mode 100644 index 79c25d70ef09aaeec21f0a10a029650967172a80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1957 zcmdVaYfQ~?9LMqhL0H4S7)2!{xg6a~D7WL3s9ZY8CAlQGB%zgCF3rrEeOY4-b6vxT z2jM}?T<4O6HN%WC*O}Qcw>5t6|7Np!;F-<;od5sTPMse8-XG7D`8ko+A6E<W2{%`< zx%s*ETJyNxB<4x&%h7W4u#eX5cgd}7(Ne!YSn9ty@^9}elRIfc)z_Vs@B8eycDlP) zJ73(YerL{#|IsQ5*tJKxl&J)+S|?p|3#8k$+0s45BSG<Q>EVo(VE+*5*~(W!yj&Xc zDO!6y57yod9ktKp7TUM^i#iX!)_&y=G_>@FhAlgz;n~MDBJ;jP7F0`ALXAX^-!3r$ zyCpWVNMajHB+jo~;~veF0pAOC;8~XpdYGZ{m06llGf)R_9Hv8d`s>h~ARSgZK!zuJ zsVm!0Mg+f9x2sVSy{>6e&|^t@_d=4Jo|ojht1{}@0U2F&L{e(cY3i0TNjthv$K>V7 z*s={eZqjBQpF2m>`{$}BB}pgvr0GOwZ=Lu#Tr)Z(O2)l*I{8yCnR4o*PHpg(X?xpB zX7yW{Uh+Y*%IjoCR)fr3{YGaEIW4m@Yc)HtLgpk?X-><NIyXRd?yDU-udzVqUoF-J zk372Y&{WO6vP2ebO3=K@bXhzvQ1ds&$dYmKQjp^#OC!3-GWS<m-qw=Bunt=I{;3qT z`K(3tm!$aJeO+;)QdZX0=&Fhfy1Ht&t|>mKC0k0=(X2^R^KzKCSMz`QvaI%T=6qRg z#A^2I>EG4S(z1Sk^4pYDkL7Z6r+ds791h-G4u|LOr+J0>L;Ey;vA<(kKg=~f{{2Yg zbR#DmIpxSnM@~C(;%&{TM@~L+`uVpMU~4KsN<eBria@GB%0TKs3PCDCN<nHtib1MD z%0cQu3bHj7AtfO-Aw?loA!Q+TA%!88A*CU;A;lrpA>|?UAqCo+3Xu|RO^ryANR>#L zNS#QbNTo=rNUcb*NVQ10NWDnGNX1CWwx(vJXj@Y?QZ`aIQaDmMQaVyQQan;UQa(~Y zvH-{mAWL9t)&N-qTeAwtG9c@KECjL=$WkC{fh-2H8pv`W>wzo?vLeWmAZvmwimh1{ zWLc1PK^6vC8DwdYwLumKSsi3~ko7?p2w5RyiI6oy7RlDE60%ITW}T3QLRJb{DrBvY k#X?pKSuX4Uo-S`QY5gMDG-qm5XiR9hGc_U{!=k)@0!L5Jf&c&j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Berlin b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Berlin deleted file mode 100644 index b4f2a2af6de4526f909f743425c0858d32cd14ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2335 zcmd_qZ%kEn9LMo<`IExPeZ}CKfKWF=><X8^i9u#pU<PQ)%}6CA5VQ#6Y79!lk~!Cy z`|23XA^9i9tQqwHZ4I^AztKVx>}F`LEmveU$7W8dvHHDFTebC|XFciMd(P|JGk9>f z`+57;Y^q7O{&9qvC!8F6&B=Y_4s+>>aIWtPT%0&C)~DS)$MuzWR1dax>R?!d4viPd z+1H#pe8elC?#q;OFD1%|KUzjkbXcQhr+17VULm8GGAGVg#pq{6E)C?2Bm`>5HE?u` z^?7o?TyW2kFTy%xEa;4mU2T%c;m(O!B}?VDj9)a$^@B#w`cj?2XVrQAw9dZrrrv)3 zkj{C3ug07_C9%i)B<{dLncJokzwJdysPoGm>#F3=VxPEj^W`pgwj{<T$=wmNB`MUa zNjEZe-ZzPw9EjHWA5PPI`X|-hb5$3#U(}S=Pc(JwN%d5}p=sq~lJ4)9jJyHKT-702 zaov)g-Xz&mEwV7CT^C-il$>81b<ruW+;^!=b9*Z^Z(xz$ziWvu?uyk1YFxUcHAfyS z2vu)&j4VwY*L?4k6oh`Pg|4rp@Y=VsEclEp8y=L0uDmKmeXmRL(7Rf)r%je0JFF|} z>*e9Lox1YTmvvR$1}(j}PJP9N`iOJ6u68Hu>YE-diz<+^3z7QRjd`->#80|55H9Nu z&6M)~ALa3u>r&A^EbA)*Qn~$mePZ$3QdK^r)$#jfLtdZOOh2x*ajLc7b?U|`zit|A z)+aCf^r@q3weF(^d3txA*7ugm=8f_C%&shHSeYyS8mDYYn=4!Mf0k!wTGE&rrHvC` zOVf;-+H~#%X}&h5&%M<v&kqmiw*Bwv_P%a?p}9v}_Oxh_BPclJ&sV4;gpap4>_<V< zrvLXZ%Zk`-e%DrPf+NJTW(Ys^zu(XIIBvD9Kdyg0FD~&}-uzN7oaU1`91in#aAyvO z!}ssg+GqaIp4O!OKbG~IIW`}uoJ6K(YvzVb4w)S?J!F2!1d$mcQ$*&7OcI$TGEG}E zPh_IDW~R1gs>ocC$s)70HPf{<^F=0%%ov$6GG|*eX}%`2My8F-8<{vVb7bnaX70%3 zk=Y~DN9K<t0LcK70wf1W5|At)X+ZLTBm&6<k_sdjwk8=!Hjs26`9KnaWCTeGk`p8; zNLG-vAbCL&gJcFt4U!vMlN=;FwkADDevkwq8A4Ko<OoR;k|iWfNS=^HA(=u_h2#oJ z7LqMnlP)A*wkBan#*maDIYW|$WDQ9hk~buANam2#A-O}6hh)#zqz}oTtw|t~K_rDp z4v{1xSwzx^<Pk|El1U_$NG_3NBH2XJiR9DPBoxUgl2Rn6NK%okB56hPiX;}vERtFz zw@7l4>>}w!@@s1njAYo>q!`IDl4K;yNScv6BZ)>bZT*ir9c~)FAdQ;4OEOZjQatXG KG!Ld`g#Qj|*MPME diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bratislava b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bratislava deleted file mode 100644 index 4eabe5c81bd1eaf255fe09cfe72f10f61762fd5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2272 zcmc)Ke@xVM9LMoH&J$tE-e`Cv2UtW%o&1K-AhQz~dgm`LBNfp+QR^ZgV^A8lm~)M> zcaG^C;*Vmino)mXt)aDkjuxV6m!0L>a%EaMH*->r+2{G)T3h7be!u(P<8!e4<F<P} z11mSz<=Mtv(dI8aT%G3OJY~Ci>7MLb+Z{f8WnZLUdwP%P{`XW5wC~ZOm_{AGut<)- z?$VK0ymDe!ft;*gqhGe(kW+`2$m#8F{i^bmgnh;Gb>@Ja@yw8KVs=Z!-XM{SEh4`K z8{&f*IyI1})BFqMw){UeA?+8PKJ7boIgYFA>ie2_{w=-z^g*5R@ynWY^q9C0_e=7= z1Cr9AlDhQ;nHg%5J65lkJADC3D=Cw^JVlc3&XBt&CrXCXs~Oh{bk>jQni-z1_k0?y z_YRDzr}v`H?mDYk?O$m2mZO>zd{c94B9hlMAo-<(Qm}lt6ejmbQC^D_jkQT}QkNE= zTPJh=YSy{OymJ4y)mqY5tEGc;^?@DpbzZkyAFNB$`R#M$p>n5sgGsU={eqTx$E4i( zxmKioFBO-6l1j&iQaLgt3(vnQi~8RX-|z?O@9dDphY#tJ`g&Q~@uDt!<Rx7m+MreU zg*4!+(1%@%b%iHWS6t80>V$HsJ~LGxy*5i$zVo}T3dhRogYi-`@T;t8yDGI^BeJ$O zEbF#i(#Ph#E9+~9HJG|rHk9^j-J~PBF<Euv&wF&!Sd(rZYSqWj1@wv6R%z(7MtO2) zsn+*Z$y1wBwP8o0G%hQVraG5Aotq+C%KngN;%(BLouJKEevp>9>)LYi6KTC1(P!W8 zljlYTb?e@bbX$LqKHu7_ZJlizWsh=97=K4OC*F$N{E&B=AF|Co(>}pwixXSS&CW~x z0h_n1ikASNu$v3bA@KjRnPmRS!=>io96!oCbKNjkO69Im44t@S$((r4q>x!5(?aHj zObnSBGBspw$mEdOA=5+VhfENeAu>f|j>sgDSt8R!=4ojr%6DL<$W)QJB9ldCi%b`p zFEU|EGh<}R$efW$BeO=Pjm#UFI5Kl&>d4%Y$s@BzrjN`YNdS@oOOpa52S^f-EFft> z@_-})$pn%LBo|0BkZd67K=Oek1j&e{NePk@OOq5ND@a<9yda4|GJ~WB$qkYmBs)lY zko+JCLNbJ;2+5J9NfMGJOOqxfPe`JWOd+X4a)l%d$rh3>Bwt9vkc=TILvm(ml7?i> z(xeT^8<IFAb4cot+#$(BvWKJ($sdwHB!fr_ksKmPM6zgU(um{{NhFd<B$Y@mkz^v- zMAC`m6G<qNQ6!~EPLZS{S+z82Me=HC5{qOONiC9FB)Ld-k@O<@wb>n}zs~WuV`B8J zxc>>T$*>8q$*`$poY<z^?Cdic{%?x^ZLvAUnm*6YrPLmOepX>tj>n&ygW379e*<Wj BTm}FD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Brussels b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Brussels deleted file mode 100644 index d8f19a6312a2c271e09103ca2674b33c6c33c439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2970 zcmc)Ldu)w&9LMo<+8&ppzF1qT=4@S8ta@*U>0GJ=t!qc8u2aQSSDi^~C|P5S$k!r6 z${bW(Mwzv4E#_VsosBX!k&rRlV$Wv6wlwy8KOz#g#D9LL&+|H`d7A#yzCURrCTGPs zo;Z!nceptF%*FeFx#qT_SKqnCjYD&bYcE-=E|%%)k_!EFuj-nj<+`TkUX*9-25aq{ z%G`Ak&8_t_Q>>EsdDe!}A-ScY@z%z$Vrx?er?t8MY-{taxZEu_##o<S7-Vfd(Zkwy za-&tYF~r*L8JN4{LzngW!YS6y+!W6jc{@GjgCaZ?eMh)=MTuv3%nZ+-rhj<$+`s18 z``bCszVnORmEZmDuByK3-oNLp`@ouoo`WkY++P;Ab|1=L?mj$ef%`~$f%|B;NYAlO z8Sdj<4!KXHpZA=&)X-Diua*1Mjs9|abD-9&OOmfYj*~MP2gjbt8Li*s1<1Dpy6f4c z-Q`^W5N*<-F1Ja^c=cNpBu$HwRi-Csv&=AUp4L)Zr1p~MV*ghEkY6;Q#Sa?jeOd!= zAJCT9wri`i9t}FOR9jc=m*A~s(q`2fd491<+gbC(ot-Byj2tg7rld(o*JODqJV8Q( z!{p`0EhWsAq+xgBwB3)P+P*eGI~=R8uaw`@@RFO_aoHt}DEdkxr&noI<~EHUbx~sS z$|W|jQsRbuBJpijOF~S(B-9m3r`F4~)8%o}`JWluWq*>q_I<i`EghqYm0k4p`8~8- zaj<sJ3eg@#ouy}QmnLPlmR_MZG&!kGdb>_)pO7ok=hk)U>wQT2)>KQsYwM+d*%nDT zbx>26ES3RV*XqEW92vCu106j4BOQ`GL5IGYt!XKJ^o_s)IxM`s4!awr>HfVX{X%nn z^G-V%vFlIGsP&bRo@O$t{8t%Wcw5FStC6u|YGvH)pY^S7yJh^SQ<~X!rA$aH)2s#+ zI<bxF#GjVyq`EwvTwS1VUry60n=&-}_%xZiAW?HlhsryX+G_6nc$qf1tK?+`%Dd6e z%k<>G<h^DNnGxx)GpwtU?{`=8&m5J4TNicaj#7EQrc!6EJgl?JR_mOC5-nU(s7^1J zm$#3%PlI~(pZdk~-Y#xFUJZSp)yv`V2{Qkr93O|nPaF*#j$pU5@#F8E%^p7U;K@hN z^h`~23{OsTB-z(cKA4+1PN(@Y$NoY4vor0#+hKm2gNsvTF5U;-<C8h}%^9}q%5|K2 zGrJUN3epu@(-x#JNMn%BAg!@Ay+N9TbO&h<(jTNjNQaOXAw5ExgmlT)v<c}G(kP@; zNUM-uA<aU%g|rLl7t%1KV@S)8o*_*`x@K$IhV%_-9MU<Ybx7}!<{{lf+K2QHX&}-; zq=iTiktQNtv^8x+`iL|V=_Jxhq?brDZA~|kb|U>m8j5t3zX4imYkG<_73nI{R-~^; zW0B4xtwnl^G#BZvt!XdPU!=iEhmjT|Jw}?0bQx(g(r2X6NT-ojBfUnNjdUAnx2@?n z(r~2XNXwC)BTYxTj<g-=JJNWh^GNHF-XqONx{tKq*7P6Q09&&I$QB@bfNTP?3&=Jg z`+#f&vJ=QwAbWvq2C^H-b|CwKY>2Jd5oAkj&7L5eg6s;iEy%tg8-wf&vNg!wAe)2i z4zfMS{vaD<Yjz0PB3rXZ$R;7XglrSCPsm0gJB4f&vRBAvA-jca7qVZ-h9NtKY?-au zGi1|{T|>4F**9e4kex%e4%s_o^N`&`wh!4qWCM{MM7Ge@>>;v=wq_TRZAA7F*+^t3 zk*!4b64^|L)62V_w~x!m)v$hpr+)FgPd#ofZ{J4G>h*9n&32mAG{>x_pRikI7v=Hy vPXC9`Jb3caGbv^}|93y17*OWa*UW6k=p-|-;i<6^@extssnJmw8SDEm0cgd8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bucharest b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Bucharest deleted file mode 100644 index e0eac4ce33159ec614c51379c6c48935a114b470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2221 zcmdtie@xVM9LMp`1y}6)u@4e~0ivRTcEACmXy7jbvN%OKja1}oA!41BsO(7eZt0v; za_@|3mTtHlvu4B}lo=YSWVE@Hez?{e^Sf--nzJ@?)*P$P^IQKk*ZQZwdf)CIx8uk7 zgV!^#d|gAny5-``Cp@{`=E?i`h<Q2D^I6=<*(27;pAK2?Uw+Z*ySU9dHTZ^o`n^}} z5034z`(J6ZKisw6J`-AHpKV-ZpR1W`4?L1*e^fNlKA)9ff1Dg^$G`QdHKy9GO7Pz~ zbZ^0sm6$Ocxi29aNs8%@B#rb$lCK<zjQxCH<o<KpBPpleR;kB3RobDK)VTH+RC?P+ zH9lCcCahelCRUcKjN%z;k~d3DP93WrxXYt5-G!0NaIc+t-D72ad()co#Z_zSz_9gT zZ`AT0?YFWgb=uh-Jyy<+m#cC&?X!IKo2&9_yY2kuEkgw*eR|rG{kkyiu%4bD($h!7 zx+tYXiiTI~nKxTx*6C9H(APCm+*KzfeY0ft&UrHDwN#ngkRkJS%+&MC-BMbgq9308 zy_A)X>T>rdQju|4S6ur}FNis#7eoj3qgP(nk9EJPD=+kme{Z{9c>IVgYHHF|?b~JX z<GW=^aE(;Y2uh%`LY5{ilx5y2vh0RWY7)zJ&6i{3iR)Q<`MbZ!ic227vNK-S_FmPi z!Xvt_BdV>sOM3OzALYq8C-hUb7o<M@pk7nbEe&z+$l5fKwLct?#?fY3H`ppq4+rF# zV=E+heuG}Wt3;Z*s`ayt>GIspLcL*ev2Jci(i`)}=}l$7>CN#<x8x>D%g^8F&^<RK zG&G=FuYD!Y_jKtk(LQNAcviM{AC_&cM<u*BEH3wLF@Jx=x?^wojPLmCL-SQ0x8Lz! zKa@%inSWYdW0jifbD96+)bZ->e|lf(52*R(SyoofOThf7%k}4zU*mEG{(UZc%r`o7 z`IR3r_q(~^MLQ0e4>BP~Gb3b5$efT#A+tiJh0F_?7&0?tYRKG>$sw~triaXrzljMV zGeo9{%n_L+GD~Edj%J?7M3I>yQ$^;=F<Fk;a!i+Fz8n+gm@&tcIp)kUX^vTQOq*lg zj%MPHX6DG$k+~z2M`n*qADO?SNdS@oBn3zgkR%{kK+=HZ0Z9as2}hF(Bo~e*8Avve zbRhXa5`ts|NePk@Bq>N%khCCqK@x*x21yN)8%L8IBs-2KJxG3#1R)thQiS9PNfMGJ zBuz-3kVGMwLQ;j~%F!eX$(Ex@7m_a|VMxZ1lp#4ol7?grNgI+kBymXQkklc$Lz0JN z&(Wk0$sdwHB!fr_ksKmPM6!sa5y>NxNF<X;Dv?|w$wad0Xwr$~)6pap$taRiB&SGH mk*p$VMe?ft$9?sf=w|1WU$4I)r!dEtTj2HQ`J8vtJbwUKI6@Er diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Budapest b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Budapest deleted file mode 100644 index 3ddf6a528983fc02f9ec0a534756e4d6c17e0e70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2405 zcmdtiZ%kEn9LMp)zf5NCONLhigd#!;`FDZDAhR1V5=`V~Bodg2e<DI62BlHSTyxBQ zYfOiTq7hj$Y76ZFS_##3ArVFf>M~Kl{xFK1W@GhxpC_&Lpl3bkoZa&}oO|z+J3eps ziuJ{D)<2FZ<_Ry32J_<nrWehnahjvBv43!U_duIAwH(qtF}Y=X-i&D8Tf0-6clCwr z`?yn2OmvlXk1UpxZ#lGQze~P&Ena$G4wK&N9%WxPRGshJ)=_wBX{&yf(I@>$UGjBA zyPTf=hI})1hYWZg(}BxXGWb)po*B-Q3;Pd@4`u&ScyY_wvP;ge^TQS2jgR;pE*y3D zS))I9>Wr*J>lWvA^$-0)XU;gQ4zH8ynD|g<4ZW+gPc`eUU9W1uk)slLuuXz?@0B@q zD#4pxl8};exozcYxjoY@p~<OoM`WUe1%}I=(`HGyk4wX^#OvHkVH(jtQ}6n8ir(FR zO(R<_>%96wjjH`zqbrVROwl_Un?E3N<?Z53>5%wkJ0u~fNfP6#ByqAv<_Fa4{Bx@$ z>Gw)qaMUIDp2^kZ)&foGSfKZ9U8D;e1NHvmP+e4;BoCzdsH-SI9t<1NRM(`W`JB-7 z&~GJuY*;e9j!8z(ad~Lyby?i@wq$mHq*>eRWXZvO`fzEfEUnw3*^h41WhHAg=bjRE zXQt~TjwQN0GD4SMjnQ2HG|4@Evp#lZuB<rxtLF9l%F1Rx$#4Hr9<P~@g8CjQEa;b2 zo4?m57JeYB^SiYuxIxyWv}y5;hjeX_>e|trx^A*u*B`Ie4d>kY<bgab`D~*+^-7AC zw&uvw>w>jxYl3XdPL}dwhddKIM=DZ(lV|-bsf_m5%JB<QHT|kq^?oANV*~o!d#&<( zPls-5=+w<^P5MH0i`HzfQBMy~FK=@(r?;0m?Z3I<v>)@9&kg_iX<2?3&Huj@7~<h= zS<}Uu`uF?4o@8dZEmvv|7dPMVFbA3&_rI@gm-(Q*wrloxEb9+*Y#4h#5LutCSs=1P zWQoWcZOtN)RU*qo)`=_>St+tqWUa_zk=5Fo<s$1v7L2SISu(O_WYNf~k!2(6wlxb! zR*ozkSv#_LWcA4Mk@X`5Kq_EsO2E%W4LB$QQU#<8NF8iVA&^QSr9f(d6a%RSQVygZ zNI{T_ASFR+f)oX*3Q`uNE=XZ)O=XbMAhkh?gH#784^khbKuCp<5+OB0iiA`NDHBpB zq)@h|Qb?(6O|6h(A=N_4h13fv7*a8$WJt}Bq9Ij7%7)YpDI8Kcq;$5Xc1ZDTP4$rS zA@xHFh*S_MAyPx6h)5NYG9q<E3W-z_DW$EcB~naVQ%$6tNIj8)A{9kSiqsS-DpFOX ztVmsv!XlMLN{iGMDXy)lE>d2kzDR+Q3L_;(YK#;asWMV#q|Qj8kxC<_Mrw@|+tySY zDYvbuH&Sq<;z-Gnnj=L=s*aT1vQtjI|Ced^HMO4?OZOwQoKXo;F_BrZF&ORi{S!K& B&MW`` diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Busingen b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Busingen deleted file mode 100644 index 9c2b600b103dc4d1f49b5f087055e19d3e031129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1918 zcmciCUrd#C9LMqB0S*~U_N9i$0t7oE{yFj=LW4|?z^DVIoRk#AKL~0>K}Mh$G#PV^ zxvv|mxnj{|%sHYiP%rS$(sHK6+KM$S=cY5wnsZYI)>!@CPdBW(_IY-m*K>diE`IM% zaQ%+zbn~CfZGXat>mB>yeP)||T=eWT7q8WuOA`Sze74j?dw<hePyDQ&&~Mdq@3hXo z{<%K+eUCnM?x4n;JSDOH0}}V~Co-o~CBEf7NvLg*x#e5s=|E7tx%o2Bmo160NizSj z*^=b;Ytne8F1V4X3rA<^qOTv(#e<XT>-|-ibY0fu_Dh<w>!hYueWqy@W0Kx5C>eP} zlDXys$%^Zi?DQtdo@$kxm@dt^vRRh?*{I7-`Q_Q4$~3pHQuBtE>2n<`boocI`h2xl zSF|scl?86~SH;Mx#G9J$pOOOiH(KbuDus7`k)qHqrD)`Wym0-nyf|=F0>fvt_&}$W z^na=^)z!(%o%?k4y7zTW?KUlardET2LVd+kqHBE%b?ro|mPHpx*^iIwtK$n~{qg&{ zVKhR@d!nRb@ORnRdQU35Mr2dvsBGSQTemDfAzLekwJQFQY|9(a>KVthCQh~H)`z-% zszG;LXx5!qg8JH#4O)A?US8jyr*(a$^2YXfeX}D=>R0DVL$ycVN}D6Q@*l|CQAQe5 zqP6kvHED{R(5COclIA;Oy8DYh*)uYvEr-tP-hpm?x4Bna5438C%if`35BoMI{11Do zOl*QH%$P_qk4}GISsXO}{8Ao4{>tTY9>M=Vv*Grae7KtJhxe#SzS-+9d(FFhyAA7q z2=747vZFoE$eBjYH5X?aIp4?`ceLjmIqS%IN6tKQ?vb;PoPVSNqywY{qz9x4qzj}C zqz|MKq!UNm3epSG4AKqK4$=?O5YiFS64DdW6w(#a7Sb2e7}A-eZ4K$o(Kd&4hqQ<E zhct+Eh_s0Gh%||GiL{CIi8P9IinNOK>S&uqx^=YeBK;x_BON0xBRwNcBV8kHBYh){ zBb_6yBfUG?=8^6lZTm?7$Oa%gfNTM>2goKMyMSy1vJc2cAUlC<1+o{&W+1!aXtx8| z4`f4-9YMAP*%M?_kX=Ex1=$y5W00Lewg%Z7WOI<+akSfm?2n_}AY_M-EkgDP*(79_ zkZnTt$+$v8>>cKQ*tan=_#fCQyHIwg?AJ&!GpD}?>`wiAtNs})`;4&TwIq!h^A%?# PXC<fliqldtB_rZ*zi7H} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Chisinau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Chisinau deleted file mode 100644 index 2109b52a734c1eadbc8ffa4fbdd5e6a53fbbb60c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2445 zcmeIzeN0t#9LMo5@hBo)*NA5|OhCQzD2gRY;>8ruiy)E-o{|s+EmRB>@HgieO#>5a zR;*ZSDw{G~j8f33Oj!|7W2=VN*_ve!)3eIyGFQL%Ay%zFT7UFkpSyG4c!y3mzc2FF zY%EQZzs;dP;bD#X;p=Fn-(D_%CE$&YkNr+9_|Z6Zt;IO~#WP0tV4cy^*Jhr1^F{OQ zv3=%ShilB<hRx>N)y3vJWh=~g3)9VW4<?%LrAC?OWA8FAgm{^KJ<Z1ZPu9Bozs_=e z*cN<X;MEMr;KA9Bq2&jRpqQgWcZXa|5B3{z2mgF$Z^*ZSL!l!X>0$lNL*YHGR>bjV zt;m)=)};O0tjRSc)|84>);()8t*Gp|*3|j2*1gV9Yg&ZA6+Qlz6`hf7#(1ZwnCsCh z_HwYAZd@^@4}WjWI5+5?**Rc1UpwiZb*RIL+uQ7p-+s_YD5-KM7PXs6TXzj5r=5`5 zD;p#wvPtG7ZIU^+D<w6&UZq~jlX<tw)O}}C<o=OmYW|U2mDcT43+j{A!j}S7dTEe) zVDC&><hr3UN+!tSX`d-q#x=?G?p8~tek4n-ekw~nUzeo=r)Alf&q-E$i)8noR5^`x zvix|nTCv3t_x>uCyShfLtXQq`<`%2`?0ITcaJnjRhO2@bQK~Q~RSG}xQV(4ZlQmsm zsfUMuk+rR!Qq=jm6z{$)>kjpbvF?IAQhQN7y0A^w7oAllllRGEX|1Z%@2J`kxkqid z^0X?uU7|Mjm8(scGFADp9940Cy=-oXS6hy_<ngkJ>WTUosmzU&t)=5+TcSg@yS|eu z#}Be2-dF9ghNU|28&y5jB|EQvpq}bDEV~9ysG1i#Rc(8ds@wUz+TB>GJnr!J^!n?| zXPmE}uitq8(O1BPKVCliJH37W!<R_7pZ<?5VLyqNNJzElU(HDH2oQ;wA`{2nM?VR4 zND!ZRgpR$Zrh81{`z31Zee9F5KOs9OUo!NwNIx!D9&h>s`_aG1$y=<SEdBx>9;1)_ z1t0u*`Tu;EP5S%oyS(}PZ~RrSpsVjD<xVNLO1W3N`erG2OSxUj{Zek2a>tZgrra~- zrYUz#xoygQQ*NAc=agHg+&kswDR)n~eaih)44^o`KMM;e9#BlMt6iYjK=FZM1jPx8 z6%;QhW>DOq*g^4wVhF_%iX{|JD5lueu25{Tt9_vuLvhBgwua&j#T<$|6niNCPz<6t zM6rnC5yd2iOAMPBKH1eqF`TlitzvjZF^l0A#V(3p6vHTvQ7of)#xRZI8pAe<Zw%uo z&e_%0F}$;@&11O7u#e#%#XyFG6bl(1QcR?{NU@RPBgIIHlXkV06ff;+GbwH|?4<a~ zFqGja!%~K)3{x4dQfy`TN->t<EX7)iw|2F;6n821Qv9VDOmUcDF~wts$rP6vHZy!? z7|n2+VKu{RyV`7q+jh0x48JLcGaRQ_PVt;#I>mMQANGF_yTAT%Fe`~449=Y7xRkgA MXHH@QjZgOf4F;`^qyPW_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Copenhagen b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Copenhagen deleted file mode 100644 index be87cf162e1a1a8470574ae2c62b92f61589b903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2160 zcmciCdrXye9LMqJoWl_#WnVNn7B>qCts{5H3utx(W^%l7R8kR5L@6RUDT7ieGv*p| zUmeRia#=Z6O{hPp{=mz$%W&b5vNLAobUL-$%*~uuWA%GKj^V1m{XKi0*Tciy{DaRs zu&ky!+xpLmG+($mE#~HZ^vmYap47UkJ$$6U*SB;--<7#?@_mnn-toz)-MP}gEmgh_ z#>qDmL{B%pCf~+)YItR*gwLIqfszwCaP+v03GKNy)<0YB%lT7dQ-0C7u|KHCby7Xo zkLb9IAL{+5_v-_n?b7%|hb7@)mn6RVmL#>RByWC2#@7br!4+%dq0)e)6cot>Z@#1^ zq{+jh#z~snr)f8Gb>gK|ofMAKN4|*EN4syS_rOm&x$Qem-~N?mY&@iyRh^nuaYnL( z-I7z-Be{#-ki5iwlAqlu`Gd_eCB99koLwzb|7y@_hkY{r`*JPlsMNxqX*#22md<QX z(8sG&bk_E%@<g#)eO2)?JN1ed`39xfeL_o8&PmDD%QDAxOy-1o<;jch%G|CGq_pp- z`ggX<yn}D+{JJ_>(E6$_T>82$s$HvPkJW0Rv_uzs=IIjeBwcbdQ_EwErF>wFK6PWF zEc@hlT^^2-75ihPqWf1_*?e6p+d{IcGAygN{H#yU{8ZLd^l4S{URhh%rPU)p)^&-h z>wes$>j#5c)7zxaoDJx+?=9EbFYD#G9fexgQ6|r?Pu2}Bc~ZZyK!VjCc_AxFHWvLM zn_?_!$cWX3YZs(3`ldGae=bc|&*+OEb;wJh9^Jh6xNhm%r(2s2X!Fiybvm35SHvBc z(>>zuUzT-mpZNo|62?0sEGt^9dxoC3zYKr(`2&`(sEkK|f8j6(%}e0_=P=UzlAE)` z+`Px!;wN+dHm9cLR5#X-`YjikiLIFmG8ber$ZU}5AoD>cgv<z;5;7-bQpl`q&9snt z*_w&*e`03H)R4I$lS5{QOwZQL51Ak`Lu87`9Fa*PvqYwe%oCX?GE-!#$Xt=hBC|!N zi_F*7Oc<FlGG%1W$fS{3BhyCajZ7SwIWl!*?#Sek*(1|O=5K2ffMmedqyWhQk_03R zNE(nlAc;USfusV-1(FOT8%R2kd>{!yGGc2|g5<>3Bn8O|k`^Q{NMex8AgMuegCqyZ z4w4=uKS+X*4B46#Avv-&NkX!OqzTCrk|-ooNUD%rA<06rg`^9~7m_d}V@S%7oY|VB zAz4GxhU5)N9FjRCbx7`z<RRHZ(ud>^Ng$FzB!x&0ZA}u9EZUkhB6&m-iDVK<C6Y@d znMgJ*hs)`5M!4^|Tq7dy{xuX%lTQ;)lSxyzXt72QJ#T**{$5Hx|CP|;hMKo1)78mY U6xQp{NzY5q^!l?hF(W7HA9HUhBme*a diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Dublin b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Dublin deleted file mode 100644 index df3ecddd02ec05a8de690516a46eb0bd44170483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3543 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 RtV5WmZFp#GxQBQCzX5Q!`6>Va diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Gibraltar b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Gibraltar deleted file mode 100644 index a7105faaeb14ccf0a5d3588e74be709fab224275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3061 zcmdtjX;76_9LMo{L(&+>j!u9H>M=va5CNCm$P|$%AeWosuBoU=q+|pxQIlEIIL^O@ zB1gz$5;_LBg!`5oxFCuMDQ24H?wDncnxdWW)A*`p8sGGy=b4AknL9l1?*0Be!zL$3 zy8d?6x1aEEmD-1Mvv=*Eg>8z=!WwU#dobMO<?l3K=H{72In9juV544~e%E|8Ay+S% zxyR%ut~X!zx}yt%#^|NNrFvPrP`&K(EwkKJWtLa_>TfPy(}iUzx@hlVUA#0=uP~Wr z<%i*V)u)Hd>Z$SO+qBiDq<@%M6E{q+4OeDeWV%`Z_-|%IlO(g@mm_B5MVH=m^jE$4 z_z=BieU;w2>Ymy5#TxzH!T`NJBS-I;QKxq%W$Il6^3Cq9!*yx*?Yb<f#+21QX7>5D zk$pKsWq)N0DSx|%99ZR&iZMy*pq!RNsiUMa%}-U{iByLt-_up&Ld=o4Q@XlED^uO4 zPO49yQZ<Q%y5^pjIT|)!AHDsVu5C0`*IvG&kDv87KkTp2CwAR7KbBlFCyV{`sqAv| zQ`!sW^pxrP%)oZ$XOEb(kqyncs3LtnAVgny!ejis4v7Ett<v<&3VE{1NVA=vNWkVT zDzLCvHP2n7TFevGa@KoFr=+P?BgUzx;ytQ$&lvS|XcrX}7_8bfY^s92qb2x8Cuw^& zNJ6Upq}}fN@=VDs3C+JK?XznoY|eh^FnzOxk1vvlk;hbIT8ZiywMlgv__^xbJWq9r z%urqGvQ*cAZ0UMptm<|rUAk|HRy~d<Nza1O61AzjJU6$u^ja7w&nLH*-gCOCKK;BU zdVGND8+2Y`qU%&Y@4XV+`lO1zdQQc8ZC7y>d(?|(mZ+DCm#g^lZIUp5o=PlSEH9^~ zs{ZrdmjOdQmVqe~WYDuI;)#!ySNs!YaA=4Oz8Nk_zWr3v_f2Hzjkapo+TUe(wT~KM z8mo~dSJbGi>uPj%g&H%uT8*83NnY)>PK_H`F5_D+P!pnxCAq;Gnb=%p;)NWURF@`` z_hiazCp<D`*>FiIou*#@C`wWb2B|kDwUnuIJF95}daAT!fAwZW3pG9FwtB0vOQm=4 zmGo<;RYs$ml5uF4%Dj3^W~?kwGb=X9tOYw{c5$A(lbJ7B^Rwg;_ru;^?guw-di~S; z^}HYbZ}0o}|F~;^;I2l>T@PIiT&_UvZpbID#?IOIuXB8Y$JJ+$#}$ix?IAjb#~xg6 zx7$9>>u$H_-`i4V|J7;BE$1DV>%P5)RQl9ITH|PYgER-}4$>Z^KS+a+4k0Z<dW19y z=@QZ=q)$kr9BrqNRyo>UA<aU%g|rLl7t%1KV@S)8o*_*`x`wn3=^N5Gq;p8?9BuEA z<{{lf+K2QHX&}-;q=iTiktQNtMB0e-5osjSNk`jCq?eAinMgO0b|U>m8j5rjX(`fE zN841St4Ldsz9Nlvw4HUdtwnn4Xq$_4*U`2Y>93=0Fw$Y9#Ym5lCL>)&+KluWX*AMl zq}52Tk!B;^M%vBSmVP_hh9ezET8{J_X*$w%r0q!Gk;WsPM_P~c9%(+(eWd+J|B(%F zv^#)o0kQ|kCLp_jYy+|n$VMPLfouh`7szHHyMb&6vLDEXINBXSw#3oy39>23t{~fj z><h9n$j%^JgX|5mImqrH+k@;6vO&lWAzS2V_Xyb}N4rbNHX-|jY!tFn$W|eHg=`kG zTgY}H`-N;6vSY}WIodr#HqFuQ8nSK3z9Acj>>RRn$lf8FhwL7*eaQYH8;I;6vW3VV zBAe)FcM;h}WFL`@M0OI{N@OpQ%|vz+*-m6Xkqt$56xmW_PmxV^w7ZIItE1glWMh$? xMYa~%TV!*Q-9@(7^{~^++&;Mf&*ST3N4b3js~nopF|2b~cxXaIICkjh^C#k8TKNC~ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Guernsey b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Guernsey deleted file mode 100644 index 4527515ca3f249a44599be855b3e12800ebe480d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Helsinki b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Helsinki deleted file mode 100644 index 29b3c817f4637e98623c5f76a6078f18157b5cfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1909 zcmdVaYfQ~?9LMp064tP9EC-b$$>pfi)vbh_aw(*PTvDjq5<<$YW15*Y``Q{a4AYt! z@gQts?#8q;n>E9ljk(UuhGEwDz5kxrJn+osoSpycteu{H-yhGs<t6dfAFod4FMN1a zm=E8Byyj8AZgt2#Uru4m)fa`qk!{{yJ$+t>{}r#}<5_R-=V!FfgQME_#$FA%bXh`A zHA>i_Bhs%{C49?vi6||X{tK4KfGm$hrnqIGGg+cSqh(On-Vz;<uF;<pb?}QQ9n#uM zhu-R}!<xRTv;K_^uY0U9HTN`j{Uvo3oz}SgM-pG&Bnhd_k~njpB!wN8<oHTSZm*V+ zA$2;kZIO)nUZJBer^}cpd79EtpsCHHb?naZnszW$$CX6t_?l5NAtON3i$Y{#)GKwT zw@XIAUCoSqDw*$J%4Gj*GTC=WraV6`QyWi8R?8L5-cu{nP94+fWo0s>c8BK7*{w56 zi#2ydsd}<9b(UkA&UOyb*<W0m7n~t^4}0j`&x2*&`A<5(HBc5D4U+t(ce1ehqZHKn zq_Ch>7Hxg2i_<R1lKd7e3O^vlsf}9F<(w`JQ(gLczb<Pp*X4JrbVZv-SDu)!rMK70 zs$HpC){rZ!mxb$^ok_AbCq>Fj9I`I1pR9L(lMO+ZRKx~r#fN87+5L-F-oGhT?;q)= zvkkJ@*Q{F(T-U9Qhjm+3y;kq3RzLp^_Pb-izkFMkqu3l2&yJQg)aBR3vO*)QZohxe z%Jx{3%*XA{<>BG?mY?6Rr|0jdyV3m8KHabUi+TMpuiT4+4kD+FoHKIL{D!keP8&II zTXW*bnIor;oI7&z$k`*OkDNb}0FnWc0+Iug1d;`k29gJoh^@&4Nd?ITNe0OVNe9UX zNeIaZNeRgbNeamdNejsfNzB${hNNa|azm0svP05C@<S3tGDK2Dazv6uvP9BE@<b9v zGDT9gHMt_m+L~;Ubdh|KgprJql#!f~q>-$Vw2{1##F5OA)NM`fNb<HOdnA1%e`ErX z89=50nFC}JkXb;c0htG6B9NItrUID@WHM~cY#`Ht%m*?d$c!LUg3JjrDafoK(}K(k zGBL=^AX9_P4Kg{lW_FP2u{HC9Ob{|d$P^)SgiI1LOUN`?|LHabnz0%l&ulrf6JnBL PT(Jqx>^PVGEiv#Xi)pZk diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Isle_of_Man b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Isle_of_Man deleted file mode 100644 index 4527515ca3f249a44599be855b3e12800ebe480d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Istanbul b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Istanbul deleted file mode 100644 index 9a53b3a39063e86859b12aa755b78cfb38a26709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2166 zcmd_qe@v8h0LSs~aUAC%)b)e#2L33-Ls3H@It;<Wlc5Ja>4}@+_AJqKI`%DVt8C*I z%*}N3aoJ>}IZ`4=&bD-ITIsP`!!UYMED2aoYqmKz{nnyi%&zbIskWMb)cUvYv*%vN zaq!3OKJWOtEt^WkO=qfpg`3l^Z=Qz|`oY>g(b<)iYj#~cZ6DgW!8yF+1*4}iVZK&# z!tN~$JFkb^?7pHRv+t`L_8UL%a*n>g$QWq5W)7tK?XxQ;%#Vf=#^B&F^W5cr<I^Xu zI_I|rj0=Y<&EeWK<6<n^`E2eE`}5-K&ZWS5dnE0EIdY}O{^I%(bM$<(F*a<Q<Hz^f z-+q76{I2DcJ+V2%{9$Iq7Tu>D&(`C1TH+PQyYgi_ealJHSN@if(fX3~R~||DC!ZF9 zP;Yl&bg`4E{B~Aw$jlm<ZDjXUnz!`sGj8q3GlM&~8@E5+nY^Q+Lfl#RTr#I%JaJdJ zIhpG{lbGhOPKI{vH$r3klldQBu%~zB7&G>4S2Le)QM0zKQFk{lSNFv3R|Qo?YWDn) zD$LJRbEZzJurDmb6VqhT<$#<!{EM9T!Bts&Voc8O`B*O4-L4jPyeaQ}s#}({?30Vu zzpF~0JfO;!98~42o>livPpFF0M^(j*$5bTm85tR0rYa}b$;I!@Q4fq($*SI3x#XQ0 zvU+EstmzVR=_bE?up?hR6ulyAH~gxW6%NX1t)rryrOtBSS*xz#%V6ELZ-VvS{$Tyk zKyby^hl4AR^#x<+&R7k5$F0VruUZecwg!zo?bah}U$j<j+i0zhoDRlgb=I2PMysj% zpw;waiM95Vg+^N{mGXGg{>zo_`}0ckX88Z@<((3^>GJu6$Scy{NRhW$qzf^x#4|;R z{8=Jfh{#gUZM-6K{{H%3-@|WX4RKMg?`U*24{=dkQm*eZ{;NJ7eSUxD{vhK2yp<09 zPIoIm{qcwTqe?ZsJ#Y!x4zeFty&+^r$d-^jA)7*Wg=`Dim#f|wvNL3B$lhG_=8)YX z+e7w;Y!KNYvPEQ%$R?3pBHKjviEI?vsjJ>9vR7oY$ZnDCBKt))jO-ZQE%UkQJp-FY zc8zQs**CIrWar4%UG?5MY~EGx9@##!e^=cAqytC`kRBjSK)QgmfkPjVMj)L)T7mQe zX@;xr2GS0sA4o%xjvy^TdV(|s=?c;oq%TNgkj}X3)*!t>nuBx)X%EsLq(MlBkQO05 zLYjnh32773C!|qGr(AWbkY2g!W+B}|+J*EBX&BNmq-99YkftGBL)wP)4QU+GIal2} zq<2X3Ty^)5_POf*Aq_-2h_n#tA<{&oi%1)hJ|c}oI*GIr=_S%kSKUpdo!F+o>*D_y O(99|w*XjjjnZE%*@2d&` diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Jersey b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Jersey deleted file mode 100644 index 4527515ca3f249a44599be855b3e12800ebe480d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kaliningrad b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kaliningrad deleted file mode 100644 index 37280d05f9a993b27468b028bcd8f0774a3ce017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1518 zcmd^;OGs2<97q4-E45K4!p3)|`N&62<D;pxrpD3Kku0Z84{#w;5v0{J;zI_Bh?*YK zLdy^_f)t`!lnE_b1euM3kWE1l5xA(kiOPuj&Q+mkQTu+Ed(Y)##DO`-zxPnPQ~p?z zKH+9N_04;Z(vM!Ny|s7xrO`Jt61+NiFL>>KFxVfs5_}TZ861D#XnS_k9-J8P*q&c3 zw}ra$Y@s<z$7D~Sb?VG;^HezhO>)7F(2A5-ZhLIF**=%_C}lP=lp6N9)5b4_(jQ(o zGHzWkGW)uWth2|Bl_%Sb>?3=ORr_m=9Nz{bx2n)sU6N|#Wu!{JHC_s$D^$U!d{y|) zuGUP)s-nkVRq@?fRWcY>rI*Lm+Q67vcVa|2+WOV{15d?yY)HzghoyY?X{pFOFO|;2 zQu)18T<P7)^}0niemkf(jaA6zaD%EE+NG*TOVpO`GPSigQMucb)wV#fZ1;Xvp0)(3 z$(vDL&qt|^9#wU@lT!ELh15shk@|@T((txN8b|uXH-1|+ojWCdUvWo-B_c9v@rsF# ziCr>(#l<gNORfKYC0Iq4yY#Oi8QGR7kwlxs{r+C$;5;LnbC=taAX4OzWsA?n6HBuB znKbh}YyREW<QI>(g@<37T59y&C|(Y{`k>fR#=o^#=ARZl-hP????N@}kDEe$S@^pj zdPfKL?SKeoQcDIA4I&#vIEZu*@gVX+1cXQk5fLJzNi8HqN{E;ywVZq%1cgWn5!IxY z6(TG|T8Ow1c_9KrB!-9#kr^U1L~4lG5V;|OLnLR2&XC=t79Ju!M0|++kN_YNKth1T z00{yT1tbhc9E?C1kuXAG#9~qh!-&SD4u=sBBp^makdPoTL4txr1qllh7b7r8WQ@=t mu`z;!L}yZm$B56Q4v-NcBSc1wkRTaR%70U3ypFfj8UGW?P;_7b diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kiev b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kiev deleted file mode 100644 index b3e20a7e3946dd522e50db39a81c0e5f4f1bd619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2097 zcmeIyZ%kEn9LMo<1d6UkUt4s&0YZ|Bc7+RwqCsNU3p2QSl`D}-T<eNjM2g11G+a8@ z8o6(i)m*w+G5j-SwxK=1)}Ohu2Dkel*BrT8t!&P@vsJTltbXrf)Po-MsArwCb6$sY zxjf?Yj;`L+Qeyq%xZS+r;^;CL&(n69+i~BK_~|}h?9-9L<nZNM89C<F#G64$j2zvZ zIrB*J?kQhZdDBND-rw$cf6A4Nq;E7>b<gnrWY*ckPWFjcoScI%I8%GJI=MUIPG0LO z=iar|&a}GuPJTs!bD!VmOwaZ>GbY|}X1tvDb-{PuU9&#F8k>FYv&j8}iI~6d?Z}+o zQ?bH5`y)l$&T1fjQj41|N=f^mlvWPO+?B6NS<WGuSJEl-#=50Et5?e}t&;^eI&|T? zL3v=bQ7ihJwQ^{oKDc+WE_yv%t6K7P@ty_pP<5IH<5{v~`eh9T$D}RpYrN@}is zFH2KCkfn+9^6<BBN$tRKsT+Pz!~1$<*@-uFd0U%AdUorIM_$sEt?RXZeyc|7YIK!% znKt-mX~Xq^HfB~!;}>`8qdynO>N7v-nhPFTdw8-m4PKSUx_^}B-h{-OFUY!`SM>2k z@5mEP!y3;$AnPj!v?cwtZpcyH@WX4majac8o$t~oFGcmKqieMFqb>6Ei<R2eUoX#W z%+<|%%Vf)n3Tbcg%GTnkvMuzhJUiKvj-pKMaK4ewjO*H&JSSb(F6#DE{qkI5NOv6g zP<IX-(&xMSw0mE-+7nW4Nli;lx%K9me%s%tXTr^M;-vrLw5;rd=KqU(s=4P`>6SG+ zU`?{D46%ea_Fd!m@+#Xm{^|I$ox>aMe77zfwQ9{33Pr7OeXSKV21E7yu*AGH4;;4b zUhvmp+tGiY#CG%R?j(Ns^LxLWqv6cQabzOMOpvJ{b3rD9%*NGBhd;x7kO?6(ay3&z z=7dZNnH4fEWM0U`keMM<L*|A|4w)S?J!F2!1d$oKnkgc4L?(&M5}774Ph_IVOp&P~ zb44bL%odq0GGAoE$c$ahl#w~Rnn@$GMy8F-8<{vVb7bns+>yy6vqz?n%pXYrk^v+I zNDf?05|AvonlvDJKoWsu0!amu3nUpxHjs26`9KnaWCTeGk`q^x6eKIICM`%_ki;OF zK~jU{21yQ*9V9(Sevkwq8A4Ko<OoR;k|kG@CL~WtqL54>sX}svBn!zFk}f1)NWzee zAt^(0h9nKinyX10k~deAI3#mO>X6(a$wRV-qz}oT^?(0tkBR1-5+dmjmll>428v4k L;o^Y%G}rS7d^Gc? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kirov b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Kirov deleted file mode 100644 index 40b558f82117925877dc9ad67522db00a7b169d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1167 zcmd7QJ7`l;9LMn!n=~bHaM8v#sgIh5KD{PQNj0shX&b636bTMhq4+2Wf`6ogg3y4q zlM0HUqKIN}@j2*Zl^`x++sUm82b_E$XA#7r@qBOX<REU|n|nXuk_^f3TNphu9#?-H zHTDS?N1wfTzp7|&w^VoWNhvt8I(D_ZCN%HV*34yUzk42qKC1HCg``tAd!}4Jb5V!y zoz{`-6T0E-VZH9u9=-l(PH)(k(i`*5x-ng+H?;+IG#oHZ!9^4E#U%DMB+YL=kF~t~ zB(0C%N?U18+Alqqj;V*TdE%xxhc3vL{WB(h{IW^(+%TQHPnu+;Xu9HiP1lbDCRKkz zQt$dr_u{B*eb!{QEu<xVCo4Tq8>DwSD%-Cq$&CA@Zz^nd41AF6!Jno-`dS9E+6?;c zORn*S$$fcchN?<tX#TF*`F`5$dT`F<XK%~!`D3P#kBm)LDi!6aTCsF`eZS9Yf3@Gs z?eC}8?^mkhiv1r|i=(_s4UTy1Uz^IPmCN_#Cm#ER&*X;-s?|x@D`~Gzr9Ad!59BEP z!+_tGzM|~!s4yflCXX2u85J4U)sBk{jEsy7jf{;9j*N~BkBpB5fJA_VfW&|Vfkc6X zfyCiz13@A|LP26df<dA|!a?Fe0zx7}LPBCff<mG~!g957A%VHt$dJ&G*pT3m=#cP` z_>cgR2$2wx7?B{6D3LIcIFUeIZKO!3t~ORASR`5`TqIs3V4Sp@|924w(l+tl_C(+p DaEJ}W diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Lisbon b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Lisbon deleted file mode 100644 index b9aff3a51cae6888cbd0dce88d4f2d1ace1e88ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3453 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 ViGM_J!zK*_8U^}C1P1WV^EbKv4f_B9 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ljubljana b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ljubljana deleted file mode 100644 index 79c25d70ef09aaeec21f0a10a029650967172a80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1957 zcmdVaYfQ~?9LMqhL0H4S7)2!{xg6a~D7WL3s9ZY8CAlQGB%zgCF3rrEeOY4-b6vxT z2jM}?T<4O6HN%WC*O}Qcw>5t6|7Np!;F-<;od5sTPMse8-XG7D`8ko+A6E<W2{%`< zx%s*ETJyNxB<4x&%h7W4u#eX5cgd}7(Ne!YSn9ty@^9}elRIfc)z_Vs@B8eycDlP) zJ73(YerL{#|IsQ5*tJKxl&J)+S|?p|3#8k$+0s45BSG<Q>EVo(VE+*5*~(W!yj&Xc zDO!6y57yod9ktKp7TUM^i#iX!)_&y=G_>@FhAlgz;n~MDBJ;jP7F0`ALXAX^-!3r$ zyCpWVNMajHB+jo~;~veF0pAOC;8~XpdYGZ{m06llGf)R_9Hv8d`s>h~ARSgZK!zuJ zsVm!0Mg+f9x2sVSy{>6e&|^t@_d=4Jo|ojht1{}@0U2F&L{e(cY3i0TNjthv$K>V7 z*s={eZqjBQpF2m>`{$}BB}pgvr0GOwZ=Lu#Tr)Z(O2)l*I{8yCnR4o*PHpg(X?xpB zX7yW{Uh+Y*%IjoCR)fr3{YGaEIW4m@Yc)HtLgpk?X-><NIyXRd?yDU-udzVqUoF-J zk372Y&{WO6vP2ebO3=K@bXhzvQ1ds&$dYmKQjp^#OC!3-GWS<m-qw=Bunt=I{;3qT z`K(3tm!$aJeO+;)QdZX0=&Fhfy1Ht&t|>mKC0k0=(X2^R^KzKCSMz`QvaI%T=6qRg z#A^2I>EG4S(z1Sk^4pYDkL7Z6r+ds791h-G4u|LOr+J0>L;Ey;vA<(kKg=~f{{2Yg zbR#DmIpxSnM@~C(;%&{TM@~L+`uVpMU~4KsN<eBria@GB%0TKs3PCDCN<nHtib1MD z%0cQu3bHj7AtfO-Aw?loA!Q+TA%!88A*CU;A;lrpA>|?UAqCo+3Xu|RO^ryANR>#L zNS#QbNTo=rNUcb*NVQ10NWDnGNX1CWwx(vJXj@Y?QZ`aIQaDmMQaVyQQan;UQa(~Y zvH-{mAWL9t)&N-qTeAwtG9c@KECjL=$WkC{fh-2H8pv`W>wzo?vLeWmAZvmwimh1{ zWLc1PK^6vC8DwdYwLumKSsi3~ko7?p2w5RyiI6oy7RlDE60%ITW}T3QLRJb{DrBvY k#X?pKSuX4Uo-S`QY5gMDG-qm5XiR9hGc_U{!=k)@0!L5Jf&c&j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/London b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/London deleted file mode 100644 index 4527515ca3f249a44599be855b3e12800ebe480d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Luxembourg b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Luxembourg deleted file mode 100644 index 6fae86c53176e605311e09823fee55d07d157405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2974 zcmeIze{{`t9LMo{&0@>uZP;YPt+j?`zqb$#GmdP2-dKLi3|Vt6?QFt0?TG9+ZyhIT zv}<NVjB0+hAq;b3DJGPY!;w-)x8zWr9etkPsME<m^-urw{hs@Me9yi2yMK1>^W_{f zBQw_ax5MAO!;52&d2t`O&|C^jx7HMQESgl@aNe`#TE)e+Wvg9p?@=u&T%{!!YhCV1 z8$9b4Tyd9126)!bogrlji#!`9Bx!kAf~O*Uvu$HnyJu6gw`9}xc-Q8u*|vAimb$ha z9cJ5ltin@S5o_D#9_rfuY8%_TOJ{oCb44$FKWB-nYFMOu$DlEeozddn6`Skc-SS8G z?mL&=d%i#I{@~0qNA=ks95r>99D8@4a_lQv>fZn64#$VZ!HxrYs~iWXFL4}7&v(=& zMY#`mAL}^M^MK=M`Wg4p^FHpne$kHOR|m_9O+i{;nk*l`9xo?nZI@4S0_D>oee~3d zK5}|+sQPtnborG{QU7J_rDb7?%A7=Pl@YE1&UV^5t-rL1`$gM^eyf44ztAAB6B=}5 zpSHWaO&>bt*7k>1XmHJ53E5I99oCdc$0C(Z^A?FCD@Pt4H$@&vbxLTj6nQivQNlvP z<*^p+B-}e$!*9lG=PO~_r6Ewe9&V<OSKZc#vTwB8%JUjo_>o4<snO_+tr|1_oW$l- zNnG!0i68NXBy?CSiLrT-*jOOlgI8+z3zMbCuesWDZ?Zi3dAjy0pQyd7d+Jk*`)X2g zi1x`0)xL#2q~8E<P0k3G{$W=&CAm=scpuY&p<l|t>tD$ruLCluzD}OLyj})ZZkE*J z`!#KOkqp_gPKRb^%dnzXbol7kbVSxv9r;9-I#UPgGeJXiR74jYbt_ua+YXTQ&jR$> zo1JCM&YyH_gRhKpx03Ny-^ql68!~Zay-b?eAd}}`)8~?Q$&~TOHKWsNncBNjGn?<w zX&qFjeZ5MjH|FS!x_o{9f>UR19IIJJX3GmpdTVz1NSQUgle!is$n4?0BquXSUX1A| zb5eemms;5*H>$1XdM-(x|1HfsSu6S1&*|Ll<??cUwa#08Q0G^!)dl%wTClu8ZB6Xv z^lJKm_x;Xh&F^<U=;Q0-Yo76H+N6cwe|6ey-nHiUX$x`Ko0{LN*nIwa?=N;gKDPzj zyZ-);`KEctJY_!p<9hcmq^3D-$tfebIBlc38EtONVYl-#S8o11>~`lr$jR-y58g2c zSwYfbY4U<32FVPP8YDNCCOJrUkn|w=K@x;y2uTr=BP2;kmXI`Anmi$iLNbM<3dt3c zEF@b<x{!P!2}3f5qzuU!k~Ac1NZKq--jKv0nL|>C<PJ$5l077SNdAxnA{j(dh~yAS zB9cWUjg}^lNFtF;BB?}ji6j%rCX!AhpGZQHjPma$rIseANK%okB56hPiX;}vERtFz zw@7l4>{^=iBKbuUjAR%|F_L2>$w-!wG$VON5{+aUNi~vdB-u!|k#t*{d?N`*GLEDi z$vKjAB<o1pk-Q^`M>3D39?3nDd?fow`YlcVkqNLgGk{D1G6%>cAhUo>12PZDL?APP zOa(F*$Ydb1flLQ7AIOAQni)Z+#L~<OGAYQcAk%`(3o<dt%pg;P%ndR*$m}4~gUk;y zL6&BQkSVe>bA(J1GE2xbA@hVx6f#rDR3USPOcpX*$aEp|g-jSSW5|?QnmI!z4Vg7$ z+K_oeCJvc7Wa^N)LnaTIJ!JZj`9mfUnL%U<EzKMvlW1vX5t&A09+8PeW)hi7WG?al h$-Fn5|9Ucg&A4`pVP+%J;vy3wqa)H{qA@DY_cvO3s>=WX diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Madrid b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Madrid deleted file mode 100644 index 9b51a73bd52e9afe7d788f548213ef57415f65ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2637 zcmeIzYfRO39LMoLDhjCh1x2XCMI%BB<t8L1p&^h7-Z&|V#8DBokd8zQui#{6j=68m zYOGA0OdBa!VQ!(dR8pssrL0j|ELUc!ou*8?F#5g!^`I474|~%8?3~y6AK*M-`@KKT z1uKdZtbbgC%_ls$cAF>f9o6RLwRhV*JL^-ddUbeqZ7iv7^#0M^c)8Tte`>F%X>Wqn zTtCZw;Moz@o6oJW-g3uPzg@P)-7-6{`sk^vo@03h*71kaJjYi$y4q68T_;B8SD)zK z<~iN{rR&U#t2}3q&2Y8Xcep>=J<fHm`jGqMO~YKDxa!>J7ysnCFlDW~Gd#1a^Gd$Q zXXx23pPMhZeXlil`CTY?4{i<Z8uEt2GqfSa<-fJZGpr^<r94^XT9G@TC|U!ZAv!!~ znv6*NMS~)L(2>Kx(BS@OHTcGR8gi*w?>JwtcOH9Q9fyxd=)NWidv<*Q!LU+bE+- z%4GDyC307`Qz9p4$lWo?5)~RP_Y4V<Xzz55?w+7yzKPPY9V7MLwn2Jd%WaKmxT52> zf2QMWPHSxWVT~)=uki()l2FzniK(qJVeU(k6t+W>6DlRSr%EO|w(G=;izMaO3Y~N$ zT^{&6Pbcpw)YR5V`rziNn)XVlPAQJmsWmC`P^P!07dd2F)Md>`?~zRJQ<@d|m1JH2 zR;Ks=K&H2!lt(V@mKjZrl6~fV&DmBfGxzP%S*4{iyLOY#nZH%%mMqoW`%BcBou!Wk z&(wJ_V|CuGIL!;nl)O&^^|9_Tvf!PYn&06k3+n@<pyjGOUUfqXx3`O{utOHD|6UiT z9g-ylXS67yPL`%NX|c~iT^6Rg?7NqBc~6<HIJsJ%xaia;U(eT)4_C>`EvZ_%Cs&?Y z9-;2dNwR9rWGO2SmZ#&xr99(jc_zS;ir65n@O&+m{<pO9+;Lfby;Ij5*duG(TXkLC zQC;7(LpQ8$(5h`!I>4*n-yZ$F`VI8%<1xr*ps(M5@#yXSt=60v%U`?(pyg{>p`*Np z{^fljKedAG&--|vo#V9TXXNt2)7+(Vmu~JX%Zu;vGMD{*f803#{WLe2-?UHj?LYsn z*IXNt4_e6SMou_#%8`?foOWAt;*nF2oP6Z;BLzSzfRq5K0a65{3P>4{I@p>*AeBH$ zVQXrE6a%RSQVygZNI{T_ASFR+f)oX*3Q`tZQy2a%6voz61}P0v8>Bc$b&&EP^+5`R zRLItp2&oZLB&146nUFdmg+eN2Yf6RG3Mm#+Eu>sXy^w+-6+=pf)C?&aQZ=M(NZpXa zA(cZ)XKQMQ6c4E$Qa+@9NCA-wA|*s>h!hd2B2q@Ajz}SqN+PASHMK;FX=|#9loP2Z zQc$F#NJ){JB1J{2ij)<pD^ggbvPfx>+9JiZHPuDRYisI@6d0*6QevdWNRg2$BV|VF zj1(HFG*W7$)=05!O|_A7+nRbK1xG55lpLu!Qgo#1NZFCPBZWsQkCYy%JyLw6`bhb0 zP5qGtKvn=*0%Q%4ML<>oSq5YskcB{20$B=VEs(`PRs&fMTeBX>g4miBL6!tr6J$}4 pRY8^oSr=qstp6vbuZi(9>oYE%9g4|G9G^5kE+!{F4r3Gjeh1W6@Av=! diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Malta b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Malta deleted file mode 100644 index c1208e2d2ec5e948a30dc3976edee6921d3d4aa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2629 zcmd_rZA_JQ7{~FOCwWNiLIq4gEF^qD1p%KD4GEkHmU1#uR8T}MqFXZ3QaPHrYR+9P z#W^8Cjipm+in>y2nKqk9h+%5EoX)Ilc5i0r6z%`Lo%W&^z3WZ)8Rv66!prOX^Guyz zG{pMH6KKBShi9Al;d3XidD}Sry1lWr@m%HMqfXU6EC2nsZ`+%yBhOXmf8f+C+nK*P zZ<xI$t4IEk;uNRx(gZoSEkc_%r^`2bUYkp1=<(8UX~}AFPK-{}Z^yStYgC(kvfp~= z<Ylj(3a*eFNqd|drw^UG8QEgr{G{Hwb*tWP-%#P)zS!*CS+U!;4)1b&X05Y*E2r9i zV_&uX-z;+i2E6BV=#gXxhV-$6BEs#UGs$*vTQ?0k*vb3A$v?GY&F|h$drxWS<;T4b zR(z^bu-hA2R;gXm)_J>TOp|W?cUfUEmo>cW4;tZjOe3y-rrj@mqz|2_)*fHJt33}i zNaT(>iK^Try;iG4FIg_Vi%aF<yxH<dmPcYnWk{d+p%NPzCy#dQE^z_r8h0&O`(BLI zey!o!|8SrVsK2i9TYu4kYtQJQl}B~(!ULL6xKk6SpOzt|^^%mjUy>(RNJ><d3>~sa zhPIc>@SbaR_}Ky(akETEHl)jA-{<P6+L@ZVf259Hm8N4hM(X25F`Bk=gpAD$(DcHd z@<i+<%}8&T%z&?TT+EL$?#fRx-tP+;-*iNtys$+k)NPln#?Li-&1#vrqeh=9DUqjF zzoC<!eMcu3&(WM=#p=l#r_V%8)G6`(bV^%-=7wcT?sr}Exodr8>fS$eT5E{pRfo#- z`rl+m`Bj;@wn_45wo1X$Uv<`)eKLD`qZUSQkU6P!S`@TL=SHc{{dv94YcJLLM;7bz zXFdADhtst9s|E7nTd7)7n<FpHi&lG8iY%BkN=l0&<mJR(vM}R@yb@|j+2AlObI!}6 z&TYD=`H(EWa#~;exK>_o+OJDC9Mq+CRl02PRxMvsu6{ng_g{Yg=H=tdyLsL7?!Vms zx&NEK0UiG9m$|1(b5B-eZy$fl>MU09z4yD{{QZ4aw#Q1($l=YyU-*~@%?HoFU+;GF zi|+MacmKw+?wH4JI8lgPv#Ysi<f@U&My?yVaOBF7OGmC9xp?I2k;_M}A1MG*0i*;- z4Ui%rRY1ys)B!1ktEmK13ZxdUrWi;yTunKUdLRWsw<3I?Bs``jKv9sYAZ0=7f)oa+ z3{o1THm;^PNOh3%AoW2Cgj5JA5mF<hNJy2CG9h(B3dKXEkWwMFay7+5s)dvbsTWc( zq+&?PkeVSyL#l?94XGPaIHYn&>5$qX#d9^)L&}HL4=Es0L8OF84Ur-uRYb~&)DbBp zQc0wgNG*|Kx|(Vt<#aXmL<)*j6e%fEQ>3U!RgtnHbwvt`R2C^MQd^|BNOh6&x|;eT z1$H$RMoNs-7%4JRWu(kVosmK#l}1X9)EX%^Qf;K%uBP5d!Cg(ok&+`dM~aSA9Vt6f zcck!0<&n}OwMUANR39lnQh#ItT+Ip~OMt8avIxj3Aj^QP1F{gvN+3&ttOc?d$Z8<V zfvg9zAg*RbkR@?7Yl18avMR{3AnSrG46-uF(pdkmsR=RbGcb`IiqB3OlrktGK07f1 I2PcL61)Kf$7XSbN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Mariehamn b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Mariehamn deleted file mode 100644 index 29b3c817f4637e98623c5f76a6078f18157b5cfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1909 zcmdVaYfQ~?9LMp064tP9EC-b$$>pfi)vbh_aw(*PTvDjq5<<$YW15*Y``Q{a4AYt! z@gQts?#8q;n>E9ljk(UuhGEwDz5kxrJn+osoSpycteu{H-yhGs<t6dfAFod4FMN1a zm=E8Byyj8AZgt2#Uru4m)fa`qk!{{yJ$+t>{}r#}<5_R-=V!FfgQME_#$FA%bXh`A zHA>i_Bhs%{C49?vi6||X{tK4KfGm$hrnqIGGg+cSqh(On-Vz;<uF;<pb?}QQ9n#uM zhu-R}!<xRTv;K_^uY0U9HTN`j{Uvo3oz}SgM-pG&Bnhd_k~njpB!wN8<oHTSZm*V+ zA$2;kZIO)nUZJBer^}cpd79EtpsCHHb?naZnszW$$CX6t_?l5NAtON3i$Y{#)GKwT zw@XIAUCoSqDw*$J%4Gj*GTC=WraV6`QyWi8R?8L5-cu{nP94+fWo0s>c8BK7*{w56 zi#2ydsd}<9b(UkA&UOyb*<W0m7n~t^4}0j`&x2*&`A<5(HBc5D4U+t(ce1ehqZHKn zq_Ch>7Hxg2i_<R1lKd7e3O^vlsf}9F<(w`JQ(gLczb<Pp*X4JrbVZv-SDu)!rMK70 zs$HpC){rZ!mxb$^ok_AbCq>Fj9I`I1pR9L(lMO+ZRKx~r#fN87+5L-F-oGhT?;q)= zvkkJ@*Q{F(T-U9Qhjm+3y;kq3RzLp^_Pb-izkFMkqu3l2&yJQg)aBR3vO*)QZohxe z%Jx{3%*XA{<>BG?mY?6Rr|0jdyV3m8KHabUi+TMpuiT4+4kD+FoHKIL{D!keP8&II zTXW*bnIor;oI7&z$k`*OkDNb}0FnWc0+Iug1d;`k29gJoh^@&4Nd?ITNe0OVNe9UX zNeIaZNeRgbNeamdNejsfNzB${hNNa|azm0svP05C@<S3tGDK2Dazv6uvP9BE@<b9v zGDT9gHMt_m+L~;Ubdh|KgprJql#!f~q>-$Vw2{1##F5OA)NM`fNb<HOdnA1%e`ErX z89=50nFC}JkXb;c0htG6B9NItrUID@WHM~cY#`Ht%m*?d$c!LUg3JjrDafoK(}K(k zGBL=^AX9_P4Kg{lW_FP2u{HC9Ob{|d$P^)SgiI1LOUN`?|LHabnz0%l&ulrf6JnBL PT(Jqx>^PVGEiv#Xi)pZk diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Minsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Minsk deleted file mode 100644 index 60041a41890eae1902b2410f1225a38cc7614a13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1370 zcmds$Pe_wt9LIliT5GB8kj*z;nPx7XwVc|jX{$NKKLbna5EUMVRCKWH82Jz)9iso8 zl8O)`DIxlE$b=3Z!j`Q=V609Nfrol8(LZ86pSKo4hdTFtc%IMmKJVTQ-hIB^JNEY0 z$REkmCrr|;C;JsjFJs17@Xm<QGqt-fnRwgodUDNuYWhmV_4G`wE9uPYDX6%bTvYfn z>~^F&-Cq_wD4fkt8mUNlapG*U=>BE1`1)znGknxsa=hPMdN^*D?B8ZC+u3ZEcC0na zLSA#Z&oIl2oo4yP{?3XIg?-*PZng5cLsdTftg3F$D&I&-Ri8_!RfCgi^`UX)k6%)2 zc0HDwgQF5?xFNM$k4c^9q}12!llpH5Bv>@0g0H${-Pb*8{bZeNNVTcZ=oZy5;Zu!6 z0k!c$z6$pis7-@avN`%uMdEqVRQ^ImBk!d-XF|1<J(HGqGtz3mC9Tu<r0w;2X&)b! zj>JtBJ8?t?(&@A<%RVPNCp*VJ_s4L|`!(#&`TsU@b4839{es1KB-tXxCE^gN^ou^v zcZrJ=+rrEm4BL#%-OS$R`R%FFj##(E^o&L|yV@n98Hsjr(WDRcrph1S=fq}X>R4Bq zrTgz*wCK-TUVQrbkbV{E?RTfV5KkbkKzxBX1Mvpp4#XdbLwp?`L0p3PWKlZ>@e1M= z#4m_r5YHg4L41Qa2k{Q#9>hP0gAflPE?U$+LY#zn32_tRC&W>Rrw~^mzCxUZcnfit z;4i^pg2x1x2|ioYP7}PgsNE*`4RM^{ImC5{?-1u9-b37n_)q8nqz8m9K>9%F1f&-h kbvFq8u&6si=n0`KguXyJLk9GJE&pS2oFQGT#_E9cJ1oC86#xJL diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Monaco b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Monaco deleted file mode 100644 index 0b40f1ec9321e0b521a0d36a8e6ca9a9de08282f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2953 zcmeIzYfM*l9LMqVS5d^<7fmohF$qya?vR?KhDatL>OUnF!9>&~JCZrH3|-FDocr3C zWoV)z-Vm+u3f^ycBdeKdxtcER;_TPVX*IL+KFjr>2hB%4>71Sa>zuPcJYl>)-cghD zW37K2&73z}9J`&1`;a-#$I{%)A*HEBru2M-y`pxhz4E}*=KY0#*sIFAo3h+>X7!xr zW=&*kvvyXRDNmSd){PCdE5Z`Y`tVY-A*+kMvB_++@kYG8=~|B2d_L1u9`A3qoLFzF z)`yy{Wkc+3Z~B-I7EUoA+MVr>3K!VbnT_o2gQCoisH^tQ*fe`rt2%qvz1{ZipElWh zKF>8ZUmP>Fbvw=8T^r24RXO(lcNduh?-_HjsK6YWlx+@YWtby<ee9z>qs_72%gpht zO8fZ5re!AsN1KzEz2BVLGTEHIHdxMV4AlBH$@1~r@p5+I&*qcD0QoedpEj%MWi{U% zWLlJu*OqU!msayqRHi4Ye_pt@_O{bD=>z1UxZkvG=#LuE<|_?sct!(n?$dTxw(7&5 zm1+CKOEsu=uLM_CNrx4yq~l_hkk{r)r-DLxWXyQ!oaU9#J}L5OM52TRhf9~{?IheM zS;KF|Yu9hXwA;A=?S8b0K3084Bg((m9wiqwa^5M8nqI5Xd0R9l`+~$4R!dw`jl>UI zCJ7x@N@8r0B;GBSo<Swr^U^r!_4^F%y*F8&_%ciTRODz<O>cd2et+#-8m#^DL$&|B zUh>pHA5G2+k^y1YG$r}24D>mnsi9v>>W!;1sNq2wR9`30Tv;oFt2Rm6>HV6%WU*va zuGS$_r%LAHH+1O8MLMitf)0PYK)q?H`fOl^j)>@{BW_1)R@;G+b-uMecdM(6+VP8y zKIbQ6%KRm}`nrrQz9~5+^^%)&PR7mtL7(rtQ^seX*1VAAG9jr-^L@AL#15(xzk5d~ z-7VC~bu;yaOJ1F_VYC(;n<g(VNYbel!{wz(A!^T0kZD8vNMU}Uyd2X}rl<TWulQRs zBdV>=FqfsM<!voGdqig5xS+GPRmiLLHTv4}Lpr-^rM^D1T#J_!tEX{;h7Wc&^0|Nd zHt}uh_g|fs)%d#e|7kUdu^L%cOY!*fWVN_|AKb~~fB%hhAHaJn$g=*vPfPb&na(vb zWjG&P&Qmf^$<C8yc|7hf_zUhm9`C>RV~_Jiw;y-hAGfS~&M~Dfr3C2-(iB&xD@a?A zz95Z3I)k(Z=?&5xq&rA^kp3VILOO)B2<efl(<G!zNSly8A&o*hg|rIk71AuETS&W* zejyD*I)=0i>6xq3G^A@t+mOB?jYB$zv<~SV(mbSlNc)ifAq_-2h_n#tp{vtGq>HXj z8<9RDjYK+$v=Zqh(oCeANIUs+(@zc>igXldDbiD<sYq9mwjzB+8jExmX)V%QSEsp1 zcaioY{Y4s#bQozd(qp8_NSBc|BYj31jdU7mHPUOO*{)8vk#-~fMjDQE9BDbybEN4= z*O9g(eMcIPbRKCv(tD)&u1@!n_PaX$M>YW20b~o1JwP@A*#%@9kbOWl0@(><E0DcF zHUrrWWIJ4){XjOv)!7kbOOQQ5HU-%gWLuDZK{f{28Dwjay+Jky*&SqiT%G+vHptc4 zA!Lh?Jwi4K*(GF~kbOcn3fU=StB}1yHVfG;WV?|4LN?6R*)e3xkUc{-4cRqh+mL-j zHV)Z2Wb2T<LpBfDJ!Jck{X;g;)!9L03tgQ(L^cuGMPwV1eMB}A*-2z8t^ddJ!N$_h Z+0h;`ENVo0Tx3FIbVPbgG)Bew{Rx9T#Z~|S diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Moscow b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Moscow deleted file mode 100644 index 906bd05f344ae9a806c1b20b8e2bfd7061d35fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1544 zcmd^;&r4K60Dxy*f3=#`!F1C#&2)9u(lt%X)va|EQ%iCyup%ju1f!vX6gn&+cBw!L zJXof*>Y-mAs!LW&1QJ<z=n!ZSL<b9G2%=Q_G2b)M>d+t1JZ8SxdGE1@_kF&GmS(5; zYpl{IOvX+<*{A#U(sL+j^lIs+_Fl*IOz)TCmTMjRX8K;YPW6joe}BoKJFxOtFyL|y z55yiF9&nk1LrLDcdjV@>tbJ&Fb^N3|E^?wSZgxd5{zJ^Tb;9FbGj?e_VWdwb-t1Dg zD`!>G`IBnxnI@Iox<{oPs8H)_HmlT<47EPns?riIDm`jW*~9G8{yAP|ypQu|wmtS| zzM7Seryph3-AS1pcp-BxKav|d?#PX&`ebfXm&`jjqMRqXRlciNZQ9+g3T%E==-jUg zza3UZ32n0IO}Q$bYmi$WrmL+JC9-7DBV7-YWNBxbEb9@{-5epebtJ0o-YMxh@?Dju zJ(ph3TU8NuOID^nQI*rrRFyfPs$SkuJKlAw>f0Ao&DeEWd-1sP)z}(M<`8peNN8Ai zL}Wzxvhaxc%M!KZieA3t$I=^r?qe)Mq!#NB!5S(=-Z@jG-k)Y))@_OwqR4I1U(1mz zVi)!mbtbD2iOItD`?(|6l(KMM<X(K9cWY{WqLx{&XE{rKxt`S`E4M&+y*@qlp)pLX zrungWVC;nO{oAiy`ccELufN{;p~v3)!BL2B5a%G?8Px7U{DU|M@z9`l5#pmk?IgrY zgW64qpAbj+dpw1>3h~vTb{66-#9fHL5QiZiLtKXV3~?IbHN<U*-w?+ko<m%R_zrR2 zp!Oc(KE!{6x&cTBkQN|4K$?Jb0ciu$2c!{5Cy-Vky+E3QbYoDr1L?=0ZV1v5q$NmC zkftDALE3`!1!)Y@8KgBxZ;<97-9g%e^k+~v2<gzEZV}QWq)AAZkTxNGivKxKi;g-c G-|`bm1(CG? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Nicosia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Nicosia deleted file mode 100644 index 3e663b215327d8899a4b3fbe4623f066630b97b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2016 zcmdVaeN0t#9LMoP$d(r$zG#Sgc`(Toy1)g*#K4CL@PVtxxEZO$QQ?9`lqdwI;wG}@ znER@1&Q)7YVy!vU%^o&;nC6^rj?PxDwZ=MWtLB8YnX`1ve($sOSAV(nPv`8O*V)~@ z|NY*d==!a(0_$H_g87CI*Ix7CeIhUKzn=c-_>q%dVEC|`c(>l0@Wn-YVt=tS>A+9! z<nEv&ZEM`5Eo07<YR{e;nc+QBc-~IVJm*ZC+Ha@CA9qr2_1M#|?{{W=(`3*5s?iC4 z*6pUA*yp9a9dpxr8@!BN%iUScmENNpv)$QMSzczz1oyE}qBkcv>OP)0;>}G+wCCOq zIP-oUv9rFt>11E{+J559kQ3@ZZRhlza&o(m*m*k+JK_2^JHK|&D~KF&3rp3TpR?U9 zN^A8N6m-afu`XE{?9+wAo22+&yDs{?OrH9oMoR|jwDjyEUEH%wm%Np#OJkY3th-pA zu1L_b`k*{B=T|K+8<UEJ%UYTFqg0OmA}iw0$%>&%vhw<ISvB~fR9*Q}BL{nB^@;a% zO-qZ|z58_S^9S_V<_4{PvRR{5mHJ%DYF!t~(sg&jT9aHMHQ!Cq7jDm!^&kJC8?FXq z<GV>xd*-IR*mX<l`i8`*yDFP@-_XrVK9Mc8SF}Fkm^73QYV6^Uv@uP!@wcPeG}fwH zFLmlm!%=<tgALkzahtsIW~sIeRLiSP8TwjJk!)LABCW9$*`A*+JIeo(wj@j1^OCjw z_iNHI>5g`|7o>Cad);|zK;9TStGkY!*WH8f=$_7g?K;?{)<ba*cE^wVPjAc0SZ<D> zl^u>7XIZJUtnvRm`KBrowaUw@c|`eDT%7-iKEMJ0lmD6PzPUK)ymQ!*1CJbf<lrNR z9|-`700{w!0SN+$0to|&0|^9)#Mgv^#DWBaM1zEb#DfHcM1+Kd#DoNeM1_Qf#DxTg zM23XsYhpu!L!v{%L*hdML?T2&L}EmOM508(MB+pOMIuE)^);~~!TOqLk#LcCk${ni zk&uy?k)V;Nk+6}tk-(A2k<gLYk>Gtz^ho%=CVpf9kP$$J02u>h5Rg$oh5;D|WFU}{ zK!ySt3uG{S&1fLQ;cLbN84zSdkRd_F1Q`@$RFGjo#swJ|WMq(`LB<9d9AtEm;qf)& zgA5QdLdXyyV}uM6GD^rWA>)J$6f#oCP$6T53>Gq4$Z+|Z@j?d7*Nhl4WXPBygNBS6 kGHl4W;s18v0%q@W3Ru2Sq%gNAH=I`(isXm=xA}p;0b|0?X8-^I diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Oslo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Oslo deleted file mode 100644 index 239c0174d361ff520c0c39431f2158837b82c6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2251 zcmdtie@xVM9LMqRfk?4(Z-2m9fRIS1cJdqi5tq^l%)GOd(?~^75wR}H%NV3anRBi& zeCt@|$f@O+HN*a(`~$6(+GyeBFXpUVTdb@!x<tZitUk|gYyDAM|Mf@T@9z8f?z{W` zaofF~fu-wea;(1{vE~UMju!Lb{`Tk0rOnl6wO!a))qT`o)pKROoPOP@;a9!#$*w#( zvn5^5h7#o5s#v*tBvr2+^2zrvd!&DRhWyZwB9U5=AIlwbz4W>aOz)E$t_w2gJS9I# zM29j*%24E-jtTFMjP=izak;-}eA-n_82h<8qfe`I;9VWxcSP?vzhCb>u~QR|9haoT z9g_UYKAF(0lCtS}NezbNuH~y`qAwt6g~c+-T_EX6F1h=*@#2c{s%tP$Cx4Z$Q+gA0 z>Zw@0r}L(|4}PoDT0hl{tsiUVhGUvl{ibGDT#}qnr{sFNByZ76lApX+3UV5xV7N(U zB(~~|%PVE(uk||XxL5A|tXvD*E7j9AOYhrOq_f+SbWTm07Hyp=_m{+|w>nYgreD!w z@354_e59pmUr1^H*D^2qeVG^TmIwM?lldKQh_B~8^|v(3g2M;&!MZwmsQCq5`0$Im zD7Z$;rUy0PE7ir$1-isNMVAa^X?c8!lwTa9j|@(hrSII(Wxa8-eE(>v=)5K?ng*n@ zH7r$?y|Qxice-l!QCVHlqtz*UWR0goYi@a4*Cwm3{bsk;4u^DIccVUfIiQanTBgAd z*URJEJzCdZCQsC+=#$&>W&OfJ3Dr2|sq6`|q4;NcdbB0=nekd5`BEB24Qa!flhW9K zNuPPET{echbkm*>baTgEeYWwSHnlWqlq1R!J>nnEsF;!e{b^Zo<IEq~N=kK%u&hyH z-TLSCk0*aU_xS^sx44W;fHxfGKywrL_u1?)U$kd)(|*UYeltg?e^L;ck*%2$GACqG z$gGfQA@f2ehRh6^8ZtLza>(qE=^^t&CWy=snIbYrWRl1%k!d3Hv^5ju=P*-bs>ocC z$s)5wrfX~Fi%b}qF*0Rj&d8*ZStHX%=8a4onK?3bWbVl1k=Y~DN9J#95`bg?Ndb}r zBne0skTf89KoWsu0!amu3nUpxHjs26`LHz!K{8@%Qi9|JNeYq`BrQl@ki;OFK~jU{ z21yQ*9V9(Sevkwq8L~AgLULqll7wUlNfVMMBvDAFkW?YLLXw4K3rQD}FC<||#%xW> zkeu0?q#;>D(uU*>NgR?nBy~vckmMoRL(+%j4@n@BK_rDp4sA^mkt`x<MDmCv63HZz zN+g#^GLdW|=|u90BoxUgl2Rn6wkD}aR&7mMk-Q>_MKX(|7RfD=TqL{J|FFApCdJdT UiL%?Dn~|T9<@RT1VP<aJ?<;p%>i_@% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Paris b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Paris deleted file mode 100644 index cf6e2e2ee95355039a90146a7f77d14224551b65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2971 zcmeIzeN0t#9LMo{6$BCSi-wq>n1rYy&ybp=hDa(P>P<;SFcCG$j${r^Lzgq3=Ds#( z8JehwPl#5i82J2zOUY_xS}x0_J<Wd2oK`bC?^9c~{%EZ~`loYu&g<N>d&eK_zCWJP zQwrl<e>qy(PdGVh?UVbkdG=*Re)iI`^b%8cKFV5CzrtF3=uz|9;-9T`<=str{wA}2 zp1;`;-P&xNonb1H=9^99!mY}PB(piP%xuZ&Vr})AYqnlbw6<N#GuzK+o2rxj&5l!> zP4(t*v$K4twd+N1^ZMec<_)W}^=9!Rt0vpa+C3=7?1{N*?Tyc{YFjl}wRiVf`@Y>~ zz4bx9sr&GRsc+b8_SbGP2iE0T2VYrY4!vs3;gTYAWOA-Knv-RY_4T%n_lz|sdap7k zbE>S97n_$i6h&S>eQk)G*&3{k8&c(+mlEad&`&R)UHqMSx45mmm(@>O)b(=tZx1mo zD<){b()QA7L7K{pWDP8c)YhJM+9q>=+>`L528DmEZQFdT!A;L-@Qnl7?#fQR_x*Bh ze{_Y0)bE$js%q)5W}S3grV=)1zH}-omixv|kj@z%3Gb68_eUj5L};XR@oy)Q-l-aS zGf}&K9--aNwbky&ee{8v+Zt8zrS@2PQKJ{UtuZs|HMU@f#^qj+_~IH#NU4*=;j1L6 z!&*s>FOlRsrP4EGrS`luUV8mBQ+w}Em4`mc(LR-Vno`$WA70pB`<8`jzrt|szo3^q zGSFL73qoW-#5GMzy(0s?PicDiCz5{sstjs+SOzsV$lxm*Wk~fl$vAybGnX%utg7`o zblNn@UiN|x8?{7-7fsX=4;HB>BV8X0&eD-l-E`!wSj`C<C^_d_>*F`O%IH1c>zH$X zGPXQWa%;YkaiupTZ)Kz8=be-BbHCCj`tFqpxu>-tY_&{Gsn$Z@-8!j*>ZC7T*2#B@ zbxOl5ee#k=r*0XeMJJ}qQ;Sk`TIC3NdUBXr3zKB}us%{;7%b1kb(9%tKghFzE}0n< zq%+NDQW9`WOU@pXS=TS<>|K@eTw|TiS$#z3R<G6PXH{tF@=|qsH);CMUS7V<e46<* z_iFCv>(|2nzk0b`P2%jICRZ<)D?r@7yyG|f=X+P6%N5$m9rTB5dp`5~bM7-TJ+5r~ z9F;bLi^rAfoX#8jvCHLl|9Uz%&R^o<c6<IlCHw3TIw`sR+xPC;$JB<wOOdo7d2zH8 zgJcFt4U!uqIY@Sp^dR{`5`<(3NfDAGBuPk?kTf~kc|sC}WC}?Yk}D)xNVbr4A^AcQ zhGYy$8Im(3X-L+Pv^m;&LlTE%4oMx7J0y8X_K@@;`9l(jWDrRql0zhkNEVSaI@)<e z5{YCINhOj?B$-Gy9qn`?`9u=RznP43kWwV4NK%okB56hPiX;}vERtFzw@7l4>^j=% zMe>Uz7|Ae_VkE~%l94PUX-4vlBpS&yl4>N^NV1V^Bk6Xu^Nl1N$vBd7B<D!dk*p(W zNAiv&9?3kCdL;Kq@{#N#>36jAk4%80Jp;%TAaj6B0x}E8G$8YUOaw9$$W$P6flLN6 z8_0AZ^MOo=qdg<YlsMXRf=miBE6B7U^MXtaGBe23AajFE4l+B)^dR$tOpv2JL&y|4 z+H-_V5;9B3G$HeZOcXLx$W$S7g-jMQTgY@F^My<pGGoY;IoflEOd2w4$h0BzhD;nX zbI8;obB9bGGJDAMA@he!AToo<6gt{-h)klRJ&VXRBJ+q$Br=o8R3dYUOs4Dq%?$WA do9SndYmc~8dupRH6QYx%W1}+TVlgJc?-wH4z0d#v diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Podgorica b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Podgorica deleted file mode 100644 index 79c25d70ef09aaeec21f0a10a029650967172a80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1957 zcmdVaYfQ~?9LMqhL0H4S7)2!{xg6a~D7WL3s9ZY8CAlQGB%zgCF3rrEeOY4-b6vxT z2jM}?T<4O6HN%WC*O}Qcw>5t6|7Np!;F-<;od5sTPMse8-XG7D`8ko+A6E<W2{%`< zx%s*ETJyNxB<4x&%h7W4u#eX5cgd}7(Ne!YSn9ty@^9}elRIfc)z_Vs@B8eycDlP) zJ73(YerL{#|IsQ5*tJKxl&J)+S|?p|3#8k$+0s45BSG<Q>EVo(VE+*5*~(W!yj&Xc zDO!6y57yod9ktKp7TUM^i#iX!)_&y=G_>@FhAlgz;n~MDBJ;jP7F0`ALXAX^-!3r$ zyCpWVNMajHB+jo~;~veF0pAOC;8~XpdYGZ{m06llGf)R_9Hv8d`s>h~ARSgZK!zuJ zsVm!0Mg+f9x2sVSy{>6e&|^t@_d=4Jo|ojht1{}@0U2F&L{e(cY3i0TNjthv$K>V7 z*s={eZqjBQpF2m>`{$}BB}pgvr0GOwZ=Lu#Tr)Z(O2)l*I{8yCnR4o*PHpg(X?xpB zX7yW{Uh+Y*%IjoCR)fr3{YGaEIW4m@Yc)HtLgpk?X-><NIyXRd?yDU-udzVqUoF-J zk372Y&{WO6vP2ebO3=K@bXhzvQ1ds&$dYmKQjp^#OC!3-GWS<m-qw=Bunt=I{;3qT z`K(3tm!$aJeO+;)QdZX0=&Fhfy1Ht&t|>mKC0k0=(X2^R^KzKCSMz`QvaI%T=6qRg z#A^2I>EG4S(z1Sk^4pYDkL7Z6r+ds791h-G4u|LOr+J0>L;Ey;vA<(kKg=~f{{2Yg zbR#DmIpxSnM@~C(;%&{TM@~L+`uVpMU~4KsN<eBria@GB%0TKs3PCDCN<nHtib1MD z%0cQu3bHj7AtfO-Aw?loA!Q+TA%!88A*CU;A;lrpA>|?UAqCo+3Xu|RO^ryANR>#L zNS#QbNTo=rNUcb*NVQ10NWDnGNX1CWwx(vJXj@Y?QZ`aIQaDmMQaVyQQan;UQa(~Y zvH-{mAWL9t)&N-qTeAwtG9c@KECjL=$WkC{fh-2H8pv`W>wzo?vLeWmAZvmwimh1{ zWLc1PK^6vC8DwdYwLumKSsi3~ko7?p2w5RyiI6oy7RlDE60%ITW}T3QLRJb{DrBvY k#X?pKSuX4Uo-S`QY5gMDG-qm5XiR9hGc_U{!=k)@0!L5Jf&c&j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Prague b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Prague deleted file mode 100644 index 4eabe5c81bd1eaf255fe09cfe72f10f61762fd5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2272 zcmc)Ke@xVM9LMoH&J$tE-e`Cv2UtW%o&1K-AhQz~dgm`LBNfp+QR^ZgV^A8lm~)M> zcaG^C;*Vmino)mXt)aDkjuxV6m!0L>a%EaMH*->r+2{G)T3h7be!u(P<8!e4<F<P} z11mSz<=Mtv(dI8aT%G3OJY~Ci>7MLb+Z{f8WnZLUdwP%P{`XW5wC~ZOm_{AGut<)- z?$VK0ymDe!ft;*gqhGe(kW+`2$m#8F{i^bmgnh;Gb>@Ja@yw8KVs=Z!-XM{SEh4`K z8{&f*IyI1})BFqMw){UeA?+8PKJ7boIgYFA>ie2_{w=-z^g*5R@ynWY^q9C0_e=7= z1Cr9AlDhQ;nHg%5J65lkJADC3D=Cw^JVlc3&XBt&CrXCXs~Oh{bk>jQni-z1_k0?y z_YRDzr}v`H?mDYk?O$m2mZO>zd{c94B9hlMAo-<(Qm}lt6ejmbQC^D_jkQT}QkNE= zTPJh=YSy{OymJ4y)mqY5tEGc;^?@DpbzZkyAFNB$`R#M$p>n5sgGsU={eqTx$E4i( zxmKioFBO-6l1j&iQaLgt3(vnQi~8RX-|z?O@9dDphY#tJ`g&Q~@uDt!<Rx7m+MreU zg*4!+(1%@%b%iHWS6t80>V$HsJ~LGxy*5i$zVo}T3dhRogYi-`@T;t8yDGI^BeJ$O zEbF#i(#Ph#E9+~9HJG|rHk9^j-J~PBF<Euv&wF&!Sd(rZYSqWj1@wv6R%z(7MtO2) zsn+*Z$y1wBwP8o0G%hQVraG5Aotq+C%KngN;%(BLouJKEevp>9>)LYi6KTC1(P!W8 zljlYTb?e@bbX$LqKHu7_ZJlizWsh=97=K4OC*F$N{E&B=AF|Co(>}pwixXSS&CW~x z0h_n1ikASNu$v3bA@KjRnPmRS!=>io96!oCbKNjkO69Im44t@S$((r4q>x!5(?aHj zObnSBGBspw$mEdOA=5+VhfENeAu>f|j>sgDSt8R!=4ojr%6DL<$W)QJB9ldCi%b`p zFEU|EGh<}R$efW$BeO=Pjm#UFI5Kl&>d4%Y$s@BzrjN`YNdS@oOOpa52S^f-EFft> z@_-})$pn%LBo|0BkZd67K=Oek1j&e{NePk@OOq5ND@a<9yda4|GJ~WB$qkYmBs)lY zko+JCLNbJ;2+5J9NfMGJOOqxfPe`JWOd+X4a)l%d$rh3>Bwt9vkc=TILvm(ml7?i> z(xeT^8<IFAb4cot+#$(BvWKJ($sdwHB!fr_ksKmPM6zgU(um{{NhFd<B$Y@mkz^v- zMAC`m6G<qNQ6!~EPLZS{S+z82Me=HC5{qOONiC9FB)Ld-k@O<@wb>n}zs~WuV`B8J zxc>>T$*>8q$*`$poY<z^?Cdic{%?x^ZLvAUnm*6YrPLmOepX>tj>n&ygW379e*<Wj BTm}FD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Riga b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Riga deleted file mode 100644 index b729ee8c2ee26c7bd74535ead106e8160afdf181..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2235 zcmeIydrXye9LMqB38)hh{%qla0MU?(cI1wdL1IT>2FH+dBvKJGKrJF~IVhDUWM+-A zZ^de^OfpB88MS7%Lf2)kQ6imxSZj1~xuUUVPb+7(LH*tju-01ZkN)lV?3~xb17~cE z&pWtgOJk1u+nHgW@ZwnJ#eFI_&%g8N#Nm#viJk+cdwb5bPrNqz(^mtp*Khb_V?*WO zXt_T7ibsZy`1Gew=IKy-iVn$RTVv8*3eAfBqS)gesr39d<NesN=uq5<ulR<+r$X^3 zd+dZ`PuPjiwcE2hci2h0>+LyBtL?e#O6?mf7Td{%>GnKtoSl*or&6OLRa!*8m3A@J zO8?el%^!AK3r=6QZaO|@d5?}*3%ducjE+-Q=FUDVtNyT+U3*65_)n^w^JC|7i~4n5 z)zdmZ@sM7W)1nuRx9NiTZYg;8$8$?g`SdL#HB#7HCq?~B<ktPmWa+aBQrws<%Q|k> zx0ObSuRdNcPZ^aG-?%P~_*lx4zt&|JzSAqhKF}+M2K4RcU)1G&uj-1y_r%}TsaGC* zLGEa7)|H+6WYwLIOI1^Y1Qs_*u%b*>dsa%dcfM3#%95IxQeE@eb#m9mbiL-pFS2$x zQm^ZoscVn_px3wktn0dm^oF`&efOR**|_v=eNXM6)F&O(4Mly@=zdE!C5mkN{u$Xk zzFoEqw936-2Ian&*Gkhz+w}bhiln(WpdZ+rBwP3A>uswF_4Y=O-jO|9?<~2jADpT5 zuFM$OWq+evqAy8H=(KLV@VPwnMz4N&s9$y;{80Av9g@ARN2RT+O<Y%)D=hq~h%3z% z?w-7^j-0x#iTdjmc5O7*6q8^4w|Avx9WnocyoW0_?@gCmsf0NyN~r}|N-Gtu)%84a z#ZJE$6uT0qzdL>Jn)~Ocrtd5KK~-g56@j2CDG4fnpj`Qkz7q4mA6RZ4nj7c1TuQl| zGx_z@yUP{)_a!}Ie%M*kuT!7;-JI$ZXV)XkLe_;W%+ah2SsJo7WO2yqkmVukLl%gv z(9tZBU&|ViMIx(oG|NQRi7XUZDY8^#t;k}L)gsG9){86{SuwI?WX;H;Ijow)vK`I3 zk%c2GN0yGP9a%iGdSv;?`jG-472r?;M^gi&2uKx>G9YzuG=)Ga;b=;M)B-66QVpaW zNIj5(AQeGMg46^l3Q`rMEJ$6D!Z@1BAf<6MwLyx5R0k;!QXiy1NQICRAvHpZgj5MB z6H+InP>!ZjNU0o6t&n0N)k4aJ)C(yXQZb}tNX?L<Ayq@lhSUuy98x)?bdIKWNb!*B zA>~8rhZGR0AW}l4hDZ^SDk5b>>WCB)sU%WLM^j6rn2x5JNI8*uA_YY%ij)+oDN<DR je^Sj~;vbV5X<EE6hxU5?xf%HxS(&+Be|DC0mlyd5O7kz? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Rome b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Rome deleted file mode 100644 index bdd3449e76a51eb8ea7693fbc1ebeb5be5c1e5b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2692 zcmciDeN0t#9LMo<@8t@j(icrJ0kO!?L<A8P6HO5v36^qG^AVp=i|9y5S}H!}$~pHf zP3M5bhgc6vtuWVoXq7sfh=yTVIay{_Hg`62YKr!IAI6x~-=1^td7XP0f1dXzFll~X zU+X_duzA9lW0(1I-)_0Nln%UZm)6%blpQ|il<&22-+ukJy|p5$p(6JkXWO#fx!b1< zuy<s2$vv8%;?!ImEyv%B(At$n4Yk|T<;0u)<iz<S4JQkx={JR)q%Nz@IW;6nzs;<Z z`si!+>7JXN)0dX(_pLX{jpRMfjWdTDZbsGFH$SU(Zr!T38@Ft7ZeKX*+*$dFZ5{sD z@yvY7_LfbueZya}gI+Cm{Jl0ftqL~S!EF{gAsK_5kV_Ms(1Zzg=&@9%ZCI+^_Jc^L z-7gJJ*xE+tzT=Iy6m_w~cb~J{=iIW}*KT$?WRH;hlmFI^v6r+{ho3aUcU&W`9MsO| zKhy_KRcM#5-q6VX2PA4&l|+|qm9FblVwS9sZuy1s;FMYNP*y-<2WQB`@%^QHRGd80 zwzI_f(>3mDKkad$yY{T_q>mmB)?U@uHGb#s+I!;<ny~tq_9@!0iL-ZW($q83x3F50 z)AmWfahoJ1x?KAAT_pV*OJrc=Mjd!|hNRvs)<Fl-<*^?p>fp-hnznC{4p}oyhn7a^ z<9V?<Y;~#(AL-Zh*^x4$`$f%2Z<LY#uXR-HIT>~NSIP8!A(^#D<%#n<WOUX0l2!A$ zX0Kl-V|H!RCkqPXsdcM#?1Z&CE`N^Z49M3&)+l{CVvLTD@2TUjCF;bEBW2=u?e&?f zJ!I0Sf9d4<P?=H@E>o-jlxZbbWctQh$(>#=GnW3LGl%Y#SyO9tcFY!;lUAj9A$xRg zwCdd7HtW2`LY;qfu|9h?pwGQKS@Vx9kmp}Z(}Kzzd0}3R+G|o|!Pvo4m=_^0CUupf zj2p5r+>+ux9ktl`Sr&y|(?ur_$>Pgr^yQB#<(1lfx@60jy0ofXmo46@CF@Jn>uEWC zK^{IHZ;;PDn{E1a*VXH9b?;BhYEx}qFDt5>C&;qG#A@AqZF<u3d|Y<GO3%pQ65u~P z=0I~3`2UwV#Qc#jN0s?<AAX%*=D1^yw1Zu1(B8koMqYAP^P(d!JMzLKFFo?&BQHM^ z03-rP2#^>cK|rE_gu&Is0SSbwi3Ab~Bo;_8kZ2&`K;nS}#MMLu2?-JtR}&N@Dy}9h zNL-M>pc@%(2n~mc4G<h8I!Jhs_#gp7B7}qpiIJ-b5)vg>6DA~1t|m}Oq>xY{u|k4{ zL<<R*tBDs9FeG9~$dH&JL31@xL&Ao{4GA0)IV5yQ?2zCg(L=(A#19D|5<w({NDPr6 zB2jcTVMOAH1QLlP5=tbNNHCFTBH={hi3AjhC=ya6rbtkcsJfc4B5`#!fkh&VgcgY{ z5?my@NO+O>A^}DsjD#48F%o1X%1D@zIJ=raBawDBp+;hj1RIGq5^f~kNWhVZBOym( zjszWvIudpy?ye^ANaS5j=#khX!AGKxgdd4NG62X3AVYwR0Wt{4C?Lati~}+d$Vj-F zp+Lq084P4Jkl{ea0~ruxM35mt#snD@WK@u0LB<6c7-VEz&CnoY<7x&6869MJknuqV z2pJ({h>$U|JU(yB8RYl!@%sEh?%8b9ue+|kR>AlFY@Q=CN@kAC_?XQI6RTbGwdqOA l^DHw;{~o56Wiof6X03WBv0L%k$q6Y5iSgM<iP$GO^dBI59Af|g diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Samara b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Samara deleted file mode 100644 index 0539acfd78ae58d4503ea88c2027c4b489a207e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1253 zcmdVZPe_wt9KiAC)%_6{;i1~nS(e$_)b%!<%u-vL4r_wM=nw@DltF)>As#ve4zwVM z2#KI5LXu7)9_(b2hoFn@5Z#9GgXj_wBMK^s^?YCFA%dV|&%0-zcMs1Fd!O$zr!Jh2 zsXxXhv%+Nbn#ui^oOzp8ow?^TzTvH*`%BvbdD~yLlJx(u<^mto()L2!u3f&qRQF;^ zg3l(T{^6MHxHTd>ubq^J%PHA)Iw8B$VQK8Dl|3y!X$n>s_xjd~A$KSn`WndYd+*PM z)oT@g`%y<;t?K6ayl$C!sax;P>FDIN-aj^_?Q;|Qz?oTzjoy^D?mN<c;*!McN2Mb+ zBpp99lBm0=6RRE4xt7)k7Xxyr5Y=5z<GOpHM)%zC>%$K|>*UCHePnX8^!68Y-`S!Z zZCcd*eQ#vI{aB|O=Oy)NK?W=D$zcAG9D8?Fj?a!udihCq==PQ3c&SuURz>Cd<#LxV zkJsa^@>Xno{F@%H%cWHGi+PwTVk>i>NUAEO28J#3lz+ds%=-GCh;5mj!3I^s9@g2J z9?Ga@yUomYGvj8Ov$V{sJh<N&nSVIxZ{;tUA6w$YkyB@xlSfV;DZtTGfRupLfE0mL zfs}#NffRyNf|P>Pf)s;PgOr2RgA{~R<Y-DlYC?)~G*uyGA$1{zA(bJeA+;gJ85Gqa z<stPU1tJw9B|4fKks=*Ul}MRLok*cbrAVnrtw^y*wMe;0y-2}G#Yo9W%}CLXrfQ^Y eM^iUaI8r%MI#N51o3sBvi?8l7|BIg1_Ud0fCJ_Pv diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/San_Marino b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/San_Marino deleted file mode 100644 index bdd3449e76a51eb8ea7693fbc1ebeb5be5c1e5b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2692 zcmciDeN0t#9LMo<@8t@j(icrJ0kO!?L<A8P6HO5v36^qG^AVp=i|9y5S}H!}$~pHf zP3M5bhgc6vtuWVoXq7sfh=yTVIay{_Hg`62YKr!IAI6x~-=1^td7XP0f1dXzFll~X zU+X_duzA9lW0(1I-)_0Nln%UZm)6%blpQ|il<&22-+ukJy|p5$p(6JkXWO#fx!b1< zuy<s2$vv8%;?!ImEyv%B(At$n4Yk|T<;0u)<iz<S4JQkx={JR)q%Nz@IW;6nzs;<Z z`si!+>7JXN)0dX(_pLX{jpRMfjWdTDZbsGFH$SU(Zr!T38@Ft7ZeKX*+*$dFZ5{sD z@yvY7_LfbueZya}gI+Cm{Jl0ftqL~S!EF{gAsK_5kV_Ms(1Zzg=&@9%ZCI+^_Jc^L z-7gJJ*xE+tzT=Iy6m_w~cb~J{=iIW}*KT$?WRH;hlmFI^v6r+{ho3aUcU&W`9MsO| zKhy_KRcM#5-q6VX2PA4&l|+|qm9FblVwS9sZuy1s;FMYNP*y-<2WQB`@%^QHRGd80 zwzI_f(>3mDKkad$yY{T_q>mmB)?U@uHGb#s+I!;<ny~tq_9@!0iL-ZW($q83x3F50 z)AmWfahoJ1x?KAAT_pV*OJrc=Mjd!|hNRvs)<Fl-<*^?p>fp-hnznC{4p}oyhn7a^ z<9V?<Y;~#(AL-Zh*^x4$`$f%2Z<LY#uXR-HIT>~NSIP8!A(^#D<%#n<WOUX0l2!A$ zX0Kl-V|H!RCkqPXsdcM#?1Z&CE`N^Z49M3&)+l{CVvLTD@2TUjCF;bEBW2=u?e&?f zJ!I0Sf9d4<P?=H@E>o-jlxZbbWctQh$(>#=GnW3LGl%Y#SyO9tcFY!;lUAj9A$xRg zwCdd7HtW2`LY;qfu|9h?pwGQKS@Vx9kmp}Z(}Kzzd0}3R+G|o|!Pvo4m=_^0CUupf zj2p5r+>+ux9ktl`Sr&y|(?ur_$>Pgr^yQB#<(1lfx@60jy0ofXmo46@CF@Jn>uEWC zK^{IHZ;;PDn{E1a*VXH9b?;BhYEx}qFDt5>C&;qG#A@AqZF<u3d|Y<GO3%pQ65u~P z=0I~3`2UwV#Qc#jN0s?<AAX%*=D1^yw1Zu1(B8koMqYAP^P(d!JMzLKFFo?&BQHM^ z03-rP2#^>cK|rE_gu&Is0SSbwi3Ab~Bo;_8kZ2&`K;nS}#MMLu2?-JtR}&N@Dy}9h zNL-M>pc@%(2n~mc4G<h8I!Jhs_#gp7B7}qpiIJ-b5)vg>6DA~1t|m}Oq>xY{u|k4{ zL<<R*tBDs9FeG9~$dH&JL31@xL&Ao{4GA0)IV5yQ?2zCg(L=(A#19D|5<w({NDPr6 zB2jcTVMOAH1QLlP5=tbNNHCFTBH={hi3AjhC=ya6rbtkcsJfc4B5`#!fkh&VgcgY{ z5?my@NO+O>A^}DsjD#48F%o1X%1D@zIJ=raBawDBp+;hj1RIGq5^f~kNWhVZBOym( zjszWvIudpy?ye^ANaS5j=#khX!AGKxgdd4NG62X3AVYwR0Wt{4C?Lati~}+d$Vj-F zp+Lq084P4Jkl{ea0~ruxM35mt#snD@WK@u0LB<6c7-VEz&CnoY<7x&6869MJknuqV z2pJ({h>$U|JU(yB8RYl!@%sEh?%8b9ue+|kR>AlFY@Q=CN@kAC_?XQI6RTbGwdqOA l^DHw;{~o56Wiof6X03WBv0L%k$q6Y5iSgM<iP$GO^dBI59Af|g diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sarajevo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sarajevo deleted file mode 100644 index 79c25d70ef09aaeec21f0a10a029650967172a80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1957 zcmdVaYfQ~?9LMqhL0H4S7)2!{xg6a~D7WL3s9ZY8CAlQGB%zgCF3rrEeOY4-b6vxT z2jM}?T<4O6HN%WC*O}Qcw>5t6|7Np!;F-<;od5sTPMse8-XG7D`8ko+A6E<W2{%`< zx%s*ETJyNxB<4x&%h7W4u#eX5cgd}7(Ne!YSn9ty@^9}elRIfc)z_Vs@B8eycDlP) zJ73(YerL{#|IsQ5*tJKxl&J)+S|?p|3#8k$+0s45BSG<Q>EVo(VE+*5*~(W!yj&Xc zDO!6y57yod9ktKp7TUM^i#iX!)_&y=G_>@FhAlgz;n~MDBJ;jP7F0`ALXAX^-!3r$ zyCpWVNMajHB+jo~;~veF0pAOC;8~XpdYGZ{m06llGf)R_9Hv8d`s>h~ARSgZK!zuJ zsVm!0Mg+f9x2sVSy{>6e&|^t@_d=4Jo|ojht1{}@0U2F&L{e(cY3i0TNjthv$K>V7 z*s={eZqjBQpF2m>`{$}BB}pgvr0GOwZ=Lu#Tr)Z(O2)l*I{8yCnR4o*PHpg(X?xpB zX7yW{Uh+Y*%IjoCR)fr3{YGaEIW4m@Yc)HtLgpk?X-><NIyXRd?yDU-udzVqUoF-J zk372Y&{WO6vP2ebO3=K@bXhzvQ1ds&$dYmKQjp^#OC!3-GWS<m-qw=Bunt=I{;3qT z`K(3tm!$aJeO+;)QdZX0=&Fhfy1Ht&t|>mKC0k0=(X2^R^KzKCSMz`QvaI%T=6qRg z#A^2I>EG4S(z1Sk^4pYDkL7Z6r+ds791h-G4u|LOr+J0>L;Ey;vA<(kKg=~f{{2Yg zbR#DmIpxSnM@~C(;%&{TM@~L+`uVpMU~4KsN<eBria@GB%0TKs3PCDCN<nHtib1MD z%0cQu3bHj7AtfO-Aw?loA!Q+TA%!88A*CU;A;lrpA>|?UAqCo+3Xu|RO^ryANR>#L zNS#QbNTo=rNUcb*NVQ10NWDnGNX1CWwx(vJXj@Y?QZ`aIQaDmMQaVyQQan;UQa(~Y zvH-{mAWL9t)&N-qTeAwtG9c@KECjL=$WkC{fh-2H8pv`W>wzo?vLeWmAZvmwimh1{ zWLc1PK^6vC8DwdYwLumKSsi3~ko7?p2w5RyiI6oy7RlDE60%ITW}T3QLRJb{DrBvY k#X?pKSuX4Uo-S`QY5gMDG-qm5XiR9hGc_U{!=k)@0!L5Jf&c&j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Saratov b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Saratov deleted file mode 100644 index e8cd6b10efe42e43315c12b28d87cb69bbb0c8aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1197 zcmd7QPe_wt9Ki8s`L5aQ(50NY*&mxrr}Z{BnKf-WbyzbbMuZhee}o|DAv_cW4l+*_ z6hTB0MWai94|U39M3+cCb+h1wPW>T%mmrc_&-Y!PIz+dgchCEIdA1$4-#0&eY&53+ zSj)@_o7H1B&npV%c3X88o)&9{Rz|LsRt4tl+UnVK?RU@Pz(-Z8n@`xQXU>)Cr!G6e z`)8fdjWMU;{84AknZ3^1<5_3jfuyrO*X%T=Hp+(9Itd5;(p0k`5pP6Cz6Nyjo6jRH zFF)z%lefCHIIG*POzTY(kM!oTTiQNyNpCqgC9#uNrM>H>#P^(*M5rJgvHjBV<B%ll zPwC{lUg=yI)?1%9$+r2FPTkGuu4fIpdorxIUspOk>eD+Wg3{CXL1zyCl-}@b-IsBs z-}^vk8(&EF%PSeED$2mzJ=ytwQg%JOAi0@4dhp^2$>%~N`!c)rc)46wo~k94%ksL{ zQXiL9;cs`#XIV-`-9Np>R_3{X$WyIUGOd;`-WN|i=A`l&-pvi>Rn%@bJ7IQQDUW%v zcyL$#AEx>3_jk+>Dl=7NvK%vAWWvalUCpGCX(JOyrjAS=nLbhgQUOu|QUg*1QUy{5 zQU_89QVCLutEmMk2B`)q2dM`s2&o7u38@Jw3aJVy3#kh!45`f3l!nyiYKlXuL&`(y zLkdJHL`p<zM2bYJM9M_!L<&VJMM_0#bv4Bz)w-H;k$RDWk&2O$k(!aBaoo)Q|E=1e LGPQTN#r?kkoc0kq diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Simferopol b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Simferopol deleted file mode 100644 index f3b42b004dcc2af1d69949ff18f35fdfa4cf6088..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1490 zcmd_p-Ahwp0LSrXZq{6;&qbw6m!{c^so6B0rZt;W%*~ctFGMd3%m~DbjOZdt%DM=R zr;=`Zvl1hbD5!2MdO;$|bQj%OBm@Z&aW12fdcH^WrVIao&f)BHcE&{U`-|*3((D%h z9Lf3#7e`QE+-J4xmwsn&=96A$^qs9MHZoZ+-``JBqj!9A>~gUjyXBc!yy{+TN$N*$ zihVqk@+<je>bInrbKK`$I&vkJ_N>Q9AGl<=uAecMb+#E9C!37SmL10Oy){Nwpw!5& zSZ%Dxa~e764kPDgTWDohfwAVp_h|0WSZM9z(P&=pqfmbL!)X5NH?e|_bKZ5wIzoj_ zhrR3f^~Bsq`-FS=RII3SP!=~{l^a|)WQqHPESWkjJ!##_^XZ^0`+Z!MKljOv<GWQw z-vL!QSgtmmuTq<@r7Lf9wyNqVlUr)ym9HsHR_9DAzi&#`#1E_5?9a0H$5&ZreI@Hg z-^#6D?#lWH{W37}LIp2&%7%g4YFlfo40WDW+jm`1jV*^%xO9JeB;bl#;;i#*@wRyD z{OQx4Fne0#9GrZRV7D$voa<a@7b4@Q{vU{p31Jf=JyYl>xrHK8h$JZ_Pb`aOUOirm zbLP{Tdy9)FyiR}D<K?^jgg`JN!us<2BO(~C7e1}eALdQ9eyDFaEEe<9=$qMtr;)ic zYS3RWGcx}K{pOE8c0L`lBUvG7A$cK*A(<hmA-S3A<oHF%4oMHm&r~OfWQe4Q<cK7R zWQnAS<cTDTWQwGU<ccJVWQ(M0s`Et>MlwcHMsh}yMzS{5X(M?fi6faKsUx|Y>g18^ zk@S)LkqMaU86Z<I)pI~5fy@G#1~Lz1BFIdTsUUMfCWFidnGP}^WJ1V{kSUq!IU$oW o)w4pTh0F_?7&0?tYRKG>$sw~triaWAnV|SjHt5j9%`bBN1rVfCY5)KL diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Skopje b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Skopje deleted file mode 100644 index 79c25d70ef09aaeec21f0a10a029650967172a80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1957 zcmdVaYfQ~?9LMqhL0H4S7)2!{xg6a~D7WL3s9ZY8CAlQGB%zgCF3rrEeOY4-b6vxT z2jM}?T<4O6HN%WC*O}Qcw>5t6|7Np!;F-<;od5sTPMse8-XG7D`8ko+A6E<W2{%`< zx%s*ETJyNxB<4x&%h7W4u#eX5cgd}7(Ne!YSn9ty@^9}elRIfc)z_Vs@B8eycDlP) zJ73(YerL{#|IsQ5*tJKxl&J)+S|?p|3#8k$+0s45BSG<Q>EVo(VE+*5*~(W!yj&Xc zDO!6y57yod9ktKp7TUM^i#iX!)_&y=G_>@FhAlgz;n~MDBJ;jP7F0`ALXAX^-!3r$ zyCpWVNMajHB+jo~;~veF0pAOC;8~XpdYGZ{m06llGf)R_9Hv8d`s>h~ARSgZK!zuJ zsVm!0Mg+f9x2sVSy{>6e&|^t@_d=4Jo|ojht1{}@0U2F&L{e(cY3i0TNjthv$K>V7 z*s={eZqjBQpF2m>`{$}BB}pgvr0GOwZ=Lu#Tr)Z(O2)l*I{8yCnR4o*PHpg(X?xpB zX7yW{Uh+Y*%IjoCR)fr3{YGaEIW4m@Yc)HtLgpk?X-><NIyXRd?yDU-udzVqUoF-J zk372Y&{WO6vP2ebO3=K@bXhzvQ1ds&$dYmKQjp^#OC!3-GWS<m-qw=Bunt=I{;3qT z`K(3tm!$aJeO+;)QdZX0=&Fhfy1Ht&t|>mKC0k0=(X2^R^KzKCSMz`QvaI%T=6qRg z#A^2I>EG4S(z1Sk^4pYDkL7Z6r+ds791h-G4u|LOr+J0>L;Ey;vA<(kKg=~f{{2Yg zbR#DmIpxSnM@~C(;%&{TM@~L+`uVpMU~4KsN<eBria@GB%0TKs3PCDCN<nHtib1MD z%0cQu3bHj7AtfO-Aw?loA!Q+TA%!88A*CU;A;lrpA>|?UAqCo+3Xu|RO^ryANR>#L zNS#QbNTo=rNUcb*NVQ10NWDnGNX1CWwx(vJXj@Y?QZ`aIQaDmMQaVyQQan;UQa(~Y zvH-{mAWL9t)&N-qTeAwtG9c@KECjL=$WkC{fh-2H8pv`W>wzo?vLeWmAZvmwimh1{ zWLc1PK^6vC8DwdYwLumKSsi3~ko7?p2w5RyiI6oy7RlDE60%ITW}T3QLRJb{DrBvY k#X?pKSuX4Uo-S`QY5gMDG-qm5XiR9hGc_U{!=k)@0!L5Jf&c&j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sofia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Sofia deleted file mode 100644 index 763e074795b3c7143984c9b334bd6f2f5a50445d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2130 zcmb`{ZA_JA9LMqNC@3Bo`=cQ$AQ%v6N1pL1h>U=dU`II+sl+i6v4{|rL28H8xz?Eb zN37<`P0O)rj%Xu$L9GW}vyBd?m20hBELygv)@IHg#_Ias?95H;o!7nld~VLYF<$Wd z`Zn%p&NH_hxBZ5j6R<bW^Lp&Z=*6}2`J3??e63W*`U)g;AYDR#x!S+zNK1*``m1+N zZOQoD>e-<?3Kx&Zc`k?M&Hbo7K6)$^e|4y5{=|u%1z+~{EIf0tC*l3KP2#EJCh64| z%%a`{CVAg3lhWE`7H_UKcUF~~)S?w8&68=;6Bn4fqTMDVvaly3Fg%`d&F#<p@v?Wx zSC{-t&yIQT9uE3FC*Scd>mTxG9eUB5y}Qq!)3nE%+b}qu*ReO0UpyiO8(xyaq+_x? zuS=Fs24rPIzplKnMOOXYsjELIm3zLe*P?+&Ego5|_a0uOC9fpvea)%5=Flp+zdTY) zn-b)K^ov?nIw|FmpJ_$v_fm1?C#jtNu~Y`n$%7NG%i6)Wq-yj-tv=E#>rS1}huYf2 z+j~&gKm5FIXx*kYD_Yf8RiU-<>$J|ZMC-2SXnkC{)PFrkAGww(8&ChPo6fss^YK_| z7``Nr2ChnDe^C65=Vi<OU-Yq(_hf6ss5T`Zm2Jg?+8p(+ZckF({`1S)GTEU!&UNeK z7kv7}8=JKC)1C6<bH&;=P$N&ZBy0QOLfN^#NIIJ1WmoPZ*<JRh?1?qfnH{H{zx^Ox zG1s*#bXK~re4|ef4anZ$i0(W3iS8dfrq6Vr)WDH|x~5IHSA;8a>Y6e0rYroyF>2QB zzKls|vHyK0F~vj}6C);yXIFIid1;O-HvD$#`NlVu)jm^J<};<vUBeId!x)!~o6o7^ za{2yy472TfZqBpz=6T^C{AABR_SBsYreVjKiTTJ#kf9)BK?Z}2#?cN384tgU0U;wo zhJ=g>85A-qWLS=NT*$zXks(7v#>QcA97e}scpS#ZVSpS)$YF>a#>ioi97f4um>kCG zXb0+OM~Vy;87neaWVFa|k?|q}Mn;Sb85uJ&Xk^sLu#s^i19!9|M~3cb$Bqmh89g$5 zWc)|~kO&|lKw^Ld0f_<<1|$whAdpBPp>VXZK!V|Dqk)72i3bu8BqB&ikeDDrL85|$ z1&Iq17$h=CXdG>9kl;Al=pf-i;)4VTi4YPZBt}S(kSHNxLgIu33W*dFDkN4&upDi) zkZ>XKLIQ?F3<(($GbCt8)R3?taYF)!L=FiZ5<4V#jy8Ho_#AEgkN_ePL_&zf5D6j@ zMI?;ImNCL!k<(^OT{EL@y239UXSr|pWwY=de~b;JO`{E@O=FB0n?@T*2|wE$#)aQb qJ>U4I$_DcPB6&+C?H6ua(`9*7)Ki_GRhX5No$sm6&2gRz-2Vcz8|p{^ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Stockholm b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Stockholm deleted file mode 100644 index 43c7f2e23f3c37c24d39e78f8822b12c5a74b5eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1918 zcmciCUrd#C9LMqJ0H+uu_9f+y@y{Yc^2lEyHOTaMU@FId=aC3S<Ub}-0udBOPUl)< z?%T#{4xKg~YfjM%tP8Z3TBAj*&7C<>=N7B1m}4U*)mZ)BkL#wo_Bnf=*WsLV!Nu?W zu`6~p<XZo^+~yN*t~boh`^VlfkN)J|o&CY_sd@f2GC%JRjY<7gW9Qw{xX^DkZu&Eg zpE#!ruAR^)uDq`a7cWWTnL$Z9dR&rwRZ_b5%fjYXd2)NLJXLB-YN1b__7q53V!AvN z887K>ucpr|)kQy~X+|(spZ)StT|6|ao>M>TlD=`xJot@fwO`ciy0e;7c|&qrha|6P zSe9=2K=PB0NkML>6wLL=vV=ZecDq`Z|Jk7{E_vnoo8?+KP^Cq~EA)j!t8`_5qQ2OW zs;dqzm(|5?_0}cGnzWzP=be*c_t#pIdPhp`{U~cgzmT<KBeHJdq^uu2Ev2KMtN(DX zY&i3gZft3hO}z(n^GomPmgag5JlCvtX^C!)+n{Bh3@y8#t>rPrQhxn$eR*b)RDANA zZVN`p_7l-kIW#FddZwkSZ%lSp1*Ll5FIuzmQ>m>S)w+};QeQNv4dEBGF-f)Y?uXhm z*Q&cly7ZOXw(kCTn>K&7SN6PHq%8vhd9^7;Uptg9dp8$KYeSs0<s?hH?{|4U+LDf} z810z)UOJ=hYv*@YrR&}eee?W)yfrqg-A69#zQJSqcGoHGIozYJ5Lal}!+%*;RI)i$ zR+Ly_mX)~B75>kYPXa#M@;Z0G=2tG4^RWN_%syhi<mT!!H}9io`O92?nad6y@5An` zZ8gYQb~NXi-*BdpbB&yB<a{G%+|itK<g6p-9Xa#Jxkt`Ea{iG9kPeU*kRFgGkS>rm zkUo$`kWL&;D@ZR$Ge|c`J4ioBLr6zROGr;hQ%F}xTS#9>V@PL?rZuEDN7EeA9nv1s zAJQPwA<`n!Bhn<&CDJC+C(<a=Dbgy^tD|Wa>DJM-i}Z^$jC72&jP#5&jdYE)jr5H) zj&zQ+j`Z$mnn${KH0>k(BO8G10I~(h9w3{5>;ke4$UYz&f$Rjb706y7n}O_xquCB* zKadSUb_CfHWKWPyL3Rb%7Gz(LjX`z>*&1YTkj+7M$I)yLvOkVygOD9Uwg}lHWRs9x zLbeInC(9KQ8WQGy_%F+nN&X45Q)Z!}#Cot$k<Lz;C!du1ZR_7#^<b>bGr}y`k{quu UV0-*|nfaO79)C_YX5~fv4Z~=$r2qf` diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tallinn b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tallinn deleted file mode 100644 index 18f903fa6fd864237a679dd06c6a55eecce89d98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2187 zcmeIye@xVM9LMp`fk$-7`Js(Y;t-M)!~>3>T7$$8m~m$)C;5x$2cj0C0y!v%?}|Cs zn7u1D<|=;_qaQQoA8Kp%d(Kf_bpNo{sO4&9W6gcHa%LN=&-0ttKd$vpfA+b3zmG4+ zF`VP|jBMG}UZSo$+PuTX={Fb8i!F0IytyEH_+61BL!)v`E#EWNy*o5{;?#xD&W$!k zFE;4U-}K4Ut2O$I7s_<3=lq4V+}C5bEd09Kmps$x`+dPj3unEt^qHFKTca<=GTu9C z`;R|wXTJQjy=b`G&gyTovpY80w{5Gl7l&5ZIhA?#?SXWAi9cN}o$pb(?s6;l@=`1B z2cNZUI@!uUd(~Qga@Gor%~%B^QLAw1eXFQv!V0z>v5H&HtCFs9Ra*77D%)^Cm1jPu zDv~~EtSIT#6?21nWyXk9j<-tHnLFjK{i|iwOMa<t&ym$bcj&w8+)~q)q1P<AD77_n zy3YNn)aQJw>o5JN*Cu|f*G^69d%k~7H%z>xL(vZ<d~jH=JAO>=?d;Tz!_Ub2`<|5z z9owa8MTbN}^|H~oPMQPDr1?rvHl@|+O<&$Dn=j|-EvJ8#t<xU8?P#iQIr+1`fAAOG zIx?jnXr0y%4$R6!tKQKMw?w5a>yX}FH6iWEr({Q_$c~>zW#?R%?3(P8N4|;3qi<}L zj&pnUV+X3FbG%9K-kBwP_Lu9u>nn9vyH9r)FVa1=SM}qmO7AO5lYRDgy4QO}dShpG z-=(kQi4)`c$*D8af9Mk#n0Q5=>Kl{6gM;FlmyqakC*6>kkeHB^{MYM7&$ZW0^RIg? zNb$P8DgVt&DPNiSbK^cwDSx&rSt+kpDe=2MTcs+MA5>}a@2;$NrN`fiKf5ydE}x8l zo_F$tuFOz4q9W$1scqsGQMKj@H#L}Rjd?b2D&=zVFEDVN$G>mp>&U+^XTW^kS<Y|Q ze((=-nomcg$dVk*nvg{yt3sBAtP5EfvNB|8$l8#_A*<upu{>mb$O0YB3XvruYeW`_ ztP)u!vQA{7$V!o=B5Oq!i>ww|F0x(@3+Aw5N3&#P&B&sWRU^wr){QJ2Svj(FWbMe} zIjo+;@;R)ZLjgEcz|oYz(bNDb0#XH}3`iZ2LLikuN`ce@DF#vvq#Q^+kb*dxiXbI% zG&Mnrf>Z@53sM)PFi2&P(jc`#ii1=KDGyQ~q(F|QLP&`mO^uKuAyq=kgwzQs6jCXq zR7kCmVj<N+%7xSmDHu{Qq-2h!W=PSHsv%`V>V^~!sT@)|q;^R0km@1jL+XbV5UC(i zLPt|Wq==5DibxreIwFNcDv6X5sU=cO^?x$?ulT2AdQ4;sN~mifTv}LO7%VCcgo}gD HQ<>*aTU8Lp diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tirane b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tirane deleted file mode 100644 index 52c16a42bf1ab1b5db5c1e3d4b808ab37384ad18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2098 zcmdVaZ%kEn9LMoPdKbGPeZlZ*fLKJJUV+QML_yOVpb46CHT**y6A=^XK*XRlYC3F< zx$lEJ%ayB^W95uoBmWGYe`XCAGS|kOI@9S=agOd*PFu42z0aez)`On3b<WOto!y=L z?0nv#RU7MatiK%|^9vV8r@43@_qMt1+Lu?~zj=o<aC4EI{lceb4-ac}MqwoS=Q+05 z(-!fbYr6W#@DeAccY!_bhfR^#@HG3;0}mW&iLvAKM<>2=#2)XQa2}g|#7<an#F;Su zYugtXiufK3UY%rxok^E!?8gVbiX<LACQ18yB>AI{WpbBF%9eLzN<*_ev1Xk-Sss$q zq7r$^Um$5o>GE{UL`nAqHT`a$X8e?<Q->z#v~M5Q>Am;Wzjs(?gfD95_U|>T<)~)Y zeyM@#3zE~^E4jselDBM^<R|Zuf}A!f810amiD8|2d94)w-m0^X1!eZ7DlO`+(c->Y zI;V4<&iyb+pRG&PdD{zReyK-;wTbdv+D$D9j!LQLjFzQdk+P8+vT)2vSvc4)&tLyc z7WM3t@`2-8v9n7S@BdVnG&af$UE6f&i|^^OhV@$cOoN8X%XGPKv99n>)fM-$wJM=h zs?Nvj%DWk|>fo=sddMqlK8cg+-aGPA$1hS79u&J~NY-w>tuN0#B<rdNv^Hh8tS|1- zy6A6oL$d0ITkmWAXtQqYZ`W5Yhji2DtF_^~CfWRMu{L&B%B%G$>U8Ey)6ybouJg%j zfyvTR@|(OKXGv>Tg0@DkNn7kaZ98{b+D9(v8wa}O&A~q1vip>7?b)MmweQuAogHdL zJ@ilKn6dxaX<6|fm=Dy76>F?zB~6Kn{_AsjMaT-4a8-tQD=Nyph5p6of1m%E;}3H% z17r%w9FR%4npyBJ({MHOKqlg9W`axwnF}%*WH!ijkoh1JLS}?a37HczDP&g2v|P=+ zkcqjPnITg{=7vlTnH@4cWPZp5kr^UWMCOQ05}743O=O;~W}?VUk*OkcMJ9{P7MU(G zUu43_jFBlLb4DhO%o>?CGH+Kiab)JMX6ne?k;x;oN2ZU=A4vd`0VD-T4v-`uSwPZ& z<N-+pk_lIn3M3b<CK*UJkaQsVKoWvv1W5^!6C^1}R*<wHc|j6`WX9E`2FZ=9Ne+@7 zBt1xekOUzaLQ;g}2uTu>B_vHqo{&T#nL<*9<jU0~3&|FeE+k(_!jOz1DMNCGBn`<L zk~So7NaB#pA*n-h=W3FNWY5*456K^rKqP}m3XvQlNyPto7QH5wGXk{IUy+-cpPB8i K2xMbcuJ=#K(Bz>2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tiraspol b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Tiraspol deleted file mode 100644 index 2109b52a734c1eadbc8ffa4fbdd5e6a53fbbb60c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2445 zcmeIzeN0t#9LMo5@hBo)*NA5|OhCQzD2gRY;>8ruiy)E-o{|s+EmRB>@HgieO#>5a zR;*ZSDw{G~j8f33Oj!|7W2=VN*_ve!)3eIyGFQL%Ay%zFT7UFkpSyG4c!y3mzc2FF zY%EQZzs;dP;bD#X;p=Fn-(D_%CE$&YkNr+9_|Z6Zt;IO~#WP0tV4cy^*Jhr1^F{OQ zv3=%ShilB<hRx>N)y3vJWh=~g3)9VW4<?%LrAC?OWA8FAgm{^KJ<Z1ZPu9Bozs_=e z*cN<X;MEMr;KA9Bq2&jRpqQgWcZXa|5B3{z2mgF$Z^*ZSL!l!X>0$lNL*YHGR>bjV zt;m)=)};O0tjRSc)|84>);()8t*Gp|*3|j2*1gV9Yg&ZA6+Qlz6`hf7#(1ZwnCsCh z_HwYAZd@^@4}WjWI5+5?**Rc1UpwiZb*RIL+uQ7p-+s_YD5-KM7PXs6TXzj5r=5`5 zD;p#wvPtG7ZIU^+D<w6&UZq~jlX<tw)O}}C<o=OmYW|U2mDcT43+j{A!j}S7dTEe) zVDC&><hr3UN+!tSX`d-q#x=?G?p8~tek4n-ekw~nUzeo=r)Alf&q-E$i)8noR5^`x zvix|nTCv3t_x>uCyShfLtXQq`<`%2`?0ITcaJnjRhO2@bQK~Q~RSG}xQV(4ZlQmsm zsfUMuk+rR!Qq=jm6z{$)>kjpbvF?IAQhQN7y0A^w7oAllllRGEX|1Z%@2J`kxkqid z^0X?uU7|Mjm8(scGFADp9940Cy=-oXS6hy_<ngkJ>WTUosmzU&t)=5+TcSg@yS|eu z#}Be2-dF9ghNU|28&y5jB|EQvpq}bDEV~9ysG1i#Rc(8ds@wUz+TB>GJnr!J^!n?| zXPmE}uitq8(O1BPKVCliJH37W!<R_7pZ<?5VLyqNNJzElU(HDH2oQ;wA`{2nM?VR4 zND!ZRgpR$Zrh81{`z31Zee9F5KOs9OUo!NwNIx!D9&h>s`_aG1$y=<SEdBx>9;1)_ z1t0u*`Tu;EP5S%oyS(}PZ~RrSpsVjD<xVNLO1W3N`erG2OSxUj{Zek2a>tZgrra~- zrYUz#xoygQQ*NAc=agHg+&kswDR)n~eaih)44^o`KMM;e9#BlMt6iYjK=FZM1jPx8 z6%;QhW>DOq*g^4wVhF_%iX{|JD5lueu25{Tt9_vuLvhBgwua&j#T<$|6niNCPz<6t zM6rnC5yd2iOAMPBKH1eqF`TlitzvjZF^l0A#V(3p6vHTvQ7of)#xRZI8pAe<Zw%uo z&e_%0F}$;@&11O7u#e#%#XyFG6bl(1QcR?{NU@RPBgIIHlXkV06ff;+GbwH|?4<a~ zFqGja!%~K)3{x4dQfy`TN->t<EX7)iw|2F;6n821Qv9VDOmUcDF~wts$rP6vHZy!? z7|n2+VKu{RyV`7q+jh0x48JLcGaRQ_PVt;#I>mMQANGF_yTAT%Fe`~449=Y7xRkgA MXHH@QjZgOf4F;`^qyPW_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ulyanovsk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Ulyanovsk deleted file mode 100644 index c280f430fad27873cf7b20af55bf47c816ea1190..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1281 zcmdVZJ!n%w0KoB!O`4cEI8+ncq*iMhlQ#NHlagv$qe&a8DHI7EszULjAP64Pp@PtW zwUY{pAfkw3aPf1{$*MtI#I}=L6&{F#3UZ4mEgJ9tl1?r<dN22WkK;1r-9LqqV`DM# z$5^FTn2fBRJU0~e?Uv{+J}G&I)`YH>*ZSrSuWK&tU9>&&eHP_)3kjof_H4On=91~Z zcg74{A2*xN9W~dV9yVK!=gbWUlIF&I*lbNTnwvU2X3+0eZJs3+a)e~)n@?{3=q-jP zUKGP`7iHwt7uo*!o$M&h$>`<ha?8|1xpn-eG>%-9+YZjC*vTuZv*(72?>nUufuib) z?N?nt52<9+giOBAs_vx`x&2w2+Od$5sXH0j^R!v^P6y@AYeJ^SoO0KcU+wPuBr}J9 zsci6#?8}&{-*I2&T3@Q%*Vk&GuA~O$@2Wi?rq$jD=T(08wj8{0LKX6X(c$k6a<WpX z2wUBX>ScG-u6k#^)3s9H{^qhf?RFueqx!Xqh#~ZI|B%fkL^93$uHKhdY<i`-Ct}$2 zPJfG7%^ud-nI9~OcB50zgr0Fd^{LwQr#5(A9)*86^B=V@>7QHS?2+?lnFf#!kQOX; z4@eV87f2gOA4nreCrB$uFGw>;H%L23KS)DJM@UOZPnNnVq${K?OWhaJ7}6Qi8qyom z9MT=q9?~DuAkrbyBGMz$q^0f>Y12~oi8P9IinNOKiZqLKi?oaMi!_XMjI@mOj5LjO qjkIm4`$ihK)SV-(BfTTdBi$qIBmLu~ZsC9Z54cnMU(y?myMF_y7abG; diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Uzhgorod b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Uzhgorod deleted file mode 100644 index 8ddba9097f804a762815a54e47708bf6bfb5814f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2103 zcmd_qeN0t#9LMo<QVefJUs`k_E)PZILsz&wDH<ety)c7oSGgLg#I+C~A__1DK7=dh zS|j&WS<RIW%TYFCv{C(mt%tcr8(nW(t~qkGTIrl)XDeq9WA%F<v#s?<fAv@A?3~xx z8QlBN{k)@Vx3m;n|2S?kZ@4(Nn~Ue{-R3qnvt7r}*UD$dy&8WtD5npUN@Dl%SmNlB zZ$AHi%1N8`dg8Y9ud2Ms6A|yPH-DIZF(r{P5v;m>{9q#U<bdNlvERvh<ryctuhYrd z+3e)Du6FKNU+vskx4_A(nC;x<&v5d69w+}uXXNe|3Y=M&mk!MN;!<qxsnd~rM&dF5 zv9}}h`iEl$dk#hlx1H2L^IKZfcvgx#Mx>;2R7zL9C}mlPWqxtD%%AF&^2~lMKes^^ z{??_7-Ve&X6AfB1*rb)Ci}b#|OLXzeKCNoW(<OTr%F^m24K`=Wvi$QJ3QkFN(x+OJ z_qEha{vgYzeI(1{V{-p@uSxCDn^HIafrj_>$%+$4^?|lFiS#|ID<6DbSG8```UR~T zt*g=1-W9sWKS$SG31~xFwKRNri#~LDwyb^kCtY{OBkKoJrE%nvJly-EH1)?N)^tWT z?7FCrEPhWOZ5-F;oI|p)a!6Z}-_cE3s+%snq?@NYbjw(eZao*($KF_{t)H~Z<Ih!U z+hDysu{lSd+*>B?D=Va<#Vegf*|IJ4i#(NTNmpT-b~)clcghv*PMngS$+NnBcu;o4 zM|J0+k9F73VST#inD*}LRr|VW=A3TNNV<AnpZwQ3!=CAJ&l_(1FHXz4^@914St(*o zw=7?-o&5Lb@+#Z>66Xf2)NA*vZ+y8{8gJ~3Yj@t%g`-w5#8n@)!u89{RcnRJix4j? z%eMc#xet6VhiymyeG@y(AG(|P+5I2O`rRB`Cx_FKjUYQgwu0;h*$lE9SF;^tKYSb; zLUx2~$<^!$*%Y!XWLwC-kc}ZbL$-$O4cQ#BJ7jyv{*VnKJ9IT$MD~bm64@oPO=O?Q zMv<K&TSfMYY!=xqvR!1q$cB*}BU^Sgdqy_xYIcom8`(Fqab)Mn){(s<n@4t!Y#-S_ z(g36bNDGi2AWd*JT|nC4YWjdQ0_g<O3ZxfEGmvf|?Lhj0Gz94g(h{U6NK;%*SCF>2 zn!X^7K{|u92I&pb9Hcu)dyxJh4MIAEv<T@D(j=ryNSj<upO8i&okCiL^a^Pf(k-N2 zNWYMVAss_nhV%?+8qzhSZLX$oNaI{h=aAMRy+fLZbPs7C(m$ku*8e?%9uvxW#gx(? TE-5H02o#q1!$kr2snqiaa76ol diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vaduz b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vaduz deleted file mode 100644 index 9c2b600b103dc4d1f49b5f087055e19d3e031129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1918 zcmciCUrd#C9LMqB0S*~U_N9i$0t7oE{yFj=LW4|?z^DVIoRk#AKL~0>K}Mh$G#PV^ zxvv|mxnj{|%sHYiP%rS$(sHK6+KM$S=cY5wnsZYI)>!@CPdBW(_IY-m*K>diE`IM% zaQ%+zbn~CfZGXat>mB>yeP)||T=eWT7q8WuOA`Sze74j?dw<hePyDQ&&~Mdq@3hXo z{<%K+eUCnM?x4n;JSDOH0}}V~Co-o~CBEf7NvLg*x#e5s=|E7tx%o2Bmo160NizSj z*^=b;Ytne8F1V4X3rA<^qOTv(#e<XT>-|-ibY0fu_Dh<w>!hYueWqy@W0Kx5C>eP} zlDXys$%^Zi?DQtdo@$kxm@dt^vRRh?*{I7-`Q_Q4$~3pHQuBtE>2n<`boocI`h2xl zSF|scl?86~SH;Mx#G9J$pOOOiH(KbuDus7`k)qHqrD)`Wym0-nyf|=F0>fvt_&}$W z^na=^)z!(%o%?k4y7zTW?KUlardET2LVd+kqHBE%b?ro|mPHpx*^iIwtK$n~{qg&{ zVKhR@d!nRb@ORnRdQU35Mr2dvsBGSQTemDfAzLekwJQFQY|9(a>KVthCQh~H)`z-% zszG;LXx5!qg8JH#4O)A?US8jyr*(a$^2YXfeX}D=>R0DVL$ycVN}D6Q@*l|CQAQe5 zqP6kvHED{R(5COclIA;Oy8DYh*)uYvEr-tP-hpm?x4Bna5438C%if`35BoMI{11Do zOl*QH%$P_qk4}GISsXO}{8Ao4{>tTY9>M=Vv*Grae7KtJhxe#SzS-+9d(FFhyAA7q z2=747vZFoE$eBjYH5X?aIp4?`ceLjmIqS%IN6tKQ?vb;PoPVSNqywY{qz9x4qzj}C zqz|MKq!UNm3epSG4AKqK4$=?O5YiFS64DdW6w(#a7Sb2e7}A-eZ4K$o(Kd&4hqQ<E zhct+Eh_s0Gh%||GiL{CIi8P9IinNOK>S&uqx^=YeBK;x_BON0xBRwNcBV8kHBYh){ zBb_6yBfUG?=8^6lZTm?7$Oa%gfNTM>2goKMyMSy1vJc2cAUlC<1+o{&W+1!aXtx8| z4`f4-9YMAP*%M?_kX=Ex1=$y5W00Lewg%Z7WOI<+akSfm?2n_}AY_M-EkgDP*(79_ zkZnTt$+$v8>>cKQ*tan=_#fCQyHIwg?AJ&!GpD}?>`wiAtNs})`;4&TwIq!h^A%?# PXC<fliqldtB_rZ*zi7H} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vatican b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vatican deleted file mode 100644 index bdd3449e76a51eb8ea7693fbc1ebeb5be5c1e5b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2692 zcmciDeN0t#9LMo<@8t@j(icrJ0kO!?L<A8P6HO5v36^qG^AVp=i|9y5S}H!}$~pHf zP3M5bhgc6vtuWVoXq7sfh=yTVIay{_Hg`62YKr!IAI6x~-=1^td7XP0f1dXzFll~X zU+X_duzA9lW0(1I-)_0Nln%UZm)6%blpQ|il<&22-+ukJy|p5$p(6JkXWO#fx!b1< zuy<s2$vv8%;?!ImEyv%B(At$n4Yk|T<;0u)<iz<S4JQkx={JR)q%Nz@IW;6nzs;<Z z`si!+>7JXN)0dX(_pLX{jpRMfjWdTDZbsGFH$SU(Zr!T38@Ft7ZeKX*+*$dFZ5{sD z@yvY7_LfbueZya}gI+Cm{Jl0ftqL~S!EF{gAsK_5kV_Ms(1Zzg=&@9%ZCI+^_Jc^L z-7gJJ*xE+tzT=Iy6m_w~cb~J{=iIW}*KT$?WRH;hlmFI^v6r+{ho3aUcU&W`9MsO| zKhy_KRcM#5-q6VX2PA4&l|+|qm9FblVwS9sZuy1s;FMYNP*y-<2WQB`@%^QHRGd80 zwzI_f(>3mDKkad$yY{T_q>mmB)?U@uHGb#s+I!;<ny~tq_9@!0iL-ZW($q83x3F50 z)AmWfahoJ1x?KAAT_pV*OJrc=Mjd!|hNRvs)<Fl-<*^?p>fp-hnznC{4p}oyhn7a^ z<9V?<Y;~#(AL-Zh*^x4$`$f%2Z<LY#uXR-HIT>~NSIP8!A(^#D<%#n<WOUX0l2!A$ zX0Kl-V|H!RCkqPXsdcM#?1Z&CE`N^Z49M3&)+l{CVvLTD@2TUjCF;bEBW2=u?e&?f zJ!I0Sf9d4<P?=H@E>o-jlxZbbWctQh$(>#=GnW3LGl%Y#SyO9tcFY!;lUAj9A$xRg zwCdd7HtW2`LY;qfu|9h?pwGQKS@Vx9kmp}Z(}Kzzd0}3R+G|o|!Pvo4m=_^0CUupf zj2p5r+>+ux9ktl`Sr&y|(?ur_$>Pgr^yQB#<(1lfx@60jy0ofXmo46@CF@Jn>uEWC zK^{IHZ;;PDn{E1a*VXH9b?;BhYEx}qFDt5>C&;qG#A@AqZF<u3d|Y<GO3%pQ65u~P z=0I~3`2UwV#Qc#jN0s?<AAX%*=D1^yw1Zu1(B8koMqYAP^P(d!JMzLKFFo?&BQHM^ z03-rP2#^>cK|rE_gu&Is0SSbwi3Ab~Bo;_8kZ2&`K;nS}#MMLu2?-JtR}&N@Dy}9h zNL-M>pc@%(2n~mc4G<h8I!Jhs_#gp7B7}qpiIJ-b5)vg>6DA~1t|m}Oq>xY{u|k4{ zL<<R*tBDs9FeG9~$dH&JL31@xL&Ao{4GA0)IV5yQ?2zCg(L=(A#19D|5<w({NDPr6 zB2jcTVMOAH1QLlP5=tbNNHCFTBH={hi3AjhC=ya6rbtkcsJfc4B5`#!fkh&VgcgY{ z5?my@NO+O>A^}DsjD#48F%o1X%1D@zIJ=raBawDBp+;hj1RIGq5^f~kNWhVZBOym( zjszWvIudpy?ye^ANaS5j=#khX!AGKxgdd4NG62X3AVYwR0Wt{4C?Lati~}+d$Vj-F zp+Lq084P4Jkl{ea0~ruxM35mt#snD@WK@u0LB<6c7-VEz&CnoY<7x&6869MJknuqV z2pJ({h>$U|JU(yB8RYl!@%sEh?%8b9ue+|kR>AlFY@Q=CN@kAC_?XQI6RTbGwdqOA l^DHw;{~o56Wiof6X03WBv0L%k$q6Y5iSgM<iP$GO^dBI59Af|g diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vienna b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vienna deleted file mode 100644 index 9c0fac5369e4924ceb9d6fe9f39ac14b0a712c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2237 zcmdtie@xVM9LMo5zcQHF+YHY5Atn)GC%++4$m~2A%2~*1BoY{iT7+;Z1JkaIxz>oi zb4=$De;{Mk?CKA!HT*HN8Z9K$E<<x|xw2n#EOXi#tIzZMNB_9ifBn(-cHhTmxBLEa z+r6INRU7KFtXr;0<`dprubDUJJ6<%m?#Ygt?%;*-y<-9G={utPK2Y7?zFQCedZMYf zDOL_GuGFE(W*xq=R8GI?(2-u3e7-YBMz<%+8DET?@w?^h#hmeTwQ>4I$yo{JpOP<A z2jsjnR=$edCDS}9<9BC|)<h@$tTEHRR!7)rbzD2H(=WfH_nbSRv8P_wxTD7;{%}AN z_U@M%9V&@iUy_*(KDl>wt;{O*N>YJa?sMiza(s&1KY6;OM7T8NdXCQiE?HB9F*@ht zN&3LRO?CGDsB^n6Xj=Pcn!f3%X4Ji{nN?$w<r|Rf!a>PdzDsfwdL%EaRq`hMGB2)6 z=UrMO`G2(N{9`UzaIr!Q`m42YaK1jYW05ZGj@O6llXOvgzC2PCp{}|(S)6=D-L45K ziuhEElfIGStKUmW*hwiF8ImQJ56RNNTT(iFLOq=wvh46deYCMr9_x5n%N~DKmp81{ z@&_B#TUx9u9Lsd2GgVjK$k2-DBB?lkmp*ZQwyb*ZH?0gt$?5}BrE1_8dD4GPs=G#{ zraCBVw*90}Eqq^UtA@2MagVGm3~2rBM|53+>bf6x>-q_wZWwCQr!RT+nKvr6;ge>0 z_LV|y>@Sy%>l3wUN3JxN6^O6iA<t#bkWKF2W%E=^TGFGnW&B%dopM84M?aFbt7E$5 z-F|s~WKg&6`B1k7dh~_1KJ|C{H8dnNEIcgSzH#{b7!n$B+kgGCtUJrhf7ptj84_+; zQ^bn=r*o;tYq{Lz+`K#yVlFfX@4qjm(|plh%uV|l%lgw?8+)tMkp<bB6(LJP)`Tny zSrxJ@WL?O@kd+}zL)L~Y4p|+tJY;>gW`W2GktHH)L>7sx5?Lm)PJRvxMOKO|6<I5? zSX;ANWVy(Ckp&|wMwX1M8Cf*4YGm2Sx{-w=D@T@&tQ}cAvU*#yd}RGd0gwtHB|vI` z6alFMQU;_BNFk6)Af-TRffNI&hOH?FQV&~G5TqhVNsyW#MM0{9lm)2^QW&H%NNJGT zAjLtdgOmrUkF6;XQXyMYBBVx0k&r4OWkTwN6bh*nQYxfYNU@M=A>~5qWortCRLs_t z45=AXG^A=s*^s&+g+nTbln$vKQaq%3NcoWZAq7M#XlqJ{)DS5mQbnYUNF9+vB9%l+ ziPRD)CQ?nLoJc*9f+7{QH6=xAYHNy$R23;JQdgv~NM(`IBDJ;tf4Pk^1)iHpi=CeA QwA{1|rzbN5)3c-g0&7TFt^fc4 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vilnius b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Vilnius deleted file mode 100644 index da380af0ed2f4f6eb399ab4a3bf3a0d9b6a7ebc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2199 zcmeIye@xVM9LMp`1*g|V=Nk+U0z@JK>4f8#+9rw}Kc;}9ocNQZ!V`-~(H!_AzAJOC zG54w1%B9O+qjJRj!|ac2S#yo*!uyA{My*yW8*A>{%9(AfKF=>utNv(h{n_XCy~lUo zJK!H)&+x|Wkz)0?lVqN7arT;v`y9)>9b1*zaPsLDFP{1#XrGRBwG0hh+413q{8;pA zt$h5NUk{%O$(83yB^E6IGCB8^*sPS#D*T?&2LCTJE~Sk5VyUB{iaVpv$I>pIu+s;g zwKI-AY0vK6WoPbhwdb_2wX-%?+jrG1w6hoI*>?w0?YZfxDks6Ka@}QC?)4li?;F20 zZ^UEeU%qMGbAHSUoEf#|_eHIOgKt}fy9cdc>&sSA^GB+<vtN~zzphHx99E@gFSV3q z9G3;fU9w=jM;4{^=_N@sTb3MJrkB2yt}7zhdfCBy<-TgS4z;F9<=m^fDl{(D?hkZL z_7_rf?ORzM_pU4-9+DMbpO)Ievr-p*N7o<em6Zc0^{S2zY3O}QuU_|zUemr+H!f_~ z;kp{V*1u9W1?K6d8$rE3xmwnLlB73W&y$T8e$typyt4U3qBNiXUhePtQMU9AOUsrK zdEmg9esJlV@=$YBw`Lxdt>uF{;(0@F%g}n;cQ5F+@lL&cs9Qh$d00R4>L%U({!V%H zaJla2Z<NQ{GWCu_WwLYiV(E<dWmnN`*<E#09#2%Vr!ZOXvA>co-woXryDZ(;KGl2A z^~=8DxAgv_@96`B$MqB4XLQez9__j%E<VofnKpgeboZ?jFYj%WuY}wG`il3>@JW24 z{1-2!{1?qXnVNY{#Va+dO?i~^iAqo^eU1{P@`LJ*Kc2W!c+UHx3RlL|r&IT?tf`-x z_|Bhyk1MOLKCIT6tJYkhs<5guSAAoxxo_mA(mXIX6UXIJ$~Ac=AN~G`%N73T4ec{u zcQ*9%<j?(TPSb^GC9)}GSID-IeIXk|c7|*X*&DJsWOvB+_%rMe*&wn*N3%s_kH{vG zT_W2=_K9p1*(tJBWUt6(k=-KOMfQtqn8S`aY}wK58QC<lYh>HVzLAY1J4d#T>>b%W zvU?8O=dgbc4RACaKw5zGz|k}T=>pOQN7DzS5lAPHRv^7Vnt^l!X$R5|q#=%`BS=de zO;3=fAYDP)g7gJx4AL2-HArue<{;fc+Jp25X^^Ao5Yi$?(<7uwNSBZ{A$>v`g>(vO z71ArDSxC2#b|L*j8isTXX_=$x8PYVQYe?IWz9Ef6I)}6l=^fHMq<cvFkp3YJL^_DH z(9!e|X`-X)BGN{rk4PhtP9m*DdWkes{U6PL7fr9}?fhaI8>lZSC@TmSmIUgHg3ev3 F_cv^;2-^Sv diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Volgograd b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Volgograd deleted file mode 100644 index f4cb64f16c730b1da6fe427a786ae939712559d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1167 zcmd7QJ7`m37>DsMHZdi2aM89lsh66@^rA6oO4PKbrcJ1(P$W21h2o_k2);-M1)&9N zClwSyL=nZ{;&sr;DnVStwv$^c9B}f2yh}kW8o%e%Ne6NB9M1V24#|-GpW@K5k+}Ke zsJ3soIC|{G^U861yS<Q`e_E;;Tot)iUR^gEtF4~N)PD0kuKQ@p^>fMCn(1@phN;U= z@cvmRbYs+MJb%<#duE@r?s(o=e<0;-C`6s6^d{ZdR<Ge;K$~k8HR6j%WT8%?Z$A&W zy!s@qPv)hqG$ZX-UdZN&N3vz~mc))+lC1})G=B1`Cc18F$KKPL42^4Ne7|;nKcuOK zQ<8eutJ@ZbWc%}G-7%Mz^xdp<J!_Qi$*}CaZX`3}m!65B?&|v>*~34yH~dEWvX16_ z4<z68QuAM4YkyTq`)BXz?)Q_r=ivn{Oy7}#izl>L2n~-_Diz~dR<(3`eeSv3&*@#_ zZ+EZXZ%njg|3}jjGhSm-8UEVbpl8MJ&mQ}p&lCoVrZtwZSBJfleARgD;Xc?~@gD~K z`s+*fcT^Y>8I#uxij0a3>uSeE21Z6khDOFl21iCmhDXLn0ze`_LO^0bf<U4`!a(A1 zwSgd!AfX_!Ai*HfAmJeKAORr}At50#AweNgAz``NxRAhHZDdGjNNh-ONOVYeNPI|u zNQ6j;NQ_93NR&vJNSsKZt~OF6R971-5-bue5-t)i5-^V0&HuZI18JLhcY7l66LKOE A0ssI2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Warsaw b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Warsaw deleted file mode 100644 index 5cbba412eef406b4baf89100f2c4a8e1f5d12798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2705 zcmeIzdrXye9LMn=AgP4(#T$xTG$NG{K@=4sGXiIVc{$$jhK8s`hL;FU;#o4+jJa<N zafp-_F?C9Ap)JulyUmsnUeK^vD_4Re!_c%fX217itu<@?)qnlY&hvWC**Skc?~f;Q zMa~Fw*SXhz!<)0)zPS%}?4@FNRAZ%oP*!Erh4vlIwOUnuP+xmb_4VRyx^w#>vuo*5 zQ&YGh>qP!na`N(I`D{;+HoTD{pO=o5MrTh}WAR~gYHMlU>CN?7XO`T~J3Bc-n-=bu zb3^Ood~~pU(Y;)ny^m{iYk{<QPMel%bx!LyZ#h>^l{;;{%T3$icgzoatIgHzTg{JW zGfn&Y=gqacB=b||T+>k&X09iWGdBtoou7k4O^>L~ydKpvoq$*T&3(nA9a%fX3C!;A z^z`^Sy)qI^@Ax*SPsBy1Z?6U?$mf_7)N#P+cWIZ?|4gY9{J}<Nz>&92$iAH>bjPbE ztmGvVzG00Sn44_|&7WxoT{zc%f4WB^l2YY?=md!j87vR__mjcCDLVMZNFDNBqz-NB zt5F|y)rabCX>@g~4lBE$F~y(i@U=%YHhaIuEohbztLr2_xn4$2FPBlFRgy5GKoUBO zWXymv9dmK9jQurV6OX3IxG(2uQq3Ywu20m5H%-v-l_B~_PJ~V<9xIQg`D#k`0C_C( zvZkhVN}BH{Ix*sFnRxYkndEa^CN-Rp$1lAplWX@%`pILOv86<&?AxVJtXwHmOE&7X z*_(BG?oypGI#)gE6Ln_L6rB}4RA=3c)j56AWX}1XI`_s9$vkvj=Qa7s{GEZapsr08 z7Iny?vIfao)Fg`wujrET@5+-4PHJ{|g)B|3)tqhzby=wDvX*VSymPg#II&Kjy6DlT zchA$@k5|bvFDL8Dni=x!@^H=DG)h)YOOn+&L9!+;OxC9UBF_aH$sgWF^V`3bf`FS^ z(D<ROyV|Vl57fvD4fVRA;(aZwt<o3QRcq0fBK7j|_UYo=rQ1DSeY}0`jrX0;+}`!# zhkx_(>F)R6zl`a1z&=V`yBHHP(5ss<0b+Xm^*$=rE0AwY-#@Q^{4zbmV`kfTO6m+Q z9+S#Vs=eWO*<&y6{hiOAe}BsN*k8I&`K{mociWy>hZ?6MPd)PFyV|E8DF9Ldqy$I} zkRl*eK+1sB0VxDh38WNAEs$ck+G-%>K<a@M1gQv85~L<bQIM)2WpTB2K?>t)D}$5< zsSQ#bS6dyVJV<?z0wEPbN`%x1DH2j8q)bSiI26j&RthN<hgu=ULaK$73#k`}f*}<{ zN`}<T)fNq@8d5f-Zb;!cRE|UGIMj|q@i<hEL-|~7{g4786+}vi)DS5mQbku=Mx>5N zA(2WVr9^6p6cec?Qck3vNI{W`A|*v?iWC*8s;ez4Qdd`7SfsK@X_49@#YL)%lozQl zQedRQNQsdeBSl84jFcIvv#TvMQfXIPYNXakv5{&c<woj_6db8IQgWo`NYRn1BV|YG z?rIB<RNmE=9;rQ2e5CqF`H}h~3xKQuvINK)Ad7&k0<sLqIv@*ytc0sw3S=#i#XwdA zSq@}9kOe_j1X&VfO^`)FRs~rWWL=PjK~~1qE)B9au6A*d)j^gASs!G9kQG9f2w5ZZ g{~Z0(9QoPF8WzWRMQ6mvjEaek&WMY};qiXI0efH@v;Y7A diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zagreb b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zagreb deleted file mode 100644 index 79c25d70ef09aaeec21f0a10a029650967172a80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1957 zcmdVaYfQ~?9LMqhL0H4S7)2!{xg6a~D7WL3s9ZY8CAlQGB%zgCF3rrEeOY4-b6vxT z2jM}?T<4O6HN%WC*O}Qcw>5t6|7Np!;F-<;od5sTPMse8-XG7D`8ko+A6E<W2{%`< zx%s*ETJyNxB<4x&%h7W4u#eX5cgd}7(Ne!YSn9ty@^9}elRIfc)z_Vs@B8eycDlP) zJ73(YerL{#|IsQ5*tJKxl&J)+S|?p|3#8k$+0s45BSG<Q>EVo(VE+*5*~(W!yj&Xc zDO!6y57yod9ktKp7TUM^i#iX!)_&y=G_>@FhAlgz;n~MDBJ;jP7F0`ALXAX^-!3r$ zyCpWVNMajHB+jo~;~veF0pAOC;8~XpdYGZ{m06llGf)R_9Hv8d`s>h~ARSgZK!zuJ zsVm!0Mg+f9x2sVSy{>6e&|^t@_d=4Jo|ojht1{}@0U2F&L{e(cY3i0TNjthv$K>V7 z*s={eZqjBQpF2m>`{$}BB}pgvr0GOwZ=Lu#Tr)Z(O2)l*I{8yCnR4o*PHpg(X?xpB zX7yW{Uh+Y*%IjoCR)fr3{YGaEIW4m@Yc)HtLgpk?X-><NIyXRd?yDU-udzVqUoF-J zk372Y&{WO6vP2ebO3=K@bXhzvQ1ds&$dYmKQjp^#OC!3-GWS<m-qw=Bunt=I{;3qT z`K(3tm!$aJeO+;)QdZX0=&Fhfy1Ht&t|>mKC0k0=(X2^R^KzKCSMz`QvaI%T=6qRg z#A^2I>EG4S(z1Sk^4pYDkL7Z6r+ds791h-G4u|LOr+J0>L;Ey;vA<(kKg=~f{{2Yg zbR#DmIpxSnM@~C(;%&{TM@~L+`uVpMU~4KsN<eBria@GB%0TKs3PCDCN<nHtib1MD z%0cQu3bHj7AtfO-Aw?loA!Q+TA%!88A*CU;A;lrpA>|?UAqCo+3Xu|RO^ryANR>#L zNS#QbNTo=rNUcb*NVQ10NWDnGNX1CWwx(vJXj@Y?QZ`aIQaDmMQaVyQQan;UQa(~Y zvH-{mAWL9t)&N-qTeAwtG9c@KECjL=$WkC{fh-2H8pv`W>wzo?vLeWmAZvmwimh1{ zWLc1PK^6vC8DwdYwLumKSsi3~ko7?p2w5RyiI6oy7RlDE60%ITW}T3QLRJb{DrBvY k#X?pKSuX4Uo-S`QY5gMDG-qm5XiR9hGc_U{!=k)@0!L5Jf&c&j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zaporozhye b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zaporozhye deleted file mode 100644 index 6f148505b239ad9adebfd94606f1e4f311fb354c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2115 zcmeIyZ%kEn9LMqB6)3tEeRabN0YagHig3AzqCsNU3p2p3awSrUYawb8AsPe!L@Vc7 zWA58zIcIK`jEWhv4ebHC{<&t2Zuddf9J#h?(VV%nm9uiJe(&RGZ9V8w&pK!4yv{wq z-~pd^Wc{|*fceL9hke7vvCCdO&w0+?hSHDwPYt9;KOLHgk4@CbXK(p5_IglaXTR)7 z&3hw0EA8t_U-Ed^_xqjir(I5or;i6K?;1N8&p30;$vpA0llAKJ&g{M&PWGM_C#P+l zbN9w7=bqXnPHuU=Gp8WknVac#?wx+a$xF)X$h(%-k^lWq;dx(NiOxUwd3eD{ELt$| zPIzJe$!OuegW;l`XVl;FwiY*CltAZ*lvIq$qP4F`Y1UC$9O#zClf6=w(XVBfHp$W( zUApXSQ0^OV)bhb*tr%UV_wQe!%a3GgWoxdk*tb+3s7lgcONOkRJE5WAq*Nt+qSd+I zNcGhpWL3fkvMP379{ldO)C><v?bv%-cc4#JpLk6lYHyct-wV3t;g@u6+h(m_(x#Ex zYF+1Btqle9wBfp68&j*K@vE8o$hCY~fBF~QaKS4ZkIj&#kt_0O@6XcQACqYF1=+Os zvOc!_U3t7|Ok1)K%jSw<ZB0I<Te4KQ{CG&WPIl_H^F8{+rHDTH<_2y1c)L9HVuiL3 z*2~jdv$bP?scc_UE}gAD*-<=Oc7}eFXJ#1bDoWKZ=UeGcxvt&ubJBD5qV765D7#~$ zy65nRx_9`fKHD>(y$5>LGcDnk#H7T8TW_ApxBcz(PP=(dzx}^Bjmi1d{*#%UxJfi7 zGsk$1neR6##-xau$s5nCse4(aCu8cXQ_r4k-f-t<YwIFrfj<!Nn@}iX>gsDu&>9TY z^I@fZX&*Q|9`}O34v#1D@5|V2zujGi`$yXkf7qkp^he3aQjoPEi$PX{EC*SSt6dPk zo)sZWLe}JJ7lo_}Sr)P`WMRn4kfkAOLl%du4p|<uK4gK&3XvruYeW|5YFCLY6Imy+ zP-LaZQjxVHi$zw8EEicXvS4Jz$dZvYBa3#mt45aXYS)b{99cQCbY$(w;*r%O%SYCa z6ac9JQUas~ND+`KAZ2j1bwCQ?YAb=10;vU345S)JIgolF1wkr;lmw{>QWT^rNLgHM zU68`K+R7lML282(2dNHH9;7}<fshIzB|>V16bY#kQYNHMNTFP9rI1n~wL*%8R0}B= zQZJ-nNX3wnAvHsahExqH8&Wr<aIUs;Na<W{?U3Rj)kDgM)DI~jQbDAI=KmCuMz8JX Z!T`N2s4FQfE%X<a6x0>_-KRy~KLI`|_-OzD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zurich b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Europe/Zurich deleted file mode 100644 index 9c2b600b103dc4d1f49b5f087055e19d3e031129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1918 zcmciCUrd#C9LMqB0S*~U_N9i$0t7oE{yFj=LW4|?z^DVIoRk#AKL~0>K}Mh$G#PV^ zxvv|mxnj{|%sHYiP%rS$(sHK6+KM$S=cY5wnsZYI)>!@CPdBW(_IY-m*K>diE`IM% zaQ%+zbn~CfZGXat>mB>yeP)||T=eWT7q8WuOA`Sze74j?dw<hePyDQ&&~Mdq@3hXo z{<%K+eUCnM?x4n;JSDOH0}}V~Co-o~CBEf7NvLg*x#e5s=|E7tx%o2Bmo160NizSj z*^=b;Ytne8F1V4X3rA<^qOTv(#e<XT>-|-ibY0fu_Dh<w>!hYueWqy@W0Kx5C>eP} zlDXys$%^Zi?DQtdo@$kxm@dt^vRRh?*{I7-`Q_Q4$~3pHQuBtE>2n<`boocI`h2xl zSF|scl?86~SH;Mx#G9J$pOOOiH(KbuDus7`k)qHqrD)`Wym0-nyf|=F0>fvt_&}$W z^na=^)z!(%o%?k4y7zTW?KUlardET2LVd+kqHBE%b?ro|mPHpx*^iIwtK$n~{qg&{ zVKhR@d!nRb@ORnRdQU35Mr2dvsBGSQTemDfAzLekwJQFQY|9(a>KVthCQh~H)`z-% zszG;LXx5!qg8JH#4O)A?US8jyr*(a$^2YXfeX}D=>R0DVL$ycVN}D6Q@*l|CQAQe5 zqP6kvHED{R(5COclIA;Oy8DYh*)uYvEr-tP-hpm?x4Bna5438C%if`35BoMI{11Do zOl*QH%$P_qk4}GISsXO}{8Ao4{>tTY9>M=Vv*Grae7KtJhxe#SzS-+9d(FFhyAA7q z2=747vZFoE$eBjYH5X?aIp4?`ceLjmIqS%IN6tKQ?vb;PoPVSNqywY{qz9x4qzj}C zqz|MKq!UNm3epSG4AKqK4$=?O5YiFS64DdW6w(#a7Sb2e7}A-eZ4K$o(Kd&4hqQ<E zhct+Eh_s0Gh%||GiL{CIi8P9IinNOK>S&uqx^=YeBK;x_BON0xBRwNcBV8kHBYh){ zBb_6yBfUG?=8^6lZTm?7$Oa%gfNTM>2goKMyMSy1vJc2cAUlC<1+o{&W+1!aXtx8| z4`f4-9YMAP*%M?_kX=Ex1=$y5W00Lewg%Z7WOI<+akSfm?2n_}AY_M-EkgDP*(79_ zkZnTt$+$v8>>cKQ*tan=_#fCQyHIwg?AJ&!GpD}?>`wiAtNs})`;4&TwIq!h^A%?# PXC<fliqldtB_rZ*zi7H} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Factory b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Factory deleted file mode 100644 index afeeb88d062851fca5523d23a73edaa1d8f5ff6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmWHE%1kq2zyORu5fBCeCLji}SsH*u{r~^}ffN|%8W;fS5E4xI0o4hjFiqmJ0h(xM Gzy$!q_YOt? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GB b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GB deleted file mode 100644 index 4527515ca3f249a44599be855b3e12800ebe480d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GB-Eire b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GB-Eire deleted file mode 100644 index 4527515ca3f249a44599be855b3e12800ebe480d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3687 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT+0 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT+0 deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT-0 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT-0 deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT0 b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/GMT0 deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Greenwich b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Greenwich deleted file mode 100644 index c05e45fddbba6a96807d30915e25a16c100257e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<UarX@YGC~OJgPFnd17-@c0bD?H47dQeKL=s} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/HST b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/HST deleted file mode 100644 index 03e4db076900c74add3918ad293c77f771787467..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmWHE%1kq2zyORu5fFv}5S!)y|KbD&29MwnASZ;dKA0ISKVYUH8^8rL$IyTa0N$$& AN&o-= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Hongkong b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Hongkong deleted file mode 100644 index dc9058e4b578ca8c9bb954af1bbe26a964eaf408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 zcmd7QOKgl$9ES1JxivGCw22K1;+B(05gVrxw3R5GRu?8|QlVubhN3I1CL<z|5Rpho zNGz=WMMPLQHkNu3;#y<Sx^=3h>e7xGTH`z)iG`KeIFs-DolG*Dd7oHQeCrbR#|gS` zcsQ%w!@V@=UI*h%*{-2R+nrt}H>3NK_v*H^-QRxIJUCt}534Vko>SN4(TXaYS~yoy z`3jq!5|Z@e8TQHW8+mFc?6X_l(tCEg>ASE&Ki@xYUYzLCFB{_K)t>YE^`fZhZ|;!H z)N(VhvRwvpYwh67!!np!V227j<*hBT@A?{K_~eLv-`T21_TIH0WS#!lc*TA?v{-+x zykkbUmFclrmrb^2RDYS5Fu7@)bw1c)@?)#?*Zykrt+!dmZ*Q^_*Q@0F#Y$T^Ge^|X z*|sPV6yL6Z^=}-IKz+srYXUm7)NhLCXLRv_<t7~J)ZuK0iDb^{Nj>dm@{J?9^mK(O z+ubV4SLE}%=ifd`?TENPSS5}X1(a$_sxWs|^7CF-A5&|h>v_dgt@HPZ{l$d2Uq36j z!<5LJ$fU@u$h643$i&FZ$kfQ($mE`Gc4T@_H$Rd9k^zzek^_<ik_D0mk_VCqk_nOu zk_(cIr^^OO$J6D5B!pyyq=e*zB!y&!q=n>#B!*;$q=w{%B!^^&q=)3^=@LXTL{da@ zM3O`=OD?3zad`rXBAFtoBDo^TBH1G8db)g(ggsrxNXkggNYY5w_#dPlakZD5$PYD~ B5Gw!x diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Iceland b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Iceland deleted file mode 100644 index dc49c32470906fb2ff94fc599c73141597443f98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1188 zcmd7QPe_w-9LMqBnvSrDL7-$%-zYVZVEsW5ifFMq)DE#h)Ws1MBn2r&w;GlZ{UJTn zY1KFJ6#auhFm?!nL``d%wwBpnb83Gy%Vt^Y_kMQh(5X&64|`q@&$C_jd55>}*}cO2 zad_+#J{$r2;ocjymy?mB8f#o&&L@sHT&Ud=z1ZvaYN*~^YN=>wUR@S#Zav_=8!R?$ zYs#c8Rdl1hbiKCUDV0u7iFRJ`>%IOi={mJUyW`j8{$7thh&4)LQ(7O^U)7%S4t=!i zjP_P0q%TmTkLTT#WJySqQ)eYLXTPML9FnJlMcUuGO`dhHl7Xg!`utj<yr|o%FHdLW z)s9Miy)Pwi{PT4%7?-z;e&|p|Qq!}FWw`K`4v$RB$Ye}MI|k%k-(h`!`L=v$iRi}@ zO)_@QujAFn<kOKVnFy(Vu39HwR@Uj{+Qss9?oQ1t%$Ll>2A%pjB;R_L>i4u;r{e)J zGhDw<ciump`PuAf#QwMTaOGvQ<6~xK?wWhzyqLW?7&hfTpIPQxZZ_I`zU*>2?@ahF zM$F`XVzTyNOk_}GRAg9WTx4KmWMpVZJ2o;nGP<K39vR=!27pB1XhT3^K!QM`K*B)c zKmtJ`K|(=dL4rY|LBc`eakK#;5jonBkeHC5kf@NbkhqY*kjRkGkl2vmkm!)`kob@Q zkq8}ah)9e`kVuqBm`I#Rph%=hs7S0xut>B>xJbN6z(~Z7He@7bBxodR{BOc8u%-J7 FegQpVSd{<( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Antananarivo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Antananarivo deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Chagos b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Chagos deleted file mode 100644 index 0e5e7192795decc47a8d338520ce12197ae1cd31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmWHE%1kq2zyQoZ5fBCe79a+(c^ZI3XWjQX2G8zpsQ>@}KLaBZ69a?u6QD4ITL4I1 yNCE?gk8cQrwt*=Sn}H;NAcO=ven7M^0FD0-vJ1oo*$1LYv6IUNXuqAV85aO6nk5+k diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Christmas b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Christmas deleted file mode 100644 index 066c1e9fa6e0f6aa4121fe0f2378512523cd5fbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m14FV5NGhp-fyKu+ghAWD9K>Y^A#55m lP#MTXjvpWmKmauGf3eugCm=S+bOzkUbJ+kbvePx^0swfE88QF> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Cocos b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Cocos deleted file mode 100644 index 34a2457bef2a41129dccb62f4320ad66a52f64da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmWHE%1kq2zyM4@5fBCe7@MmB$f^JT|34!m14GmukW_RA1B;Ju2!pnPnXv&#fFXpi qdCWj%ATzmsfHVLB(8&Kap=wJ&Y>@d3_$=VE0b6FLYi4C^zy$!wEgQ`M diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Comoro b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Comoro deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Kerguelen b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Kerguelen deleted file mode 100644 index e7d4d3d0660ed68ccf7a9fbe6cc0b41eea23dde5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(t;D2;`v3p`GcYm&d0^lcz`&wwV8EblU<&4k ckYMBws2M;L|AUMMaS0gDWdpRxPS=zR01C<(82|tP diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mahe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mahe deleted file mode 100644 index db8ac687561c40e85c29806b30966d0d7f7d8076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0aON6NF7`v3p`GcYnTFc|*<iZEC>FtGUehA?Ow jn1HwpAtV_21FVCA0chfXkkKG60pq!BfEL;5ns5OC3tb#( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Maldives b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Maldives deleted file mode 100644 index 3f1a76e55bc1a7445d9dc2df31be87d6b35b4f74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmWHE%1kq2zyQoZ5fBCe7@Ma7$a$-Oct-vI|Nj}8m>3vbUV!9*BntzBTL1%xk8cQr zFA!@Rn1UpLAcU~-K)qlqcz%F&Ffag3{~xw(z66K{SqBoX2eKK6w3EvQXuqAVDHi~T C^d|iP diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mauritius b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mauritius deleted file mode 100644 index fd8d911129bc22fe5a1d1ff93e30a070d3452d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmWHE%1kq2zyQoZ5fBCeb|40^c^ZI3XFcl-3D&m`61R&CJej9G@I2Rlq5l8>{|row zK*+?vVEO{6ioq>_k%fW5!hwOq$2WvQ+rSivO+XSr5JG~LKOkBdfHwRGSq<WXtOwIT aCxB>>Gr%;^DIl6e=Wy8ooo1(N!UX``@hg=8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mayotte b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Mayotte deleted file mode 100644 index 39631f21486c61a19639d73d7571ef0840176b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmWHE%1kq2zyPd35fBCe7+a(P$l3Vr)}JkhW?eWw(f!6-{fAc=7@3$E85opWKq|Ei z7+4q>lr<PQ7#P&nFz`V{e0)O~TpdFgv<-}m4M3!cDM&FCgplBXA5cC2fdJ$X5Djt+ Thz2<bL{r64TtN5g8gl^vna4UY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Reunion b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Indian/Reunion deleted file mode 100644 index d5f9aa49d5e0f99abbb104072db7c781137365c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(#50x+_5c6>XJBMxU@!p+Ffdp+FtGUehA?Ow hK=>gf82JNi0s{lk#Qz|pL0kgHbJ+kbvePx;0suyn8S?-D diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Iran b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Iran deleted file mode 100644 index 3157f806b7d7fe650ec6726f31398824caf82cec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1718 zcmdVaOKeP00EhA02NkKd+7c0ohIsaMJJZKe+Kvj2=~GQx+IqB@K4{Sw>eVg~LKnnB z<DFE}s0ATTBNYphBS=b0NJ+5Kg@y!)AQ|TyHezLA;ZE-T&D^AmCjakv%4)q1>yInM zyy52Znw#%a+RdYD^B(<pC{l;rydcAy<6RM*E<0i*-8H_rT1PH+tEjYhIy!!WnjO=s zXAhlLbMBwgb8k&kvAqK_?re#O?+nrj?T1w2mNaQs_KT##I_=2*pq!5PI(bHmN{OB> zQ%CoR)Xyb4?d=OCo*tI-?nQ|7zHmAJ(h0GkD_dtA(JFIStIVqZE?gBodSOAL%FasA zi;}LXrEl&@`J_NByPGfFHwHz{#SWc&GDPJaye{+G=8J-wVO?0>pqA&<>!OU0YDL_6 z>6to96ptI!C03a#c|S&$zU~w&A03se?nH^QtG9J|_Yzfc{F7XLpiQi4nWfiOUsmf% zdv>p{m3yxjxn_HcXDv8$(a3jo+3^@5n<@{qljV87LC9w|u(p%6_%!oKtQ-)+g#a zyt<+3o!U~>CASvGh;56f%Eq*A(KNG2H&1$|T0#!Uman0rb+}J&AIefY?q}+q{dZJb zZ=>9G=8M>Uv|I0Kk5zjcp38leYsEgF&u0Y$1_uQPj{2vcK+Cd)834~<%SsZ~7|U8x z7!YPz!evETR+bEy`15^kp2zZ-JJxnOZSzbqcQUv6_50=di}ii^^{3_^_OU`_iM(cw z$Rd$d`Zdc$)`=_>St+tqWUYS9Vv*G%%SG0UEEriavSeh<$fA)|Bg;nCjVv5lIkI%W zX6?x0k<}y1N7j!NfK-5#fYg8#fmDH%fz*K%f>eT(g4BW(gH(f*gVci*gj9r-gw%u- zg;a%<h17)<=GRn)l!nxX6o*uYl!w%Z6o^!al!(-b6p2)cl!?@d6zbPhij<1fiWG}f zi<FDhixiAhjFgPjj1-Mjjg*bljTDYl?$?x#)Q%L7RF9O8)Q_A1$SHuF1juQCoCtnR l8~^XAFm{3e<j9P7raNu(-JBblac*HJ+Hr12YI34I_6L+)nlb<Y diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Israel b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Israel deleted file mode 100644 index df5119935c5b01676e63d1fb1efd7273b8b4b452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2265 zcmdtie@s<n9LMp8WDL=qEV0%QuuMboa)Ap{Ng4_Qf!yN86a$VCn5p!b#55tF?1vc^ z&SkCnbIaK1heO4-<|1p;*+y_umZ_LeKft>LcU*$tru4i|t=jsdKim4U!|Uu0{$YIH zfs*A_DdHa&W<KHJ8qLFdlrrCTd$V3UvG|~F@A<<2^+z{F$MLInXJeJNo7dUjylm-{ zuYV;^Rko<E71};sGQm21A@=BZiHGHxm~4G^e9$?2>5x9x>J#0c#_99=4e@<zhq|!u zbEO+<#Sg{x;>Wf;>!&oI{qxRiqG#enySL_)z8HB@1*eUOV6e~*uWQiZH(Kn`gTGi2 zO(}MC+mN2L`HCIWK4QgM@A~659<V0o9=7i)+pX`8EA>w)@mlwYIsU0*`t{Urd+lkL zI`zFrNBQHs`mE{AvG$B3l{#T_h&^-10_`bp_9w27*WR3Cc2dsUI(c@rKPBmq<-7By zof^5_O1;wLpA{OeW_5<h^ucm<U-z)S-|m+W>|bKdes8bL*n7}=@THA%PTd|ocTJjn z$iL6Z%x@I)ath`Agw-M|X3)tVTO_jkDx3v<sUqj%fXr>bUF5axbRPb2SmbXR?G$W} zQVTcjkcBnZl)o&~c_eT~J-RYi7Ws~-K>iH**o0lGIN?@Ve076b6cz6*>RPH64~%h2 zTIZ=HUH#7EyDU-K+Ub<lXNvN-4mein6tT3vLq3raCMrr><de}sQJJw#R)vMCWs_>; zvYuY`)Qw`f{MZTg^!aqT;{6ZQ%HsiN)hk<6byJ%2Ol7r_uioLTUf3X>t-S86@vIUx zS>4Wa;|fKsXIR!=P7-U!os(-jZWHS+e<q**ctEW0*dy!SiB$FbUz9J@{;D>-Ss_D4 z-SX#G=wGk@)teBL-GA@6ArUIXbZ<zw5YcgBtPtsQL&pF9Nq#{<<e4XTzIlq!y!`zF z|Gu5A=I7n*4E^zoBj$=f`SLolC1g*?rjT7B+d}q*Yz)~MvNdFH$mWpUxti@E`$IN} z?9kP05!oZMNo1GEHj#ZI8%1`CY!%rnvRP!e$aazaA{%x!JLb>9mR-%Bkxe7JMz)RY z8`(Irb7bqt-jU5CyGOQ<>>p`>tLXsJ0;C5>6Ob+-Z9w{fGy>@a(h8&(NHdUbAnic< zfi%R`bOdRMtLX{S6r?LiTadmWjX^qtv<B%7(j25aNP9T?gEWYvLr9BUO^=W!adZi3 z6GxwrMsaisX%*5dq*+L}kai*cLK=p23~3qCGgs3zq-(CGZAjmc#vz?UTF22lq<I|O zL)ypDKcs;i9Yk8l(L<z(NEcmA8<9RDjYK+$v=Zqh(oCeANIQ{!A`Ru}DAH1no+3@< z=&Gw}D@R{lO=CGai?o)bw@7o5?jr3)`YZmA0gf<Po|$a=oKTSB@p*iS$!Q4%NnTH? H#~bk*I^)#B diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Jamaica b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Jamaica deleted file mode 100644 index 006689bc895854db5deb33a29ff5d99c6c205fc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507 zcmb`DJx{_=6hL2r1ZXSNFAztZ%4p)iu2F+bbkV7cm~LI2B*Bj`IO*bQSQtzk7-VDf zH@Lk&VDd(`$34|e6BloD-)WjQ={eC^(%)4-rXWvPrY6gMFp%S+I<>|7Mp_QWarx!Z zxaKzY^iAr2JnNPDMOv9%>*{1^f~US-9i5xC%Oky>9GZ>Omfk!LO|9+gdgz(0W*9e0 zpJqGf#ZE5&%Vq7Gqf~Yltew58lC|%1$3N*tsv~>QliiQxpS~vg+oUdUW+sd8Z>&sm zw{rzC<1uy+!;E4HF@@Mdj3L$#bBH~p0Hgw>1f&L}2&4+645SXE5Tp{Ml=`1kuC&{8 Em)X2_LjV8( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Japan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Japan deleted file mode 100644 index 8ad44ba981a2d97d40d3de2c8bf29606be50aa4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmWHE%1kq2zyK^j5fBCeP9O%cc^ZJkbvvel>u<du-1zaU;O1G~2e;W7KHOf*|KQHE zM<4F?e0;#n$OM5549(0y^$a}=7=fDWCNOY7NFU!21}_&N4h{iHGlFmkVMlNQ)qx%H z1EdQG{sTekp(O<%8ssQ24RjcY200EygB%E=L5>8|K!<{8kYhnK$iWO`xtI&+d|gW} E0KK7P_y7O^ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Kwajalein b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Kwajalein deleted file mode 100644 index 1a27122ee09410095d433adabe6bf2eb772710d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmWHE%1kq2zyK^j5fBCe7+atL$obzU9iUUP=Rp1c|Nj}8n3)+E<~#rjGtAn+!1Dip zxB~+R1H*~~3_L!*Aq?7vh77ufMnD>2LkMB}Sb@fY>=gI`G8hPeR{gItlTZNBAp1dL XAUA;MdY}*kIS%2n0XoYL=sYd}4N5Vv diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Libya b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Libya deleted file mode 100644 index b32e2202f572b8ca6ef3c5cf1d9e787a24f2c328..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmcK1y)Oe{9Ki9Xt$}*US=39>YHJ`OImJk57onkU5{bt^(oWAP25I~WOa>97K}6ET zAO?%6iNq#Co+cUzi5v^D@O)2ACWBx5Jm0%Z+FU-5vyfZ0#jmL`PgqRUEUudiX4`)~ zkKdjiTX(TTSzf!c$`32LGB~Cx2POTKxo}&yCS<7gO@%)Cb?alF+jg@g+e=4o$JxCM z7uVg+y^!wOu2<cg&oZK>RCIYm_hc_sEEUl4q~A>>MrH5#iEC$G<WOovC5Q8Rc6Ue2 zIoE}3u2>L$pZ5t=`+di5p70f-VbQ#&2uFP8rJF2K$F*pjo^ixvdY;V@X|sOD`GdfF z^+%s(kf3N#L?|j=jSNM{s}Z6o@i$0Ow7eQIiW)_ZqDK*=C{iRTniNrrDn*u}OA)3h cQ=}={6mg0=MV_M1a02vyP9bQHWWWx70c9krqyPW_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MET b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MET deleted file mode 100644 index 71963d533e444362250dec5465ec58517ab6c09d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2102 zcmdVaUrd#C9LMoP#7buLMT0{EViKZt<UgbasT~i@<WS1VNF_87wTR+G3`%1ab55E2 z)L70TX~mc|J9UAzhSvH!T1Zx74a>FV%Kpu{nX^A*^?N^8ZC!O&zq4nrXXm+jE}qXj zvTj>*k?$Ypa`z7xXP3LUpVmL!zp;Pf)cFIGF%1kJ)pKu32YdEubXuFn&aSc(FZnh8 zLeM^Wro>J@nPZ<uQ|+^wWx8sxQAvAd+0{KES$mn1n{qWHlBSvA6?RSW?@G!3NvSix zl0W{0{1@I*+L>2%?dOLy>%FIye(bnq9En-xfrB=?SC+N?37gXrwd*!C+T7}hWtWHS z`aqfGWaQes>1mdm5LE8P63zcMM++uWb;Ac&=*Hn+6&U<M3;Rwfujgasw;xkM(<>^h zpR}UruoYK~Sjn1atu%AM%8ELzY^vK9rT1yk=}oryj}9$49<-aktW)_=gDOUr=$4(! zwX{D&%bK&byl1i9TA83=Q@X9lIjc}`$|@5+QdRcXR(0+>TN(e3tsEb<+s?dbt70!( z_1N1A@9njkBhTyh)>gZt_bIKuYq!?4Y*y_}Es9iE=}v!*)&>@6?WF?MrBqto7c+GC z#rd}G^<T7pBGEP+O1ApppY5LR3)av#ZW|jWY}1Y(b??$Qtg(JfO<DVGb45(eS02@t zOliya`?Pf`s%@iPy6<#E_a9!bmJi$Pfn6199jdhlw`S>~ou$^cy4<48etWoZwzY?T zvqzGB){&p0j`QDGXVN8go_ycB&Q0pk*M{t|@eys`|E_k#2K0E>pt|>V%NKW9{D0x+ z^JUD5b02Jy`4awq9}d+<eBn^UJ&NPGFY+%w{y*Je0G@6H$Pkb*AcH_gfeZr~2Qm<3 zB*;*Zu^@v%M#K9t9ArGmfRGU(Lqf)c3<?<)GAv|V$iO_^$dI8SV?zdqj1CzdGCpL0 z$Ow@kB4b1biHs5%CNfTBpvXu)-B6LSB7;RniwqYTFEU_c#K@45F(ZRUMvV*`88<R; zWaOT1=*ZYT-QbbYBg03=j|2dT01^Tu21pQ)C?H`#;(!DKi3Ab~Bo>}77)UfcT{w_< zAOS%lf`kN#2@(_}Do9w6xFCT+B7=kmiH)ZV4iX(t7ak-&NPv(CAt6FygaiqR5)vjP zPDr4TNFkv@Vub_?iI%4e7ZNWdU`WJ}kRdTcf`&v52^$hOBydRNkkBEqLxP7y&(nnu viJzwnAQC|&gh&jLAR<vj!ifLNI3~JME-a*(fpBqNX<k7fTv&kl#fg6bFZT@= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MST b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MST deleted file mode 100644 index a1bee7c6f0b76b6b03373eba880f52e8e83471ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmWHE%1kq2zyORu5fFv}5S!)y|G5(w7<_|6fSeG*`e0_T{D7H)YycO~9CI!J^w$mJ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MST7MDT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/MST7MDT deleted file mode 100644 index 726a7e57176567044d585800c37cbc917b441d22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2294 zcmdtidrZ}39LMo5NFgUKPZtaU&9o#45Kt0MW>nA#=>*{s&<LYIcC-R7owN|2f@1v9 zd{)LRlc1ZmW?t89Y^ZCvwz9e7*0dIOzgRZ9Y_YhUp7--_fAwGM%bxT4jsHLIz^dSy z0{O?q*#Gdj=k4QL^}XRWFAv7*{-@K;z>7cX4}0QGc-|jv;l>pCYwQs<{zIKioT*il zA9!WzNU@5%nJ%(3O+|H2N%W(WYTEi#9n(0|TvRooFD@B3v3Vmp_L)Kxr;h2ky$6(M z^c8){7Xv2#>`_TL)@c&o8<3>8`jvX2Q!ed!QeC#CSuPJYsVi3cB)R-{HKRCFuFSkn zrOYkUGvhoeH9AA5{x;vFeHEwE!_&>I<3H)y2hN+T22ScZp;_wcC-&*ND<W#%+K=R# z!Y|de%ifXs$?vO-EF&3H=S-$&gJg~zH(BQca{bV&Ci`@o&gpx~<Q}Tl3p!d%-gAp| zeoL1s*f>Kk^sP~gs>gI;#vSU0f=~70*eq3)_NNqmAFqnX&x-fNFY3n624%^9kGW}Z zw=CWMv$=WKHYsWS*xb^!OW#_#-`v);RhKS!)|8d5)@8pBD_>5#_)hOp<p~W^eyB$+ zyHFw(FTHN={G?v{+q=zO?=IDq^+8kBJ4fHWq{38(qV@9h91~dajSfsCnVP~Ay5`$# zRX6)<sT)pIE2oBK)oY{bo{>FL-xXH(4)sVw(_yu`Z=KxdKV=%byY>A!2h9U5LEV(F z!!-LUbn}IfY01dZEhp<tFg8gC_j=9R?|#+mdTZ5#rxN9%P_cS=->9_Kq^Y*;VOd`| zsW!A8mW|2h)TYW_*)%n7LPZC4XykLVIc105Jap7-84Kyh`UcG7XX<o&N2l3(#H%|R zn$5PI=~|*BDtemz`7ixNB5(IcNhGq{NR0cQ?tbI_r2+9Tx3AW|ssQ7N;syT2h$8kF z5;7)aP{^o|VIkvk+JPY>LxzTo4H+D|(ec6XI6FRIfE*)4hKP(286+}FWSCAnPGq1? zJ5pq*$XJoVa*P%kF2{J00dtHP88XM1kwJ5e8W}dnxRHS)BS(hrv|~pGkBlA}J~DnJ z07wLo5Fjx?g1`|4Bn%vJKmy^kkw8M>w6Q>f!4VB497sHnfFKb;LW0Bu2?`PwBrHf= zkia03K|<rSu|a~v5gjBv9PvQ{#1SDRL>w_ff`mi~2@?`0Bv4KpDI`=*8!IGOP8%&G zTpaO20)|8k2^kVIBxp#~kgy?fLjvctkwZe~w6Q~i=d{s7!p9LmB!C<dL_)|BLnMeC zQAEOs#1RQ35=kVKP8&-km`)o_B%DqgPb8p7M3Ink#1siCM^urpa>Nx0EJtLK&^m2w zk>EOQbdm5nZG4dcBN0YIjKmlTG7@F{--Ov?YrWW3JKMi7w;(q!+n=AGo1dHK`5U$l BL=yl2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaNorte b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaNorte deleted file mode 100644 index 29c83e71ffa6b071c52b2360295bf55009c09b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 zcmdtiZ%oxy9LMnsp(Ki)RFwE*C#4t&SN@A){}j7|+(5aKn2{NO24#>CO3@7+TWihn zMJMGdIyrm5S`o9z{xNdPtu<C*E6m22DKLy8){4q;JMUi)d(^Ym@9vz}-QDi)?t{<U zx2w7`&GnCGuKk3=(_s(qBU|kCTJNtdT}_2`-P6rey_My4??x-vnXu`p&nAwv46gd6 zZt%qWb>Bpnx`x`{p1S1UD&OaAm&;|zawQ={Mm_mzZ1FZV9-pMfr_<F$=t4Cy7@@9? zPN^Syep8d@2Gx)47u5WbZnNORfC}$#Hw)kER*Smc)apdLy5U*Ti<|1zlIs0>Y3U9X zk>}IP)~!{`6S8#V%3`^3UZjo+&XlO>3=@56xx@@EGqE54E-QLw%uTOe6y3O5-+bsJ zSy>XUSJiy0;xd2Ix8#4QZjJa-$0v5G_}NL55Z0m+hCern6MNO_z8;fw-Y?0W$Bg^* z9$Djm+@u`aD5+IPby|I#q<b24M)6$9j4#nyY2&gsG+SrK%u(56QF`5<V`}}mYdYuR zr)tAnk><7!URSrb{bBBS@rb&!_B(S|YnN;+>@%CnpOf4*#%#{rCwDJ8Y&>y=;+c6x z=Y^z7-q0bPe|d>)ed)9*__{{C&Bx6>y#-RZ`+zCxaLcw0rDl7hlH!;g<J&PUzH70j zB=ajNxw2mGT=BEo`ALi}ojtF1otoA64Zovyw~pxh`<_>2<!AK+olR<wci24m%yHS9 z+;1MLIw0lYCryQ?R4OK0O;vo3R1H*`>d;uJeq)QN84bw89TobKFJjcbMvs29dsfw! zB<Q-f5%pNse7(Q+tg4Tg)D4BFR6}5%Y0U1I#^I~xVB|?T*f(IBW?JQm&TjMMP^C2c z+s#vFwury1-aP$6qPT*BgMzOM4w+-G|IRBAI9lLx1p+UND<lwTYjIuA`=ABRt(<#l zf!F8q7W-U9oLqbEwWr8ucVeHQzi;2aSlEp76@E1kU}?zOki{XZLzaiE4_P3xLPxtq zWR1uokyRqgMAnHc6j>><RAjA=cCpB69qn?F^&$&KR*Wo}zr&i5MI)<5mW`|%SvazC zWa-G-k;NmcN0yJQA1MG*0i*<uwgyNMkSZW$K<a=L0;vR23ZxcDF_3B?<v{9z6vWY1 z1SyH5tqD>Tq$)^Rkh&m+K`Mik2B{5F9Hcr(d64=b1wtx>l*rN62q_X$C8SJ9osdEy zl|o8|)CwsUQZ1xhNWGAPAr(VP=4fk%6wT3A4JjK^H>7Y#<&e@LwL^-BR1Ya1Qa_}C zj<$kG2_0<>ks><UDk5b>>WCB)sU%WLq?SlAk!m94MCyqY6saguQb$`;q^ORzsz_NK zZC#PVB9%o-i_{h=E>c~jyhweK0wWbhO6+KBj1<|?Rv9U?qpdSiXr$6esgYVE#YU=) d|NnA_*{o;VtS5QX-D&QWByVb}JJp>M_7|antVjR= diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaSur b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/BajaSur deleted file mode 100644 index afa94c2ac5c1679d39143eae062b812070876492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1564 zcmdUuYiLhl9LIlSF0GZvatV=8qP3gNm>Ih;V}G;lj~TZAhX0IRZM0$AQ=|xcrbM}x z2uqXfl1q6dmk?UHq$JsrvZiH7$MZRq7hZYch41M(pVO&xUVT2^++u%}{IS9I4Tt5~ z!}ADjZ)e-OD_VNXUbp#I_}Y`7_&S1T`Z~Vv>AC;D()X<CYL7^Tjx5@(qN+ye8L561 zoz<^nrY=%5qh9FPA=A~Yai3*YSFoD>?YYGDg_t>Qk0t(ckePe^gd{Y6F!PQz$o%q$ zCUN&Mos@CeB(Ja2DdC6Af|Pu{a9FiTosy_i`<ql+;AEZltV%6@J4i3-Sgz6^OcKx0 zShe(0pk&mHQOowflgxq`lT~s@vJ*!eZ~8@9KJklL5xQSi%1e_o^1RM@ebcP!+oyAH zoieLCOZ1uxH`LnJr8;l#NtJ&%Li>ufDya8JVOpVDmlrPUr=_S33B$!7;xk3#KS@z< zlG*sZQ;MHVF`Hhs%jPSCP08)2y0od=l$~qU<(2nL#hxR&GPg@@@z?6AxVx%);cC5g zY_r-HUL)JS9#A#Ia;4@)xvKpbFWawWsvVCe$j&pRrmjV#epiNRIQT{+V1RoK3<&%O zm*X6d7jc{uMgkqD`LqmmoJK9dJO`+s@6$bA@nm}?*`8(gcv8I9h2Qi3g+=|pK6C7_ z31Sq)Du`JSyIfksAeO<OrtzZ+%^l+))<MjJ*atBXVj;vth>b3-kq|2xW<u;_7z(kJ zVJgH{hOrQ9A?8Btg%}L67-BNSW|!7zh}ABw*$}%ShC?i8m=3X>VLZfohWQZt83jNp zV3Yu<fl&mc3YWGFNF9(uAeBH$fz$#i22u^A97sKkf*=(!N`lnHC<;=QOIsGCE=FOH z${3|VYJ(I9sSZ*eq&`T2kP0CsLTZE*38~VhEfZ3wOIs+UQbwteS{cPcs%4Z5|Brfu ZY}&Cl=}=E}SY%j4s3$TaEG8@>=m(pAkqZC- diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/General b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Mexico/General deleted file mode 100644 index f11e3d2d66a2d7c21f498df96c3fd1db3a0d8817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1618 zcmdUuOGs2v0EUldWF{DuEqXvi5P_NR%*r&a!F2M`q-JGf*4U)!NlUD>4k$rTmW${i zLKM9y)E4>377-*Eg<(Wx7z0I!EjkL4^tzqzQma-$oBqSO-(}!3o9}ZKcs)_#k4-ke za9Odryw6hRakXPuwvCnhIy|}V&XfUnS8$xW>-%y2=xw{Z_gqX?-{w(Y-^fr_zkjc< zzcV*$@It8XO?CaV$dYOiRTU_s9r+?AXGF#>P7rZXPvr6`^F;jIVIBYBhgk9Tu}&Bd zP%Aqg>Q!yu)asr_op}1KTGK3bQpE$6+;B>+&AhBqc2&sKWesXwYPMV-;!%!8(b6$d zFVX@+W!kIVV#B-7GQG<oGM>)V&htye#@pjMvu2veI{8v(7cEvfW!-vH@>J!@Xx5t- zd{nt%bvjQxRr#S8WxlUXZ5gkX1rM6k))$3x+s#(7{ce&hJaI<sIJ;1~y_KTqXrkVk z<`Tt)3-qofabkC(zxK??Q6=-=>yoh;wdZ@U_72Qedxvi5(mNBXtoM=J*EFcguU(fF z`|m4x{Dj<J@LE)QN@Z0-k2tX2DG$zR5!K7Qy86p8Q4^A`YX*zNp-)To;d?3KNPmc~ zy|P2qwT|ke^~vg3<8v+i{5g}%39z5M{o7+%SAvDGtd=t(z_M;#5`mW0-R>7`Kc{Cn zUBbD^B~rMl=H|JK9>3@M3#}%8ePo%T7eq0LW)RgNy4f_!L9~OY2hq=_Q4pe`O`{@2 zM~IUAEm|_vgy_jo6rw3ZRfw((Wo;U58R|mxg(wWs7@{&nXNb}ets!bd^oA%7(Hx>W zM0betHjVZS^=%sc83{l#V59)afsq6x3q~4{JRpfcGJ&K5$pw-OBpXONHcdW|gdiC~ zQi9~fND7h_BP~c?jKm<BF;au%#z+p59V9)QCO=4mkPIOyLUM#83CR+YCL~WtqL54( zsX}sPBn!!wk*-aXFC$@_CSyj*kenGwL$ZdX4apn+2Z;xn^5abTVa}NF$nc0TXJkZp IY<NV_PXY<#QUCw| diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/NZ b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/NZ deleted file mode 100644 index a5f5b6d5e60f15ebdbb747228006e8fe06dd4a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2460 zcmd_rdrXye9LMqJpwhVKWemws!@O`gTvUW2LIninl6fQ~qi>S%pdpkbbb(AGa|~<R zvNfZU955{rNzhUdL#TBjTa#+pH=TL5LUT2xEbMtd>%Z3evp;&y&hz^1>^y&*KR)l{ z$}cI3HU4(pV12@yYnS!rJbt5fYi)0HA6U92udV95d2r!*Y0v93-wExLL-8$U$EX(R z45~9bf9%!6!=>htkDBz|!5s6wb8bEQ_7(TB6CY~Vwn2Ay<32sU?uff*^EN$^z03W6 zVY&7?YuqO@>!r_M-2D+{(towuJoVKp$zDN!sMo$d>V0XC_%!^kzJtfrujY*UcQ$H3 zLAT!ca;=U{+O6ZNigkR*GddwJLnn+BX<&S~242`KK~vKusBg6dJHjNmX_4IYov%#V zGD~jmz9=EZJ~H|B0hy9EBvUuG$t}@d8d~y+P7C-!Z*@9ky2k>Y;df4EoSmjKhk9jJ zkEe!x+$7<9LnY#^trA%`Mx6C)C2GwDi7w5On8hDRY;K9p4%;hp;+E)K?|O*~jMTWF zTXf!)0FD2=P7}VkthXI3)!V!LC2>cN-qG-rB(0CpJ8Mo!^2%(PU(hZK5~F2d(o2#u zX`G~nR7vW!UnFfLUlv`h)$}uol5x6N7at3eB^?=>*<eW4&T!4HJ}WtuetK8Yh%S{d zxjRjDS+cLVruXRb$rmNp^G(gYJ|Ope|E%VH+a@bcnwsDBqTIW`R#rB*>V3}_OTly7 z_5QL95wk)c$O)HK>A6}M<tGo$jMvrvm!xRyaw!`2(c;VV#5_HuC7(@{H65So+SY6G z(9Q!|`ocG|u5yQ#m3K+Gw93OPzSc*Qx6As3qgpYgLLQy?nr<+1Wy7yeYo*3Z)t80( zSa+~IemGU1Xo=G&cdwG_twCC|DMg+#e^U>K$EbgLd5#|QpS}#EanPEBvA^Fj+A!Ye zG`tL>xtsH$0f#?l!#Z=%%yJpo`OCQ3rxX{@84ibyb#wju1YfnjW>0YVuZON%*Zhvm zW@M7cERks<^F$_!%oLd_GFN1>w$^Ns=_2z*CXCD&nKCkGWYWm2k!d6IMkbET9GN;Y zcVzO&>}{>-BlG9yk^oyP14s&x93V+RvVf!k$pexIBojy~kX#_iu(h&*q{G(A2a*t5 zD<eosY^|IiNkOuLqy@<fk{Bd2NNSMWAjv_pgQN$^50W5TD?><%kQ^aNLb8OU3CR<Z zC?r!zs*qeE$wIP)qzlOxk}z8<V@S%7oFPd=vWBD$$s3Y5By&jWklZ23L$ZgY56K^r zKwB$=ND7f0B1uHDh@=t8Ba%oYlSnF&Tq4OtvWcV<$tRLfB%?@5ZLORlNky`Xq!r04 zl2|0ONNSPXBFROvi=-FHFOpy+!$^ve9NSt+MzV~g8Obw}Xe84}s*zkH$wsn`q#MaM zl5iyBNXn6%BT2WlvW}!3$vcvGB=bn>k=!H6N3xHk-}s-j-<yAi$e7sd{1jJ2R)TY` QGddz`jx)v?9W~qgPuMCAVE_OC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/NZ-CHAT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/NZ-CHAT deleted file mode 100644 index 957c80b79a30f38d7db99fc06b16c3255ccc50e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2087 zcmdVaS!`5g7>Dt1Dv)%#0g|Q^DEroFr=96Si*+o}mKHixrHoKZd1aYt!2&|1b)l>U z2_X_N;8is&K~jtbOsa{{LZZeC_7GemzCr>Qq%6@W3U>US<E0l~5@#~s@61W(qRII` z)in)azxmgzzrDkU*Jk_SI(ef#E`Pu8i`bOEH1^nGb>BNIaqW*a{@XK}(0W}HKRc*N zbv-)p{WcvGIG}@DBKmaNRvj|GLWlH)HMzi}$+x#i%II=Q`Ffe8y3!@}$V?gbbG!`S zK3PWe+?BLQoQ(YNqKqo*mC+kd$e8R{9oukT$0gm-@m`lqh?%Yv6K=}H8{>3R@0T+9 z>;O$acSJlLV<qF`9g?}Tzj$}8kgVmmCA%>wzFFUhKh&T(=^c`rKU?$MyCgq3Q}cg0 zs#AVT(t;~Hweac#oqDoSpXpANqP<o6Z2Nr)to7-0t(T>^c8*M|`&6bEWy_4fJ}DVK zSW44cr1a6RQr1@^Gk<T>^6N!XaV?^=PN&K2t_rPeHxk_M(K+jHNL6!!J|FJW7bIO? zEK{9Z952-q&g#68cO^97kcOfc<)vHObpB5#WWiVUTGRcWy!=U<)PB^d3*U`M-8*}9 z(W(lO`X+s)$|H-*L%Jj@L6%M`&}E7DBs^%IgdfIf<iQlFzt*b_mxjvnt_!-N^O3x| z|F|~p{!vyo@6}bSyJfX>%4-XL&^5(-WNqOoZ5q`iuMhn|*O`#4`(u+fYk{<Uw?yCQ zNtHK0FV(k>=Ih%B7R&k_DcZWZL^jm_sT-ovsH<PhQ&03AV@$_m`!JegC8nP-XKGz; zV@_6@f&ZM9!D{32`F(lz%*o~S+tV1Ai{BVi{ol|07W-$;Gyl-}g)#Quj!x?;*@|p{ z+w8#6ZUNZ?vI%4t$TpCDAR9q;f@}rZ3$htxH;#5Y$bKB{hL9aO+ASe_a<rR5c7<#U z*%z`gWM|0Mki8+BLw1L357{5GL1c%Hc8ka!kxe4IM7D|S6WJ)TQ)H{iUXjfryG6E( z>=)TEvSUZPWn|CDrjcDE+eY?{Y#iA+vUOzd$mWsVBil#zk2C=3fTL{z(gUOkNEeVc zAbmg@fph|C1=0(o8Avyfb|C#g8iI5LX$jI3N81#nD@a?Az95Z3I)k(Z=?&5xq&rA^ zkp3VILOO)B2<Z{hBuCpNq)kYlkVYY$LRy9N3TYP7Eu>vYzmSF@9Yb1%^bBbl(ltlh zHl%Mz<B-lFtwVZ;G!N+>(mterj<x~j{~keik(0$hrq4e$H_v{tr3_>Q3%z;X>@03& O1arMUd!1vi-G2iks25xS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Navajo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Navajo deleted file mode 100644 index 7fc669171f88e8e1fb0c1483bb83e746e5f1c779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453 zcmdtjeN5F=9LMnkqQH%ZQ;8v<nU)CgtR#>b8FWLuL3o9$5k`URY6U)Y(?UE3#rVT< zR*YFDf|Ayni4SWwHq<p-TiG0LO>3b&mt~`eO%k}b^FAy8>5u+w>&t$;e%!&IpEvGR z-Zfd`A2->2!ozi$hxe(9ANJ?zJ^i7o`=tck^V$z;Z>?YNYndW?3oq&3_WkO^wg^2m z=l6!8>R53#-KR(Ab%;NrJ^EUhPh1;)Mvi^&5##48<irPg!hbwh2Hs2%VrRSzYW0iY zXD8&O^>Hesdb*xmI<BVVkLl2iVHLU~TZhY&D*WJK=@{9oZn)H=BQBf}ktdsV)O$T5 z`mJs$Uu_mQw!I*4+EOcS_SVR$E1e>y=m9w`H%Z)*G*8CPE>zRQ9WpLBQN{f_SI2)D zt`dgA^o&zKs+or`>sx!ys9C-l^0w`V)a(@jIcM!h;`Zz><Q+@j5p!eSmx;+*B>FGv zB*zAkG<-@YUv`T-2lnZda}6rB>qVV*v`nQp)#;2^7O2d+7MZninwsxiBNvp7s_euE z<y~2ys)eD+GAI73$oVcp=8jzud8dDtcYoF|7WFywJ^j1I;`X2Py}P!F{Q8geeJ#7x zl9E1sf6Z1^kp8kRELg1ye;bs})JEYvcR&_JR*9mcZF1?Ad{O-R8+zF%mCDuFsvmlH zu_~$b>e9|x>fuGjy37}>mM5fY_lmETdpuf~XP;K(-=s*-%&&xJFiNiU4~kX2Bl3~q z1ER8JNIp8yCaP+V$<<x!#AB|ry1KPhJ)U|*KT+pZHIW^<)>*7-ulRIbVydb;<I&#G zXyrYar`LY_i(1!NA)h=OC7$x-%BK&Fi2Cw)+0Z^D)@M)14fV&w#+Zw8Q%R@T<R8<% zoFmFN{JGv7+o3iOoX}fFed@Wc9{v1zk7{gc)?1I~sivx0y=`ZL3J&_~Yf{Md*S|md z?+pZYcL)&(yxkoXV&1g~v+oi1yIkgS3s-@8mYb)-Jf&{4A|Zn8H}}7<Z;$y!yS`EW z!d$>yRY*i1vPNW)$SRR#BI`sJimcRXmWr$uS*+Ep7FjN`USz?@imhhJ$eNKwBdbQc zY+hJ5XBG~uoMY+8+L6U0t4EfPtlw%1fK<S0N`TY=DFRXjjxr#1;3x!A364@AwcscQ zQVouBAobuV2vQNGBuGuHrYJ~Nkg_0kK?;LZ1}P0v8>Bc$bvVj{)Q6)$NQJDXL`aRS zrbtMYILd_72`Lm(DWp_Lt&n0N)k4aJ)C(yXQZb}tNX@LKXh_vK%7)a9qi{&&I7)}q zj-z-;^^o!*^+O7XRM2Wlh}6((iilLvYRZVzk)x1EC6Q7hwM2@ER1+yDQct9yNJXut zq)1Jzrl?3&t){F<T{#MiRF<Q(NNqWai&U4RyhweK0wWbhN{rOlYKn|h*=ov+)Y)nZ zjZ_*bHBxJiVk6b&C^u4Xj)Ef<=O{T+bE_#jQgy2-J5qP6DLhhnr1VJbk>VrON6L@X jUtDkg|1SRy^Iu`1`R|b8nxB@HmXYGh%uLHn%W(V&DI1f# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/PRC b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/PRC deleted file mode 100644 index dbd132f2b0bcc8beab08e04b182751795c853127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcma)%y$%6E6ov01AsdnK0RGwCh(;k=S&0xTQ;84_wi_?7<`F!PCs;~}D7?f(B^vIT zl7ch2`)zh+C+8E>VAZ0p#Q6&b$@1Vmt@shmEEPQ+dAwxQ={D8*Lz@c0P8P$BDh-yh zJRhox=gVq;O|{%Y*PQ{??_KRC8|0oVI%a(=qV1LMrEqU0h@_&_Xe`L@@k|6ZIO2E7 z93L|!ALb9D7bk4{9*EM0TpUDs5CS+32?Qb_WIzakkOCnFLJol-2uVX01tDw5!t~*5 M#r`q2S-#n^-;pX<T>t<8 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/PST8PDT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/PST8PDT deleted file mode 100644 index 6242ac04c09fd4e4952cd16503e954dcbdacec2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2294 zcmdtieN5F=9LMnsqQq039#A5%lbXa8u7HA9u?H1*!9*~wBxWYY!ypY6x<VP*VwE+= zmmF$Ox1)0{*9;xA*(@TrTCLFov}V~DYx7|htE??j;&$HW-~Q^q*10>s*V+C5^A4_S zsLS*G<HXp1xSVc#d8_d2#pbnB$zq=Nnu9O>A)oF}HG?yM-#S=5TU{P|N?*BHr^e6J z>c2iNRud-!I`W2Bc@AXisAm&ZbZdg1wCy&Dsm?HySI5hgC2=M;=O>BXv&_V)&m`{X z`#S!YW0Ek^V-mj^P)Yq==IVEP)HO%m((1)7b?t7^*R?gP>l?P~8>-f*<dUGCx^RJ- zmRX=vW>m<HaVa`AI$u&R%{MoFKTXmGr<(K+{*>v*$IQ(K&x#Js(YHMLp3JCB(lZ;s zRkQMc*0-*BSItiTQfGL>Dq~{QWXA7OnZutO?+=^QoWA2GYp7ka!+VXdccaX0f5hbM zT`IZtFX+7HSu!usqUTpkk^GEGU66NC7R36sKW(z|Ur5ypuUt@zJ{s4BXFpMkkENK~ zPra$`=)7$1e0h($tLZzlq~nMzE$cJOYMz&(xyCFn+9Jz;8`6R7=Tu<mgf2<itV(+K z>lLG`)ZMT2nw4KSO6ksSv+C`YQnr4FDc|Rl)r+glJs~9(X@w@Z=8^=*(@kamS5kRy zkzPCfSGD%TG+i|@q}Cmt(Dx0WQ0qHJ^!<JN)rOkW`hjqp+E_Yls-NkWP1*hC!TKFi zlXS?`2CAfXw8PYA6iWR-ooR?omxiOorty449@<x{H-C|)wuA!u;hqWARGF!_c8;iR z1qph4(`nV5JgQsD4y%?(oC*2+B{ck_X-zpKt$hQgZLC8c4fmMG&eX}y_Ac}I$zo~W z&}^PK;1y4lCn|c9{rs1Hk;tnO<%vW(cX?vm`zrTMEH4Ur$}8->*WU6V<A~x0|HX(R z_An%5Ovs>+Q6a-Z#^tmFLq>)S4H+9UICP`q!SFbCe82#a5h6oG#)u3O86`4IryVCU zP^TR!GE`)&$Y7DtBEv<-iwqbUF*0Oi%*ddTQ6s}f#*GXd896d^ryV;ocx3d*@R9K& z0YD;vgaC;F5(Fd)NEnbfAc1h&NFbqb+E^gLK%#+!1BnL`5F{c<NRXHyK|!K|gawHU z5*Q>hNNAikHb`)g=pf-i;)4VTi4YPZBt}S(kSHNxLgIu3%4s8ogvx1Sg#^oKqlJVE zi5C(uBw|R&keDGsL!yR+4T&2PIH!#q5;~`i9TGgJjUEy{Bz{N$kq9CoL}G{p5s4xa zMkJ0%AdyHSp>*0<BEfXpXd>Zs+IS)XMIwrX6p1MkR3xfMSdq9Qfkh&Vgw|<eiv-tc xql<*sY2%9o7>O_vVkE{$kdY|k|0c}ww$^@I?X1#yzC2$}R%vdoFV~k7|2MIyR0IG3 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Apia b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Apia deleted file mode 100644 index 4091a85f388b57df98ff9ab056958e41c7d00fd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1134 zcmd7QPi%{E9LMort*fML2?w!VI3c=!j}~3BEju8StlQ9)4ck{|UFXj>R;zzAB!oC% zBs)&Tfs=9|4l)suIGK|m;u{Ay#BKim{N7I-Bn}cMPxJKkq<@n3`Mi^z{h1Z!k7Krb zg_EPsom`h6cTX3KznPcmV7z&9X(2HY(U#G-((?V>mDYTTwq<_k23al}*Qsu5oGZyC z54C;K2T6slY06H^=69!c%bVNM@i?oUQ<r7y%~P`NdO^3J?~|@G<JvvAUL>2-9jy^b zH>I?vx<qy^i)(M`N6E}<m(0u@?fbM^vd`aZ|FbgLb@!?6E_{_e6Ss8lh1W8Wzodgh zQ!*q4+1K$(_cxBqaP57~EzZe-vPm5=DH-{ELh~AzgD-mY(1UV0d~dBDxv@%*UQNsB z*@b%S<Qf^ve$g>&ZD3ZgC|DFK{)b1%n1Z`q)^@vlW^GrK30gZWfv~l`ZKl+iJJV*q zF^@E`pgEB=m7W)^anGEdiFi?W#@si5Kazi6s@{FxUux#p7u}z*1NBebFR+&7ko9<* z1(6kzC4JqR$fC%q$g;?~$im3V$kNE#zHV`3b!2&DeWU=S0;B|_2BZk23Zx9A4x|vI z5~LKQ7Ni(oR}E4QQV&uPQV~)TQWH`XQWa7bQWsJfQW;VjQX5hnQk}0W52+6+5UCI; x5vdU=5~&g?6RFeJZE60mM8kD1-G)jp>Wnp1Bx<WxR@GETD-y9P&t1gAKLN{CGT8tC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Auckland b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Auckland deleted file mode 100644 index a5f5b6d5e60f15ebdbb747228006e8fe06dd4a01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2460 zcmd_rdrXye9LMqJpwhVKWemws!@O`gTvUW2LIninl6fQ~qi>S%pdpkbbb(AGa|~<R zvNfZU955{rNzhUdL#TBjTa#+pH=TL5LUT2xEbMtd>%Z3evp;&y&hz^1>^y&*KR)l{ z$}cI3HU4(pV12@yYnS!rJbt5fYi)0HA6U92udV95d2r!*Y0v93-wExLL-8$U$EX(R z45~9bf9%!6!=>htkDBz|!5s6wb8bEQ_7(TB6CY~Vwn2Ay<32sU?uff*^EN$^z03W6 zVY&7?YuqO@>!r_M-2D+{(towuJoVKp$zDN!sMo$d>V0XC_%!^kzJtfrujY*UcQ$H3 zLAT!ca;=U{+O6ZNigkR*GddwJLnn+BX<&S~242`KK~vKusBg6dJHjNmX_4IYov%#V zGD~jmz9=EZJ~H|B0hy9EBvUuG$t}@d8d~y+P7C-!Z*@9ky2k>Y;df4EoSmjKhk9jJ zkEe!x+$7<9LnY#^trA%`Mx6C)C2GwDi7w5On8hDRY;K9p4%;hp;+E)K?|O*~jMTWF zTXf!)0FD2=P7}VkthXI3)!V!LC2>cN-qG-rB(0CpJ8Mo!^2%(PU(hZK5~F2d(o2#u zX`G~nR7vW!UnFfLUlv`h)$}uol5x6N7at3eB^?=>*<eW4&T!4HJ}WtuetK8Yh%S{d zxjRjDS+cLVruXRb$rmNp^G(gYJ|Ope|E%VH+a@bcnwsDBqTIW`R#rB*>V3}_OTly7 z_5QL95wk)c$O)HK>A6}M<tGo$jMvrvm!xRyaw!`2(c;VV#5_HuC7(@{H65So+SY6G z(9Q!|`ocG|u5yQ#m3K+Gw93OPzSc*Qx6As3qgpYgLLQy?nr<+1Wy7yeYo*3Z)t80( zSa+~IemGU1Xo=G&cdwG_twCC|DMg+#e^U>K$EbgLd5#|QpS}#EanPEBvA^Fj+A!Ye zG`tL>xtsH$0f#?l!#Z=%%yJpo`OCQ3rxX{@84ibyb#wju1YfnjW>0YVuZON%*Zhvm zW@M7cERks<^F$_!%oLd_GFN1>w$^Ns=_2z*CXCD&nKCkGWYWm2k!d6IMkbET9GN;Y zcVzO&>}{>-BlG9yk^oyP14s&x93V+RvVf!k$pexIBojy~kX#_iu(h&*q{G(A2a*t5 zD<eosY^|IiNkOuLqy@<fk{Bd2NNSMWAjv_pgQN$^50W5TD?><%kQ^aNLb8OU3CR<Z zC?r!zs*qeE$wIP)qzlOxk}z8<V@S%7oFPd=vWBD$$s3Y5By&jWklZ23L$ZgY56K^r zKwB$=ND7f0B1uHDh@=t8Ba%oYlSnF&Tq4OtvWcV<$tRLfB%?@5ZLORlNky`Xq!r04 zl2|0ONNSPXBFROvi=-FHFOpy+!$^ve9NSt+MzV~g8Obw}Xe84}s*zkH$wsn`q#MaM zl5iyBNXn6%BT2WlvW}!3$vcvGB=bn>k=!H6N3xHk-}s-j-<yAi$e7sd{1jJ2R)TY` QGddz`jx)v?9W~qgPuMCAVE_OC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Bougainville b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Bougainville deleted file mode 100644 index dc5a7d73ccc59f704ec3bb12fc9065621bb66276..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmWHE%1kq2zyK^j5fBCeRv-qk1sj0G8E3PEOWHXfLgrm>sQ>@}KO++(GcyB2=Leu1 zL(c+`;<^b8oD2-JHZbr8`1*!0Xd4<ZXd74pX+w}2FbKhJE664g1_5>;2C+qdfOtRv zwCsP_wjd1<UG#Rz1P~2!4TuK02&4w&DiB={6k}jyVrF6iI(*^{kPy&?KsL~YK(_&1 a$P0F%pbyZ2I9<uWz-0q;wVke^Ar}Br20-Hg diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chatham b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chatham deleted file mode 100644 index 957c80b79a30f38d7db99fc06b16c3255ccc50e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2087 zcmdVaS!`5g7>Dt1Dv)%#0g|Q^DEroFr=96Si*+o}mKHixrHoKZd1aYt!2&|1b)l>U z2_X_N;8is&K~jtbOsa{{LZZeC_7GemzCr>Qq%6@W3U>US<E0l~5@#~s@61W(qRII` z)in)azxmgzzrDkU*Jk_SI(ef#E`Pu8i`bOEH1^nGb>BNIaqW*a{@XK}(0W}HKRc*N zbv-)p{WcvGIG}@DBKmaNRvj|GLWlH)HMzi}$+x#i%II=Q`Ffe8y3!@}$V?gbbG!`S zK3PWe+?BLQoQ(YNqKqo*mC+kd$e8R{9oukT$0gm-@m`lqh?%Yv6K=}H8{>3R@0T+9 z>;O$acSJlLV<qF`9g?}Tzj$}8kgVmmCA%>wzFFUhKh&T(=^c`rKU?$MyCgq3Q}cg0 zs#AVT(t;~Hweac#oqDoSpXpANqP<o6Z2Nr)to7-0t(T>^c8*M|`&6bEWy_4fJ}DVK zSW44cr1a6RQr1@^Gk<T>^6N!XaV?^=PN&K2t_rPeHxk_M(K+jHNL6!!J|FJW7bIO? zEK{9Z952-q&g#68cO^97kcOfc<)vHObpB5#WWiVUTGRcWy!=U<)PB^d3*U`M-8*}9 z(W(lO`X+s)$|H-*L%Jj@L6%M`&}E7DBs^%IgdfIf<iQlFzt*b_mxjvnt_!-N^O3x| z|F|~p{!vyo@6}bSyJfX>%4-XL&^5(-WNqOoZ5q`iuMhn|*O`#4`(u+fYk{<Uw?yCQ zNtHK0FV(k>=Ih%B7R&k_DcZWZL^jm_sT-ovsH<PhQ&03AV@$_m`!JegC8nP-XKGz; zV@_6@f&ZM9!D{32`F(lz%*o~S+tV1Ai{BVi{ol|07W-$;Gyl-}g)#Quj!x?;*@|p{ z+w8#6ZUNZ?vI%4t$TpCDAR9q;f@}rZ3$htxH;#5Y$bKB{hL9aO+ASe_a<rR5c7<#U z*%z`gWM|0Mki8+BLw1L357{5GL1c%Hc8ka!kxe4IM7D|S6WJ)TQ)H{iUXjfryG6E( z>=)TEvSUZPWn|CDrjcDE+eY?{Y#iA+vUOzd$mWsVBil#zk2C=3fTL{z(gUOkNEeVc zAbmg@fph|C1=0(o8Avyfb|C#g8iI5LX$jI3N81#nD@a?Az95Z3I)k(Z=?&5xq&rA^ zkp3VILOO)B2<Z{hBuCpNq)kYlkVYY$LRy9N3TYP7Eu>vYzmSF@9Yb1%^bBbl(ltlh zHl%Mz<B-lFtwVZ;G!N+>(mterj<x~j{~keik(0$hrq4e$H_v{tr3_>Q3%z;X>@03& O1arMUd!1vi-G2iks25xS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chuuk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Chuuk deleted file mode 100644 index 289b795a8a8bcb6632ca97efc363267d2d491c09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m14Ew=NUCQ61B;Ju2!pnv0f@^GLfABB mpfZq&96vxBfB<OV|2i|ZEg&|?bOzkUbJ+kbvePv*-~s^Q&l)TM diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Easter b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Easter deleted file mode 100644 index 060bef81898b9b45492ce2e2e35fb218f5cc213a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2242 zcmdtiUrg0y9LMqB0R#d`5mT@~(jQ3!;Q`{02KbF2A>~hrnTmzv7?25pNQ5PMk<=`e z*@!LEx@e?LAM66yU_NWDwCvBhAav#IqPf*tjI6{ge?9M~x@xVvF8ZDG{9eDEjh&61 z&%0_}LtUo#w=2Sa!r|I&56`o^>}~i1>HaO4Cs%uZ(f;X=jo0#}4zyL85GmE6t20bk zVzQoAP$A)7jE;yNk%;pXI`V3qTyr9*qt5*#(f!}6>7(Nk)BTyc_Q0^rs6Vb|J~w7! zOZKZ-b%Q2u;Wjn<-ad0(Y>%Fk)M@5SZq@PO8%%ugL7i}6nVC0`tFQmGT5i}kPv3Z~ zKyGUORnOm(D2Y2l)y+*Ia?6q{>elkF<+g-#YC*1N7F<4|l75&nx1W7oExh!eS@iCx zzGM7Nll;a(oif;M7Vmskr}j3QwAx3t>e?mgg~d9fra?0E$JL#(Lb9TZRCdge<b;pu zTyKWteiW&ee3NXJ9{yI{bt=Z>y>MFP_fMFD#-nOkchJbH5B1&k@0h~OxAi?GFPoyc zmvnLZaVfsote3~`m*o>7s$_DTl#Vp1`+^V2iXl(099Sx4??<Te%AKa-)uXzy@T|Fi z`(FJ(^3SrWx<yw-pOG~=7u1?#-<h>@PpY+hJ~8Vq9aig`w5cB7tu|Ejn1=_qs7KPa znws89wK0C5)OKywwNtIKsis_SI<s2pMCrPr9H~#7rR!fwkOu!p-PnFb9y|ZJ-n?<H zdHm!>wM8zQrv5S2ocM)#qI*!ac%!DZzE8D&b<nhxbgH&fBhsGUtJ~jtO*&#bbjR~u z^3>#d-Puqp+k^S~>Cz&3W?;VFu_#G)_`V+q3km(l*R=5e@)hp;eNTFxyNCJykwbw< z-#@U|oBr4R$RW>uGOPnLSC&<I#r7;#+4khvlVyMRfdKD6sQUNKylDT#ZDz_oaM^!{ z->|FDeuw=QyCGyp=(fZId*ZU20(OOL3)vU4F=S`R){wn9?dFi(A=^XthinkpA+kke zkH{vGT_W2=_K9p1*(tJBWUo%US!B0PyIo|z$cB*}BU?uHjBFa&HL`7F-^j+1og-UE z_U^QsM|O{FAK5?B0Hgy*3y>ZlO+dPUv;pY@(g>szNGp(DAk9F!fwTkZhtoC$=?Kyi zq$fyIkggzYLHdF;2I&ma8l*Q!bCB*hZF`XZIBkQF4k0Z<dW19y=@QZ=q)$krkWL}3 zLVATX3+WcpE~o7m(lDp(7}7GNXGqhKt|4th`i3+P=^WBJr|limJg4m*(mto{AJRal z?I6-Zq=!fokuD-_MEZy{66qw;N~D)aGo7}ZNIRXjpGZTUwxdW(owlb)Q<1JBZAJQu pG#2Ts)274wzs5Ey&xW`l+upMZQp$2uGg7nDGBQ%ivi^LE`W?cWOo9La diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Efate b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Efate deleted file mode 100644 index 5cee55df32f377df2dbde0d9764df5db388434a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmWHE%1kq2zyQoZ5fBCeaUce<c^ZJkq_2mzNM8DWLF&-01JbwBF32p}b3k_Xw*a}O zc?aaHZv-f0?{-j(-W8zaJ=a0mdQO0fcD;kDbX|ZNccO#Z?}PyL*Uk<aPiih`HU>Iq zz4W-CooMV(|NsAg1|~)<kcoj|?irx13@Z*WvM?~r+Q7i!;~T=DZD<6<h9C(b2qD1> zKOkBdfHwXIc?HA;c?U#;yab{_-U87euYqWg_dqnriy#{0O%M(8Du@Po7es@+45C5a z2GJm|gJ_WVK{O}`z%(!zKr|>QKr|>gKr|>wKr|>=Kr|?5Ks1HH!({^uDmz_6LoNU- C4QOKk diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Enderbury b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Enderbury deleted file mode 100644 index b729b256a18079893515880d52c4f06e0acc175f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmWHE%1kq2zyK^j5fBCe7+atL$Po%-IiSzhZBYOJ|9?g%X6FC@<L59i{Qn>Bz`*kV ze`){&2Lr>l3k*Cyz99^{hDJba$e?X#3^E4{LI~T(3RDQPQ{V?g3()lc|Le>{Q$Sph a{U93T1`rK$2Lm|{;j#fb%TCwOm<s@;%P?jD diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fakaofo b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fakaofo deleted file mode 100644 index 6e4b8afdbddeb1ff2ba52168af01a9c8a7896208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmWHE%1kq2zyQoZ5fBCe7@Ma7$npC-b3^_A|Nj}8nEwBduV7&K|35W=frWu#+XV&= zAKwrLT|+|#Z9`*_Mj!|wY&=je*b1H>U>zV6|NpNu5A6VPLDqq2kd+KX+R0@DwBJtG H(3lGVs@5vF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fiji b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Fiji deleted file mode 100644 index 912db189431adbc130b6397e317dd40733601fae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1104 zcmciAPe_w-9LMp;6%iI_br8bnP;^n3&o)%j1PQv#EwLeU_U9|2qEnM4ruJvip+iEK zh=tH)hyGj!Q7Qz%kRXa6Awh_WFM$Nz3Zal{ec!*1og(Nrp1rnb48}h1L~3Xt?EP^z z*&QxUn_ax#e%YSpc0DLIG*@ZE>V`D!k4V$vTZ!(d)o7tY+Lt~_EYqg({7X5u`>A$Z zDM-i09qmlN(9SnA%ZbECNjx6buE=xgnrqkOo;6L*1hxCeGfkx`wddV^J#nN?PCl8{ zQ~N69^zBiVz-Q^bdQEyiyq3O!5$Ri+m;R%1>Cfk6@Ibu`&OX$kEjwi>eN%_m)+HT1 zrz5W_b+o2i#|mHc%(iA7zrLd5>q*IsEof%tkW9pH>BOUInQWYw$s0dqswyW_XH}-Z zPRq>kB{{#^BNtlU>&3;xa;dtg+1y^qe$Q*RR4RFavVVF6JnwGN{zq?NxoorN-79)q z+hYl@#t+*S;sZO0zZm7)@2`0F+e(bXTLyC4NXSr58w(lCX`>;-A>$zfA|oP0I&Dm3 zP^XQG4C}OUk%65yGBUK&#zqE5Mn{H6#zz7`B0xewVnBj$S`<haPKyHx#A%Trp*SrT zBp9bfgM@>`g9L;`goK2|gaqZZsF1Ln78eqj(;`Dcb6RXja88R32@i=62@r`82@#1A m3DRj%I{#Og<t-LzYn>l5!>zS3-w*o1dNUXb`Um|;WBD&@X(Pn| diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Funafuti b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Funafuti deleted file mode 100644 index 3289094a2740500bc374d20904a70d7b307c2264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m1H%dykkpC;3@kprAq?7v5Hmsuo5l>( k1~QT32gm>*02=te&Wz^|hz&BG0k`p7Hb9H)bPbKT0P#5*egFUf diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Galapagos b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Galapagos deleted file mode 100644 index 76b2b3a126967bd410e57ce36cccebf7db167f67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmWHE%1kq2zyK^j5fBCeHXsJEc^ZJkwk19dauP=Zw8gm|XcvA7sQ>@}KLaB(6EpMw z|7(Eq|NrmYz`z0`8G+>L1q>WMz99^{2Btu429$?@5E5+t0o4Pv=s(DI5EtYE5Djt# Tm<GB8M3d(lE*qfR?98|T79%`1 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Gambier b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Gambier deleted file mode 100644 index 625016d512b09d296dc340dd542a3d2d07c5c9ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(lmHKw`v3p`GcYp#|KC`{zyKr*7+8FKLl|@o iEP)Cb7(z%e@&{N4$dv#8K}LhP1dQjh0a|2d$prwXF(Qxv diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guadalcanal b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guadalcanal deleted file mode 100644 index 0c24095bf0f683d1e1c51fd30e294de40b3b3e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(6o2EM`v3p`GcYnTFiiad6k(XPfq})xH-tgk k&=ACB2qD49A7C8}3_uhAgNz1o2^i011GLCa*U*p)092eEfdBvi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guam b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Guam deleted file mode 100644 index 4286e6bac870c1ff15c73b8958c15210a3879c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmWHE%1kq2zyQoZ5fBCeCLji}c^iO)m2+GIBT%G$3y{Omvw(pGOmg`6hA_AXhcGy2 z00{^P!EQ8A14t7Xz}UP$paTDaK;+@kGa$OoOxFh_46>4ek%{^Le=`#hp9rfN7`Q+V J(KR&S0sur8B`N>_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Honolulu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Honolulu deleted file mode 100644 index bd855772054f8d41e0158e71c2bf2c04e50e47cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmWHE%1kq2zyK^j5fBCeHXsJEc^ZJkZdPZH-HL?~r#o#=TuSt`xY}Fn!N>%J%>V!A zFflLy$p{9P|NpBp7&-p`FHT@!@$n5|@CXKCmk^+S2nZo;D?3mn*w!CVJ^z8A<Uzqc h5Djt#m<GB8M1x!dqCqYK(I8hbknSulpgRo>xBx^rPJ#dc diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Johnston b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Johnston deleted file mode 100644 index bd855772054f8d41e0158e71c2bf2c04e50e47cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmWHE%1kq2zyK^j5fBCeHXsJEc^ZJkZdPZH-HL?~r#o#=TuSt`xY}Fn!N>%J%>V!A zFflLy$p{9P|NpBp7&-p`FHT@!@$n5|@CXKCmk^+S2nZo;D?3mn*w!CVJ^z8A<Uzqc h5Djt#m<GB8M1x!dqCqYK(I8hbknSulpgRo>xBx^rPJ#dc diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kiritimati b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kiritimati deleted file mode 100644 index 94384558c70125ad7d1ed0c47e5fef6d86cfa832..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmWHE%1kq2zyK^j5fBCe7+a_T$Po(t#Gubst5E;{|9?g%X6FC@bAZDC|7QW!{r_K_ zz`(`8aO434pO0?{gRY^0i2;aY&^9yy>V<$1!Zxx3Rf234`T^AgwCsPKxkm$t3vvMn YfLsBhK`vn+&na9sK!@4s8k%qc0F22oWdHyG diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kosrae b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kosrae deleted file mode 100644 index f8222e66b554dc2e5e05be129662da3f8902280d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmWHE%1kq2zyK^j5fBCe7@Ma7$obzU9bnd-?oj{#|9?g%Mn(pP8D~I>W^DkeTXBGa z1H$(44PnqWGz4OV=^=#eVg(unvXAEn$WR~vTJyioOvVI6gX{*0f$Rs-^*|v8QXRo% M19X<1uAw0p0J1?WSO5S3 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kwajalein b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Kwajalein deleted file mode 100644 index 1a27122ee09410095d433adabe6bf2eb772710d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmWHE%1kq2zyK^j5fBCe7+atL$obzU9iUUP=Rp1c|Nj}8n3)+E<~#rjGtAn+!1Dip zxB~+R1H*~~3_L!*Aq?7vh77ufMnD>2LkMB}Sb@fY>=gI`G8hPeR{gItlTZNBAp1dL XAUA;MdY}*kIS%2n0XoYL=sYd}4N5Vv diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Majuro b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Majuro deleted file mode 100644 index b3a8c184432efbe040cd44a386a99c2cb58ddf52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmWHE%1kq2zyQoZ5fBCe7@Ma7$obzU9Z>)O|9?g%CI*HDAQ6UH8yHv^7*-r$;PCMc zVbC@-1Y($xA%u+w>IGZD^8;iU5CBd8UuP!L0HQ(GfyC;8Oa>zD<gx+UZ>MW$#03C& C4<@1j diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Marquesas b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Marquesas deleted file mode 100644 index 10c5c9bc1dd5807c7bd13e556a4644c5f07ef261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmWHE%1kq2zyM4@5fBCeW*`Q!xf+1PlmH)(`v3p`GcYp#|6gmt!0`WnRR#l#k8cQr ou7Rbo0Z<78LkJ0m{s8L$ne+cY$Z!yspaonuV9V?*t&9!00P8;_JOBUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Midway b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Midway deleted file mode 100644 index 3e38e97c97ddf5e054fba822cfce1c5ccd422e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmWHE%1kq2zyQoZ5fBCeCLji}IU0b(MAqLNj6ji%6$}jj|HuCTk*NU;EIz&=48g%6 mKouYmLfBN84IDrtz~Da+<k_C!0MQ^@7zkU#1+>x7kP855a3xUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Nauru b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Nauru deleted file mode 100644 index 6092119f66ca00e75e8ead98c286470d7c192fd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmWHE%1kq2zyK^j5fBCeHXsJEg&Kgw;^*2dr?>3)xZo5}AlS`vqW=H?{|t;wjLggo z40CFL3K$md0I9B<z`(`8u;Ks%pO0?{gSMfeu>pg&fhCZIuq}iHyMKU;1_GdU|3Pj5 g(I9t#Xpmb#av=AB=z5?Sxo+aJ0lLsm*U*Ry0Nn66!2kdN diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Niue b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Niue deleted file mode 100644 index df6110dd108e529d2425752744d6d2a4512a84f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmWHE%1kq2zyK^j5fBCe7+a(P$hqTenjlbe%A)@N|No3k%*_A)Cv0J00FnzBSpNTy z^I+im|35W=LBPj1ghAKP(8vHp8iPrYSzr)C*iKfULXf>8KOkCwHvIozXCC4MqCsu| Y34`1LqU(WT4CFe7%LeE`J3~V*06J(pG5`Po diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Norfolk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Norfolk deleted file mode 100644 index d0b9607ed73a9a4bd6ca6b49a2b685609d561f96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmWHE%1kq2zyPd35fBCeHXsJEr5b?59mgLHocyOUIJe%62;+a2QUCw{e?}%|CKeV3 zhPf3$1q^c=7=Y}BI~cea7}lR)6kuSOwShs*$2WvQ+tAR^2t*ni07)Y-X$aB+1tEmp z!VXjlcFPZ_9-#IA>&(PEKs3m0AYqXEz%<Z}AR6RO5M2*c!$2*^a@hbqVyA0p$OQn3 Co;%$D diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Noumea b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Noumea deleted file mode 100644 index d9c68f88afc0d9129366ce5b9a5ac02916cf4061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmWHE%1kq2zyPd35fBCeP9O%cc^ZJkq_0Ox_@3<w;1An<K;YP%073Kj4n_;SKNw56 z6x9F!|DS=05eS)CSQr@Q@Bq~_tT@03WY5~bz=6#6@eN_nHZ%faLy#gyMi9vmLV{y{ zfORl10PXw_aukRQau|pPISxdF90;O8js(#lhk|I3V?i{<4(74}dcaQC(2xrNm{L3k diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pago_Pago b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pago_Pago deleted file mode 100644 index 3e38e97c97ddf5e054fba822cfce1c5ccd422e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmWHE%1kq2zyQoZ5fBCeCLji}IU0b(MAqLNj6ji%6$}jj|HuCTk*NU;EIz&=48g%6 mKouYmLfBN84IDrtz~Da+<k_C!0MQ^@7zkU#1+>x7kP855a3xUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Palau b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Palau deleted file mode 100644 index e1bbea561510bf6e8a7465a49647724bc243eb03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m14Eq%NUClE1B;Ju2!pnPC5X!qLfABB lpfZq&96vxBfB<OV|2i|XHy}31bOzkUbJ+kbveUKX0sx!58JGY7 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pitcairn b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pitcairn deleted file mode 100644 index 54783cf62eac51e9a575eee75688c4de4a15578b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmWHE%1kq2zyQoZ5fBCe7@MyF$T4+s;;8@s|34!W)Bpc%JPZu~|94a{u>Aku-@w4- z;~T=DYhYn)03tzJfgpsi1uQ^iAWQgufHVLB(ER^(=6YX1Y><T@8e}O0(YA8g09{~b G!36-BEh`8B diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pohnpei b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Pohnpei deleted file mode 100644 index 9743bc3c9b8e8d2dc3a66bde761c3ef1917be50a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m1H+UMkkqUV3@kprAq?7vh9E9O2w~Hh mfyzK8a{K^k00N+a|Le>Y)_~X`(;09Z&t(I&$WGVLkP86$h#GnT diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Ponape b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Ponape deleted file mode 100644 index 9743bc3c9b8e8d2dc3a66bde761c3ef1917be50a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m1H+UMkkqUV3@kprAq?7vh9E9O2w~Hh mfyzK8a{K^k00N+a|Le>Y)_~X`(;09Z&t(I&$WGVLkP86$h#GnT diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Port_Moresby b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Port_Moresby deleted file mode 100644 index 3fa1f7fa80a3026d205cd0cb8870a75063ebc80d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmWHE%1kq2zyM4@5fBCe7@M;J$f^JT|34!m14HKrkW|kC2G#&y-w+0ELjw?>Aq2Z| z%s?p+1_2fz2C;d6fOtRvH1U7fwkQq|UG#Rz1dv!gkj=oz1hl#ntPE%!P#@4bP9LCc SC{{8saM=K@x6?H=-~s?suq6Nh diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Rarotonga b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Rarotonga deleted file mode 100644 index ace1ce4b718e928c238f7469561c7ec41c3cd41f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmb`@F-yZh7{>8yEC?B-YA8pW*s~fcLLt#Xi=u;wP;|>+ofJW8adVJ%P`mjB#2c?$ zhpv8sPNiM^2;x*XM<-w3=g>*S#S3@;OGqI1OODRZR>Y5y<|mjKK2PkuTV67~{L=LH zqnv5B)okHGdbLyKQB!6syDB@r*RptG<lsu@oE?+v)^z?QH2&R&4*HX3t{&(@=hdh^ z((~<+DaO8BXpGfj=0k?np$gxgWofymN>6=xLqw?w=eNrtYOD)Eba5!sM3=|HC2G}E zQ~L*rD96!igjJNI3h%y0^7mN-e%GG${p%zC4Z2>d4seUJqc}eb0~8J@ENs~Wg^4Y@ zps=xJ9~4Hm?1aJ!g%=7l6mBT&Q23!RMB#|S5``xUQ(JaLVQb62D2&B_BfFanzZFOB ECwcmOIsgCw diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Saipan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Saipan deleted file mode 100644 index 4286e6bac870c1ff15c73b8958c15210a3879c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmWHE%1kq2zyQoZ5fBCeCLji}c^iO)m2+GIBT%G$3y{Omvw(pGOmg`6hA_AXhcGy2 z00{^P!EQ8A14t7Xz}UP$paTDaK;+@kGa$OoOxFh_46>4ek%{^Le=`#hp9rfN7`Q+V J(KR&S0sur8B`N>_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Samoa b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Samoa deleted file mode 100644 index 3e38e97c97ddf5e054fba822cfce1c5ccd422e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmWHE%1kq2zyQoZ5fBCeCLji}IU0b(MAqLNj6ji%6$}jj|HuCTk*NU;EIz&=48g%6 mKouYmLfBN84IDrtz~Da+<k_C!0MQ^@7zkU#1+>x7kP855a3xUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tahiti b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tahiti deleted file mode 100644 index 7867d8bd6c27774ad5a3b6f91fdfcec18845b7e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmWHE%1kq2zyM4@5fBCeW*`Q!IU0b(lz`A3_5c6>XJBOf|G)SI0|SsuU|{j_4PnqV jGyp1KU<e_>$RA)GAXEPT2N@0G5-^_2256C;p#c{FV<04A diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tarawa b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tarawa deleted file mode 100644 index 334041388cbfac92c738453b5abf364a96cf1af5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m1H&Q{kkpC;3@kprAq?7v5Hmsuo5l>( k1~QT32gm>*02=te&P?bGhz&BG0k`p7Hb9H)bPbKT00Vd$r~m)} diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tongatapu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Tongatapu deleted file mode 100644 index b3a5a89b66d2b74971646be2fea8066d4dd91fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmWHE%1kq2zyNGO5fBCeZXgD+g&Kgw$zrDo=D*!9SX{2XV8y}_U{$ok!TRy50Gps$ z4iU1~FGN%+T&Vy5|34!WGYcyd2r@A+tn~ouWLR6kz{0?=?E(WA1H+LAjC{y!AKwrL zZ9^j?10ZP(#3mpOjEo=>2to)uk_V^^?8qNr9SjUWH~g<NW8VRyL5>CqgB%W`L5>H} sAP<0PpeH~y$Ri*c<QWhR@(`E?dJ06>1I=Qfs?WG=fc~}9H8kb|0NRRA%K!iX diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Truk b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Truk deleted file mode 100644 index 289b795a8a8bcb6632ca97efc363267d2d491c09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m14Ew=NUCQ61B;Ju2!pnv0f@^GLfABB mpfZq&96vxBfB<OV|2i|ZEg&|?bOzkUbJ+kbvePv*-~s^Q&l)TM diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wake b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wake deleted file mode 100644 index 2dc630c606e32919db3ab5302f72d5523955c54b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m1H&8>kkpC;3@kprAq?7v5Hmsuo5l>( k1~QT32gm>*02=te&P?JAhz&BG0k`p7Hb9H)bPbKT007t;q5uE@ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wallis b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Wallis deleted file mode 100644 index b4f0f9bfb6a6cf6b98b85993dbf1632736e9e19f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m1H+mKkkpC;3@kprAq?7v5Hmsuo5l>( k1~QT32gm>*02=te&WvLPhz&BG0k`p7Hb9H)bPbKT02g!`)&Kwi diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Yap b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Pacific/Yap deleted file mode 100644 index 289b795a8a8bcb6632ca97efc363267d2d491c09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmWHE%1kq2zyM4@5fBCe7@MO3$f^JT|34!m14Ew=NUCQ61B;Ju2!pnv0f@^GLfABB mpfZq&96vxBfB<OV|2i|ZEg&|?bOzkUbJ+kbvePv*-~s^Q&l)TM diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Poland b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Poland deleted file mode 100644 index 5cbba412eef406b4baf89100f2c4a8e1f5d12798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2705 zcmeIzdrXye9LMn=AgP4(#T$xTG$NG{K@=4sGXiIVc{$$jhK8s`hL;FU;#o4+jJa<N zafp-_F?C9Ap)JulyUmsnUeK^vD_4Re!_c%fX217itu<@?)qnlY&hvWC**Skc?~f;Q zMa~Fw*SXhz!<)0)zPS%}?4@FNRAZ%oP*!Erh4vlIwOUnuP+xmb_4VRyx^w#>vuo*5 zQ&YGh>qP!na`N(I`D{;+HoTD{pO=o5MrTh}WAR~gYHMlU>CN?7XO`T~J3Bc-n-=bu zb3^Ood~~pU(Y;)ny^m{iYk{<QPMel%bx!LyZ#h>^l{;;{%T3$icgzoatIgHzTg{JW zGfn&Y=gqacB=b||T+>k&X09iWGdBtoou7k4O^>L~ydKpvoq$*T&3(nA9a%fX3C!;A z^z`^Sy)qI^@Ax*SPsBy1Z?6U?$mf_7)N#P+cWIZ?|4gY9{J}<Nz>&92$iAH>bjPbE ztmGvVzG00Sn44_|&7WxoT{zc%f4WB^l2YY?=md!j87vR__mjcCDLVMZNFDNBqz-NB zt5F|y)rabCX>@g~4lBE$F~y(i@U=%YHhaIuEohbztLr2_xn4$2FPBlFRgy5GKoUBO zWXymv9dmK9jQurV6OX3IxG(2uQq3Ywu20m5H%-v-l_B~_PJ~V<9xIQg`D#k`0C_C( zvZkhVN}BH{Ix*sFnRxYkndEa^CN-Rp$1lAplWX@%`pILOv86<&?AxVJtXwHmOE&7X z*_(BG?oypGI#)gE6Ln_L6rB}4RA=3c)j56AWX}1XI`_s9$vkvj=Qa7s{GEZapsr08 z7Iny?vIfao)Fg`wujrET@5+-4PHJ{|g)B|3)tqhzby=wDvX*VSymPg#II&Kjy6DlT zchA$@k5|bvFDL8Dni=x!@^H=DG)h)YOOn+&L9!+;OxC9UBF_aH$sgWF^V`3bf`FS^ z(D<ROyV|Vl57fvD4fVRA;(aZwt<o3QRcq0fBK7j|_UYo=rQ1DSeY}0`jrX0;+}`!# zhkx_(>F)R6zl`a1z&=V`yBHHP(5ss<0b+Xm^*$=rE0AwY-#@Q^{4zbmV`kfTO6m+Q z9+S#Vs=eWO*<&y6{hiOAe}BsN*k8I&`K{mociWy>hZ?6MPd)PFyV|E8DF9Ldqy$I} zkRl*eK+1sB0VxDh38WNAEs$ck+G-%>K<a@M1gQv85~L<bQIM)2WpTB2K?>t)D}$5< zsSQ#bS6dyVJV<?z0wEPbN`%x1DH2j8q)bSiI26j&RthN<hgu=ULaK$73#k`}f*}<{ zN`}<T)fNq@8d5f-Zb;!cRE|UGIMj|q@i<hEL-|~7{g4786+}vi)DS5mQbku=Mx>5N zA(2WVr9^6p6cec?Qck3vNI{W`A|*v?iWC*8s;ez4Qdd`7SfsK@X_49@#YL)%lozQl zQedRQNQsdeBSl84jFcIvv#TvMQfXIPYNXakv5{&c<woj_6db8IQgWo`NYRn1BV|YG z?rIB<RNmE=9;rQ2e5CqF`H}h~3xKQuvINK)Ad7&k0<sLqIv@*ytc0sw3S=#i#XwdA zSq@}9kOe_j1X&VfO^`)FRs~rWWL=PjK~~1qE)B9au6A*d)j^gASs!G9kQG9f2w5ZZ g{~Z0(9QoPF8WzWRMQ6mvjEaek&WMY};qiXI0efH@v;Y7A diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Portugal b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Portugal deleted file mode 100644 index b9aff3a51cae6888cbd0dce88d4f2d1ace1e88ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3453 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 ViGM_J!zK*_8U^}C1P1WV^EbKv4f_B9 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/ROC b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/ROC deleted file mode 100644 index 748873bed9a167d0226bad2246556c45432880d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 790 zcmcK1Jt)L+9LMqRd3J8VWKkFtB{CUAc^K$S{uE`Cvi&@iMEWfTEG7@5Vo^r2=mwM$ z1CBfAJagyy7XyRh_dYfQi{JJCzpj7(8}9RVT01*R<;O|1Pq;V*_TqcGwzt)$I=$nx z=-sgay;rqh{Iz+q@Aa93a-Rf}I#e+GSqCH2=I|q5LK|D^=(I(L=fxa%_sGd&yE+{l zma~aTbKbVBFZwpsWyQT*mE@@F+%Ab^&Z%hJtd70}%*{nWZv7s0x1Of&mnzM}>$^No zt(m7_u{Qm0D*3%xQXWQCYIsDuw^vL?Xhvr`VdaW*#sBFe(iOG;N0gQXk)d%(;qLN$ zJ@Ga;Qr+lCy}hby9A5lB&hLX2+E-(Py?y`Y!=B!4lZ6b3jED@0jEM}2jEW44jEf8$ z(~gV`jf{;9j*N~BkBpB5Kq4R^kQhi1BnlD+iGu`+X(J(_kXT4CBpMP9iH8J4A~Fvl XImASQB2kgBNL=~%x^5f2sLcHdVF6z% diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/ROK b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/ROK deleted file mode 100644 index 312ec40a112d5ab54ea2d92d735735be4b27a44d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 531 zcmWHE%1kq2zyNGO5fBCeF(3x91sZ@v_w^4Ilb(tFxa6$<;gP@QhbP(Fe>@eI$at2- zT=87c=fw;Cf{GW<zhu1P52|=|{94BA_a+r@mhZ@TdtR*KUHhzz52l3`3X2maDCVV4 zP-=FXpzP;4fq{{UnUMtvGP43914B6n&_agt4h9wmhPnw1Kpv0;vRh{`@-Q&;EMVmE z@eN_{4h~`P0%C8M5Rh^>2qD2|KcKq)0|Cf~AR6RL5DoGvhz9u<M1y<`qCvg}(IB6L zXprwgG$;hXG%yrEG$<s%G%z$kG$=$sG$>R+G$>?1G$?dHG$@2X&H;rIhz5lehz5lg Ph^AeLaRGx;*OChWrb4=L diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Singapore b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Singapore deleted file mode 100644 index 78583666698a0332b822c0cd15daa58abf60eb27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmWHE%1kq2zyKUT5fBCeP9O%c6&ip<TXXB;UFm)k4sbn5IJNm{!s&_e9G5(DKZs5I z%2EIS|9?g%W)@a9R(5s<hQwH)dJxINz>rh`G9q1pkq1OF0Ljb>1|bH9x(N&t3=9Pg z3^G2xAq>GltZiTp!bS!l(ilWq0<i_iC=?Jv*x_724Pb}=fa(Og?|+?H@L~`R@(73q qc?Lv-JOrXao&wPzkAY~A=Rn#)9t6?#Krsfo`I5^9=yy9^3oZbMHDSa6 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Turkey b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Turkey deleted file mode 100644 index 9a53b3a39063e86859b12aa755b78cfb38a26709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2166 zcmd_qe@v8h0LSs~aUAC%)b)e#2L33-Ls3H@It;<Wlc5Ja>4}@+_AJqKI`%DVt8C*I z%*}N3aoJ>}IZ`4=&bD-ITIsP`!!UYMED2aoYqmKz{nnyi%&zbIskWMb)cUvYv*%vN zaq!3OKJWOtEt^WkO=qfpg`3l^Z=Qz|`oY>g(b<)iYj#~cZ6DgW!8yF+1*4}iVZK&# z!tN~$JFkb^?7pHRv+t`L_8UL%a*n>g$QWq5W)7tK?XxQ;%#Vf=#^B&F^W5cr<I^Xu zI_I|rj0=Y<&EeWK<6<n^`E2eE`}5-K&ZWS5dnE0EIdY}O{^I%(bM$<(F*a<Q<Hz^f z-+q76{I2DcJ+V2%{9$Iq7Tu>D&(`C1TH+PQyYgi_ealJHSN@if(fX3~R~||DC!ZF9 zP;Yl&bg`4E{B~Aw$jlm<ZDjXUnz!`sGj8q3GlM&~8@E5+nY^Q+Lfl#RTr#I%JaJdJ zIhpG{lbGhOPKI{vH$r3klldQBu%~zB7&G>4S2Le)QM0zKQFk{lSNFv3R|Qo?YWDn) zD$LJRbEZzJurDmb6VqhT<$#<!{EM9T!Bts&Voc8O`B*O4-L4jPyeaQ}s#}({?30Vu zzpF~0JfO;!98~42o>livPpFF0M^(j*$5bTm85tR0rYa}b$;I!@Q4fq($*SI3x#XQ0 zvU+EstmzVR=_bE?up?hR6ulyAH~gxW6%NX1t)rryrOtBSS*xz#%V6ELZ-VvS{$Tyk zKyby^hl4AR^#x<+&R7k5$F0VruUZecwg!zo?bah}U$j<j+i0zhoDRlgb=I2PMysj% zpw;waiM95Vg+^N{mGXGg{>zo_`}0ckX88Z@<((3^>GJu6$Scy{NRhW$qzf^x#4|;R z{8=Jfh{#gUZM-6K{{H%3-@|WX4RKMg?`U*24{=dkQm*eZ{;NJ7eSUxD{vhK2yp<09 zPIoIm{qcwTqe?ZsJ#Y!x4zeFty&+^r$d-^jA)7*Wg=`Dim#f|wvNL3B$lhG_=8)YX z+e7w;Y!KNYvPEQ%$R?3pBHKjviEI?vsjJ>9vR7oY$ZnDCBKt))jO-ZQE%UkQJp-FY zc8zQs**CIrWar4%UG?5MY~EGx9@##!e^=cAqytC`kRBjSK)QgmfkPjVMj)L)T7mQe zX@;xr2GS0sA4o%xjvy^TdV(|s=?c;oq%TNgkj}X3)*!t>nuBx)X%EsLq(MlBkQO05 zLYjnh32773C!|qGr(AWbkY2g!W+B}|+J*EBX&BNmq-99YkftGBL)wP)4QU+GIal2} zq<2X3Ty^)5_POf*Aq_-2h_n#tA<{&oi%1)hJ|c}oI*GIr=_S%kSKUpdo!F+o>*D_y O(99|w*XjjjnZE%*@2d&` diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/UCT b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/UCT deleted file mode 100644 index 40147b9e8349c50b9b5459d34a8bf683c91b182f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U33UzuGC~OJgPFnd17-@c0bD?H47dQf)dy|> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Alaska b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Alaska deleted file mode 100644 index 6c8bdf226900d7f4c6a4d47338e6742d4d6747cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2380 zcmciCeN2^A0LSs?B5>gbMG2`$^d$2B;sFJrC@%;CA^~!{36V--cUTDoWB5j5I&v#< zv^kuOj&p3aNjuZ6bS=7Rtxe1kZoP~}>DEk^uJtyH<aWNNw*IL3U!G^r^Euq{@9*nr zXn8uv`qv59zwmMn>X&=UZv7eCpXZ-Q__=MOsaX6zQ6^_kZE^?RSS75%Qn%x!6cN;& z?4HwJqJo=N`a^1yRA^D6-<chzoUd%~heu7T@R3Qk>xc8|j&H{N5no;vk^T|?ou|jd zU2mRqM;#s!cke&$zGqv%nA>u|9bMlpVk+9)_ZHNNd8upN^B1+M1>wuwu|c&eHa$8j z_Qzti@N%Mzn^>&wJL8n`CqmWzN3Tk|t3W)^J0=%-7m9=}-`R_EZ;Hg#=j^1IuSIg& zaXWc-My0wA*r`)rskG@fJAL$hm2vT9nK^V+Wu4qAm-M`-#H%$j+b2a%M~+-twnr?h zi<Y^`%_1-7SGnA|O614Qwezo}h=Q44><2$~iH9aXw+mI0didSb_9F+w)QTfVY<KIl zD%$&wEUrGURyH4&B}?8?r6oIL=}(tLS>~W!cJZvJh}>>hoE#RbuQl40uYI7_eAX?i zb{<oYzTF_J8~3T2Lxr-o(5KdR#ml<53gz)y((^~U^5$Na-fzpry7+*-?xQqOKYPh; z7>*E6Or5nG_g)uIjt<-Fo5#h5p+0+K)%U8Y@0ffl^Mcys+b5eNmD*h9lbf#%C|`1g z^nKE)TAb;!WyGttT#1y=9O@9yj;Gnrbv-7wstCK)yIi#OU$@)y7KrCt$L)@o8PQpN z!tM;rQ(gHNWY^Shs(ZeY-J_Fg+l>Laeds;4<BLwYv*&fS>y%gatnXDX4CYHm&>Tl_ z$gQ5xFz0Q20)dWh%hKPCR&XHD+vW%}-w5+dl)1<7wPFK-{@spvb5B@P<*|zD^!vDe zYxG;rALS(;tDZ}xz7$pJn?4RcoWCxf|K6HQ{{t^)K)>8mZt#~r0ex1Sx%nyX>MJTo zHi+!dsJDph5zQvKuuG2KCa_OrqsUH?ts;9xHjC`msJDyk*Qhs)>=@ZHvS(z|$gYuX zBl|`+j_e%SI<j|U^T_Uz?IZg~8h~`bs9RvvJwTd(bOC7t(g&mwNGFh1AiY4Efpi0D z2htCuAx7O1q$Nh(6Qn6fSCF<KeL)(7bOvb+(i@~XNOzF-ApJoagmegLkx};uX%f;U zq)kYlkVYY$LRy9N3TYP7Eu>vYzmSF*b;ppF8FkN)rWtkDkhURxLmG#44rv|IJEVC? z_mK7>{X-gP)Ez`xXw*GKnrPHrMB0e-5osjSNu-rXFOg;<-9*}n^b=_)(ov+PM%`1S zsYcyZq^(BXSER8>XOY$-y+xXfbQfta(qE*(NQaRY8+DJ7CL48^kv1E3pOHo*okm)X z^crb4(ru*OmX3FDP)O*l9%p#iZG0^2LmkQgz2W~v{O_BKx);#-jH;zsIawm3DmyzX IJ4?9!1Y+B7Z2$lO diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Aleutian b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Aleutian deleted file mode 100644 index 5696e0f8bedee72515c43f686881a561af339db9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2365 zcmciCZ%ma{0LSsm-^)cYDj-Bm!Hl7RhrdBt9tc86<UwwrWC#iolmVg)3ox8hdC{a; z&Wf15=#OjEF}7yX*qNL2g>zkSYhaF=n{(Efu39oj-p=>b){C0&@;rN<&*6@@zpuBZ z`Na&^zmCWJ!pj*jFZYBu%;$W6p>J}<Z*7zHj=VkjoVs(W-SL0wm9ArzPQc+D8Q7KW z1hsF{!SxlskcuoFnxE-&r^jgbn>&4;$T{s9x$cDDyrdWWIPF_FeM?5@G2f!Er{#So zrku!k$K?I}r=17(ejp!g9&)0#?32+Yy-rMCy?iLS&WTOz(ThC=PF&zN9k)7hdE76K zUUDT<#ZPAFrDvkm!(T?}Wgp&B%R7r@Lf^DXtV)(ET7DOg<SdXYOQ*!6(X%pX)oGFB z_vqyCA(1@uvtIR6uUI{PL8n}NPo)ljq0>gY)tcV7v>2>a=}n)@j1H+Xiw9&@WunSX z+9h)`gVkehugr~45V_ZKWZry`c>G+feB%47Vy(*3PmY}vPYuNAb?=`LvUN`9A2_QD z$}j1s8$MBmYrfG%h5f4N*Bi1p^<z<daYB|v92O;`qq20iMLaw7t={n6K~>g$Qg8g~ zB~`w4P&-FURmIvpdQ)eLs*JDJ-l|2)JD;bkvTv%Yt5tIIvIw#HY_8mL=Z2{HC{8{< zGa<Gfn3pe%kBZuc8M$rv9Z^?yTh|{tskWzH);pR8RYSzMZY<uT8fTB|rle}sbYZ`4 zcIT<)kp|szZHapMXrFw=mn(L5?vSslIMG^FB-@V6i}su(xvO<Xbi{b%?s6@5`&a7D z+{>!-2e<Bu9amlB*Y)1H<Lb5H^ZNCv{i?fnME9I(P`$NB^uA-ysDQwrfZ&k3J)vRl zd-(YMHQQY-zrWFO1^fLSbpc`ayU_j;Y41^dU9o<DUt7RZdtbbv%<I}%Y2Iq{I$l?S zxfc|AUHR+HWxctW6TpY_*TwtaBMUeGz{`2tyxbG!_{$u>IqS~+F@ZgYYHE@3Ap^9U z5h6oGJ4P-Hl4C{*3=<hAGEiis$WW27B7?P>(IUgOn(-n7Mn;Sb85uJ&Xk^sLu#s^i z14l-V3>_IeGI(V4$ncTzBLT3Q2v|)BkQg9AK%#(z0f_?=2qY3nD3Dkn!9b#cgae6( z)dU2Ih}DDyi3t)EBq~T)khma$K_Y{M28j(493(nOc#!xY0YV~VH6cP`gaiqR5)vjP zPDr4TNFkv@Vub_?i53zrBwkh%FeGAD6EY-bRueQNYDn0SxFLZ<B8P+yi5(I=Bzj2r zkoZ|m0Fek<O$d<~T1^m<C?a7*;)nzii6jzAB$h}pk!T{}MB<4A6p5(SgcOOX)dUrZ zs?~%Qi7OIVB(g|ok=P=^MWTy@7l|(tU?jp;6JjLBRug0-%2pF*B+f{nkw_z<Mq-Tw z8;Q2dR695@B=l~N+Y@#VAD8R1EA;XIiuXVD{`(eg%APJv+EdCh(=yUTN?Ce(T6&rY F{}YG!e4hXS diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Arizona b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Arizona deleted file mode 100644 index adf28236a2feb68f177f5b002ea068db59eea997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmWHE%1kq2zyK^j5fBCeZXgD+1sZ_Fyk%As=I>^2SkNXjVd1Qo4W~PKCY%?)FLS>C z>6#0TQZm1OlnVTQ5y8O32!zZ)$jJ2n|Fm}u4FCVHUckum|Nq<x3>;uKkB@H%gRct^ z2Lo|<2+(i{2qEkw9-vCFlYT(;{0D+K7M=|t8stO}4RR)k200Z(gPaSZK~4tIAZLSV apwmG#$oU`|<OL87@&+aT-~xKgoC^R+MSyDn diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Central b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Central deleted file mode 100644 index 3dd8f0fa82a60710c0711f35dee93ef5013ca796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3585 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 F{Ry|ZcJBZH diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/East-Indiana b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/East-Indiana deleted file mode 100644 index 4a92c06593d33d3969756f482e5d3d4b773984ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1675 zcmdVaT}+K}0LSs?kk@(LFc&RW7jAmD%q$zL)}m8hP9)@yXes=a&Q2uH1yVP-Da?{F zud{4KTr|uuW;Thu)jw}D*7heCne9CO-+%60xN+k-d!Em8&Q9xG{Ju}1pk!mR^T#p5 ze8S1G-kjV=y5`b!I@UdY<A-eCH_knA^p$+DJlcKGl_?+Y54%rdzRM?TN9m5re&^}D zFS;|Y(|I=ik$#?X&FOMl^oz+yoEPelei?3cU)`+Gue%%FH|Gw@?)ECTr><P8rj>4Q zNkG1>nd`pGnkC;CPIEtfo1#CP{~m6O)ZQ6SIgMfMtL;_k2|<~Wo+dK-&+5#$H7c{C zUT2M+ud*(e=>>f;YT>aunf+{@@K=}0oU73yca>i*YKRbvQxoKp%8z1c<U|?ByDtJi z`{lBf^J3YD@j5^1uFAjjRj&x2RRyOy^vdpfwQ5hRUfo`%3X2-`nx-5j{8!}K+ETGD zu0gIZ_KTviA-N$lL2T$Nki|15isDD9vSfI_D7hFVH+}3Br44g*+2gNjb1+hGY3Wc~ z^TJvlXjR)%lrG=es46Dk*4uNd)b?<X49;#4!R}i!G&Lkb?I&f`K!MoNv{&xzN)^>L z#d23$l&C4plDiK(Vu;VahDQ9p8GJi<9X4dx@PF{~yp}nR<9XLF`64{;LbEf{-jA`@ z30$2?o_Fu2Z)&zb;H0ISbE!F(n{!dX$uRdB<}(hTy+Yvcb1O1mwsRX8{44VdJg;zQ zxEYxrGC^d9$P|$|TFoSpSt8T4nt37<MP`aj6`3nCS!A}zbggE-$b^v@BU47^j7%Dt zH8O2v-pIs}nIlt2=8jAr?d-W>`W$BdKmtexND5Yy1CoT*WPzk%HF+S3AekVkAh{sP zAlV@4Ao(B(AsHblSxrtzQdW}{l9tuvg(QY#hNOn%h9rk%hopz(ha`w(h@^<*h$Lw> zSt4m#O`b@iR+A}`Dv~RbERrpfE|M>jFp@EnGLkcrwAEydq-`~MBZ*s0=1A&D?nv@T o_DK3j{>UT1`A?q#qs^ls#XK5f{WIf};}c{3NlEcZ@rk2<0ei4<R{#J2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Eastern b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Eastern deleted file mode 100644 index 7553fee37a5d03e9163ee19b1ced730a02345cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3545 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 SRPU&s5#C<CqIyO34E!5Kf4#l{ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Hawaii b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Hawaii deleted file mode 100644 index bd855772054f8d41e0158e71c2bf2c04e50e47cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmWHE%1kq2zyK^j5fBCeHXsJEc^ZJkZdPZH-HL?~r#o#=TuSt`xY}Fn!N>%J%>V!A zFflLy$p{9P|NpBp7&-p`FHT@!@$n5|@CXKCmk^+S2nZo;D?3mn*w!CVJ^z8A<Uzqc h5Djt#m<GB8M1x!dqCqYK(I8hbknSulpgRo>xBx^rPJ#dc diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Indiana-Starke b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Indiana-Starke deleted file mode 100644 index cc785da97de0a5614613f9ba6e502d7dc5f525b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2437 zcmd_rUrg0y9LMo52q6eaCWd5SS}_9&Y$$E8wFP5`#6Nk!KM+Q0h-E%1kf_n))+8^Q zrA@&a>LQnGhSpSU3r(rDnlm&BQVB4LS;(VtK}zTJydN*KKlgpv@4U_qC|931-bH24 zPm{k~i2a0z+hrf#$7uUfzb{Ge{`7aXXLF?9yX%7b=5?PwJ9$u@EeSQ}^Uq7$#M9>c zw4>54jiw{IPCB~YGC%kZ>kB8=nv0z~^`-r9s?O#r{o|H3s;j<Gcb9opPj#lg?3u29 zDvsAz=4Y7RoDBJSMx5zOh?Bk><IGk2+po3`nO}N)<kz+q)Bk0QTsz*a1{%Ax*?me~ z-+EFHF0N5Ghf3vEpT`Whd*qL=5{<7ZQT!i77^#hrfSLgl`0{{^SRJl{N=E76IoH%( zPxR}Mly6nY8wolz>SGmp;5`X5Z>v#V+jV%yK@)MJLPs9kW=8MdCQ)_e=I$-!GN!7) z+*4K{V;82IXivI~dpy?MJ0(_PCe2XeM-EGD;CK~#BSzoXeM?Pfy{Yg2{E~`0bWz9e zJ+3BJj+O^D?NyWVugl~WpP2{K&dEc$yUoMVhb7^WO(wzDs;7i4F<FmRs_d+}D*Lyi zk~4Ls$vIaio`~7T^T`Iu?N2pNy}MJ-Y@4O>Hdg6bM^e=6qC!1q#~3v?BU3+JF{tKE zh}YiyHsu`-&;@Bts^ChTEQtHgEcilXq3?)U)X*b^owcUuwHA4%dA%uKx=$9@7nx`C zPU@1HD)rpd2EC-TP%Vwvte53vs%8Dlb!kGpDm|U6%R&NF*?}azqW7|TVTVUvJmWVj zD--3V#%{B!AVSpEQ)YGAfUH^dzF8aHD&@0lOu4ULSEe_p%FZ)-UCd^+uKAFz8d|Q_ z*KgMw+H=*$>I(fzQ<ADKp08i6jZ}dF_G?6tgSU773jUkV@BGv5)8K#j-hcYv{Qi%= z7V-O!9SjKa`#;<xBi;LO_Zr2kjJ^H&%sj6=nPs1O_L*;=IbO-O@3{c?3f_NT-#hk) z-TH=Z|1103{r=(+zCFkqkwqe_M3#xH6IrO!t`u1+vQ}iV$ZC=0I_-Lq1tTj)mW-?! zSv0b0WZB5Nk%c2GN0yGP9a%iGdSv-dyMCkqPFn$_1V{~#A|O>j%7D}XDFjjpq!dUk zkYXU!KvxdlP!G-)grg!zNjPeP6a}dYQWm5xPFonHGEQ3>j@lr_L8^n42dNKIAdU(l zCE}<NQY4NlA!XvI6H+LSN+G4<sFl+e3#k@TE~H*a!H|j}CF7_WQZ$aLA!XyJ8&Wuq z$~kT6klG=|L#pSr<>RQI(-x4Uf=*jPjv69GM5>6C5ve0mNTiZTDUn(t#YC#<wB<zV z>9hsqsHoGHl%u9dQ8}uLl$E2dNMSiDi<B0rEmB;hx=4AE`Z{fakqSF)iIEyRZIO{G zBW32OGg4@dN+YG_s5Me-j%p+2=BT&R796R#)0P~mxziRMsX9`2r0z)Jk;)^bM`|yw hy#I^bhuOad)9qh{q`b$HrzNK(<)x-3rzWR_{RxkBPOAU_ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Michigan b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Michigan deleted file mode 100644 index e3ea5c3ef1219fdc1b6e6663d2bf3a38c27df689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2188 zcmdtiZ%oxy9LMn=L|_+4C@EB;f{cOux2tHk!hjL#71N6;njQ_jyF&3zjX@dOf=ssN znhtX{mT8S@jnr(pim5qkYh}tR`!hVX#e)`gj2^hy_;ucAJ?l}=TKDdp*WKNIyHD=t z9chehD);{JO0?f_c=g)D=ggh<>iIBd&4JK9@6%_ET*&=HE~p9pb#TC3^bYF8%1e?| zdRiqtH(jntJFEiUAqkjgRI=`oly6?qsVAdy?TKzZ_4TJs+JQ|veRs3DuJb;9eXQ0@ zTV0?t>hjGE^HcPV`N<|TCtppUGG=DPC#xC12V~|CV=C+XFLKkVb1M7D=W_GGBkGoR z&)oXdUX|1EqsiSosBa6NF|!suuW!$I&Eyqq)p?U2Nq(R~=a0N91wYTzvxjy`;c!G1 z^~a?6*j!c8wOC5`W~#Di)Rb@eQ_ZQZGj}ZiUIp`Jo4MsfYF<*RshIh#t{DBz%%Au` zFF1SN-1%L<4h{Y)cfG$;-@WGxx#z`=y0Y!4EbQK)?ycV^RZSaIbxFI_R9C5*@c~m? zv|iT^_nNxYg}Uxot64Obs~5ktTb6uPslwY^Wa+y(s(x))mh~m5`$HwN{IOBBA}d`Y z4WFpU#JH>szM)qBG}WxiKC4%qxolQX4(P_i!)DD$uU^}I+&nncs@FB`H|zVCY88G* zHtcFq8;knnp=ek&rFKYjZHa0gYm{hSx{7`ll33!nioKOBn@7J?Eqx12>$%JN;r1-^ z$l$PUYnU{$=eT|}sLhtP{d#N0X|t`qQ*WERB<&S_s(s{?bYym@j-f-+d8JW3-rpln zTnwr0T~T@Ry=>LBu1<Em;3+RI{;GudtN#OU-#<Fb^L+o!m%RkvKk>FV#rHox8JFVj zG<Q#15{`IPD<WPE=K*_`*;5^{|8>uc`}>aki<Mk)&+x0h&svbhAge)^<FxBR7KE&b z$5|4xCZ}B#vMOX*PP;B-VaUpmr6FrW7Kf}3Sst=JWP!*EktHH)L>7sx5?Lm)PN!Wc zvQlKJ$Xb!bBCAD~i>wz}FtTD~$;g_KMI)<r+GQi_cG`s_D@T@&tQ}cAvU+6s$oi22 zAQeDLfYbmf0#XH}3`iZEwh%}qkWwJEK#GA>11Sem52PSSMUavpH9?AkRK;n_g4D%n z3xia~X-k9D1}P3w9i%)+eUJhn6+%jc)CegOQYEJ?6H+IqEfi8Ir!5syE2LORwUBZl z^+F1UR17H@QZuAzNY#+CA$4=w!XcG&+R`DlbK2q|)kDgM)DI~jQbDAINDYx9B2`4n zh}6+(3yD<HX-kRJ(rJr{R1+yDQct9yNJWv7;{UUz0h`*OO>AL!PH}m0X<@jmthlVW GH1HR^1#Eo) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Mountain b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Mountain deleted file mode 100644 index 7fc669171f88e8e1fb0c1483bb83e746e5f1c779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453 zcmdtjeN5F=9LMnkqQH%ZQ;8v<nU)CgtR#>b8FWLuL3o9$5k`URY6U)Y(?UE3#rVT< zR*YFDf|Ayni4SWwHq<p-TiG0LO>3b&mt~`eO%k}b^FAy8>5u+w>&t$;e%!&IpEvGR z-Zfd`A2->2!ozi$hxe(9ANJ?zJ^i7o`=tck^V$z;Z>?YNYndW?3oq&3_WkO^wg^2m z=l6!8>R53#-KR(Ab%;NrJ^EUhPh1;)Mvi^&5##48<irPg!hbwh2Hs2%VrRSzYW0iY zXD8&O^>Hesdb*xmI<BVVkLl2iVHLU~TZhY&D*WJK=@{9oZn)H=BQBf}ktdsV)O$T5 z`mJs$Uu_mQw!I*4+EOcS_SVR$E1e>y=m9w`H%Z)*G*8CPE>zRQ9WpLBQN{f_SI2)D zt`dgA^o&zKs+or`>sx!ys9C-l^0w`V)a(@jIcM!h;`Zz><Q+@j5p!eSmx;+*B>FGv zB*zAkG<-@YUv`T-2lnZda}6rB>qVV*v`nQp)#;2^7O2d+7MZninwsxiBNvp7s_euE z<y~2ys)eD+GAI73$oVcp=8jzud8dDtcYoF|7WFywJ^j1I;`X2Py}P!F{Q8geeJ#7x zl9E1sf6Z1^kp8kRELg1ye;bs})JEYvcR&_JR*9mcZF1?Ad{O-R8+zF%mCDuFsvmlH zu_~$b>e9|x>fuGjy37}>mM5fY_lmETdpuf~XP;K(-=s*-%&&xJFiNiU4~kX2Bl3~q z1ER8JNIp8yCaP+V$<<x!#AB|ry1KPhJ)U|*KT+pZHIW^<)>*7-ulRIbVydb;<I&#G zXyrYar`LY_i(1!NA)h=OC7$x-%BK&Fi2Cw)+0Z^D)@M)14fV&w#+Zw8Q%R@T<R8<% zoFmFN{JGv7+o3iOoX}fFed@Wc9{v1zk7{gc)?1I~sivx0y=`ZL3J&_~Yf{Md*S|md z?+pZYcL)&(yxkoXV&1g~v+oi1yIkgS3s-@8mYb)-Jf&{4A|Zn8H}}7<Z;$y!yS`EW z!d$>yRY*i1vPNW)$SRR#BI`sJimcRXmWr$uS*+Ep7FjN`USz?@imhhJ$eNKwBdbQc zY+hJ5XBG~uoMY+8+L6U0t4EfPtlw%1fK<S0N`TY=DFRXjjxr#1;3x!A364@AwcscQ zQVouBAobuV2vQNGBuGuHrYJ~Nkg_0kK?;LZ1}P0v8>Bc$bvVj{)Q6)$NQJDXL`aRS zrbtMYILd_72`Lm(DWp_Lt&n0N)k4aJ)C(yXQZb}tNX@LKXh_vK%7)a9qi{&&I7)}q zj-z-;^^o!*^+O7XRM2Wlh}6((iilLvYRZVzk)x1EC6Q7hwM2@ER1+yDQct9yNJXut zq)1Jzrl?3&t){F<T{#MiRF<Q(NNqWai&U4RyhweK0wWbhN{rOlYKn|h*=ov+)Y)nZ zjZ_*bHBxJiVk6b&C^u4Xj)Ef<=O{T+bE_#jQgy2-J5qP6DLhhnr1VJbk>VrON6L@X jUtDkg|1SRy^Iu`1`R|b8nxB@HmXYGh%uLHn%W(V&DI1f# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Pacific b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Pacific deleted file mode 100644 index c0ce4402f60a135017d49933afdbee55916b9be3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2845 zcmd_rdra0<9LMnoMG+J|nJ5w3NlgR+0Y&jr=52tAs33_MUJ@9lp+cx-NQ*LS#+S@X zH#(ZNTp60PSrnlyS8J9*bKWAdRHotuE%DOxbl&IR{^;-4d3JuU-=4vr&-;@(yC5&Y z^N-WPe#7N_W-sqO%Iu@+y%h6yO^BH1qs-RVugiDq!c2X?YfJ0r4^T(E#dD69?Udu* zujE9XsFRKF%FjDKl*Zb%^2@rHrKzewel1ukr%ETwZ>cln_na6x9XV9aBu`RjyH8im z5z(r-b%;6_&{dtQ4^ijOTviu$Uso*$>(#}|W9m}%MY+7JMqQ~mEUjzy%hke<<=WhL z<d5`M<<BwC$@Re{(l&6Ly3uWx-0W1YZnizEZ#Czs+edTtU*DuC@4jU1dp}BfwnS>b z7rLl+D?97<%La=7{0P%wdXRJ+8)yRJE=a)o@g`7xFM&J1)IpbbN#~|&)8*J96<k+o zx_(-%y6yN#tJf;k9qUAQUsa^;ELg64WY1I~shPUxh~cVN<S-rDH$(0U4Ao)n5+$s4 zsJZ)8FA1;jX?pL!A$@kYnR~XL5M44z-}}rL(l;wu_gi#a^-sK{@0;|w8W8fMj)<yK z5#AOP8C0es8-FlS=N70zwYyDpL#f16Z7{KW=E>mFCrsRiaT1^ZicTo%FGG@x_0Wut zk{FSthb1)2@PH(p6y8B4oek3?Zk<&l58l?JPJF9I?+P{d*L<KJsJLmyys=(ASa{Nm zE#D#I(reB5g)hm3!NyFSutX+aZP3XvFRJ8*y*f2`u}a;uSx;)2swTg=$4oi0NYYks zG*dsBBI$Ehm}#40W%}rBGowUFM))X`IkQzVZ}&D?i9bo!>5+O?pDSwC*Wo(b+n{D| z_v(im_o_MNP5P1A%_?W%0X?^Bm715<Xy&ioC<|ih%%k}$WMS|&lbf6^xh>@;KVp>R zAIdWY0llSQXNp;L#wU+$%GHYxhpQze$@=kXuPV%n)JrRx)Usin_42|4swkvI7pHGm z#lApOl2j)pjpxnE&~37^_K;cCRxVFgRhy@d=E>^PO7rx-6e-OqGHbR(NjpFLY47jg z^}qA+`6>r^JU-uB;^*)4Rg`%;x%V#asivf5dZtaVH^bhC?46crf6*R~pL=BfdkJdn zAG#8>@gMg1?8)&Dt3%3w)B!03QVFCKNG+VU7)Ujcav=3U3W8JwDG5>&q$o&Lkg_0k zK?;LZ1}P0v8>Bc$b)2?5NPV2PKuCp<5+OB0iiA`NDHBpBq)<qukWwMFLW+e{3n>>; zFQi~jTQQ_$NX?L<p{p7%l#OHS1{4md98x-@c1ZD%>LKNG+WH{{blM6cB}8h76cMQ+ zQbweXNFk9*BBexXi4+s5CQ?qMo=8EFiXtU-+L|IoMXHLF6{#yySfsK@X_49@#YL)% zlozQlQeda8Fj8Wttuaz$q{>K{kvb!VMk<Yz8mTo>Y^2&qxsiG!1xG55l-y}+juaiK zI#PC|?nvR0$|I#mYL65jsXkJEr2fbPIPD4`OW?F?fGmR3t^%?Q$T}bkfvg0w6v$d2 zi-D{LvK+{IAPeHOD}pSE)2<1!C{DX7$g&{of-DTOGRV>(YlAEfvO37}AnSuH5VAtZ z5;^S}A&ca+tAs3*)2<V;P{>LlONFczvRKG!A<KoV7qVc;iXltpv}=Yen$xZtvTRPf yZpgwRD~Bu{vUbSgA*+WhpT}+8|8Dw%>>?)FWsFW65}Obk7o8R#9~&PV7xXtE&6qp@ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Samoa b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/US/Samoa deleted file mode 100644 index 3e38e97c97ddf5e054fba822cfce1c5ccd422e3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmWHE%1kq2zyQoZ5fBCeCLji}IU0b(MAqLNj6ji%6$}jj|HuCTk*NU;EIz&=48g%6 mKouYmLfBN84IDrtz~Da+<k_C!0MQ^@7zkU#1+>x7kP855a3xUy diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/UTC b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/UTC deleted file mode 100644 index c3b97f1a199421d6d9625b280316d99b85a4a4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U2@P=uGC~OJgPFnd17-@c0bD?H47dQg2nTKe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Universal b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Universal deleted file mode 100644 index c3b97f1a199421d6d9625b280316d99b85a4a4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U2@P=uGC~OJgPFnd17-@c0bD?H47dQg2nTKe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/W-SU b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/W-SU deleted file mode 100644 index 906bd05f344ae9a806c1b20b8e2bfd7061d35fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1544 zcmd^;&r4K60Dxy*f3=#`!F1C#&2)9u(lt%X)va|EQ%iCyup%ju1f!vX6gn&+cBw!L zJXof*>Y-mAs!LW&1QJ<z=n!ZSL<b9G2%=Q_G2b)M>d+t1JZ8SxdGE1@_kF&GmS(5; zYpl{IOvX+<*{A#U(sL+j^lIs+_Fl*IOz)TCmTMjRX8K;YPW6joe}BoKJFxOtFyL|y z55yiF9&nk1LrLDcdjV@>tbJ&Fb^N3|E^?wSZgxd5{zJ^Tb;9FbGj?e_VWdwb-t1Dg zD`!>G`IBnxnI@Iox<{oPs8H)_HmlT<47EPns?riIDm`jW*~9G8{yAP|ypQu|wmtS| zzM7Seryph3-AS1pcp-BxKav|d?#PX&`ebfXm&`jjqMRqXRlciNZQ9+g3T%E==-jUg zza3UZ32n0IO}Q$bYmi$WrmL+JC9-7DBV7-YWNBxbEb9@{-5epebtJ0o-YMxh@?Dju zJ(ph3TU8NuOID^nQI*rrRFyfPs$SkuJKlAw>f0Ao&DeEWd-1sP)z}(M<`8peNN8Ai zL}Wzxvhaxc%M!KZieA3t$I=^r?qe)Mq!#NB!5S(=-Z@jG-k)Y))@_OwqR4I1U(1mz zVi)!mbtbD2iOItD`?(|6l(KMM<X(K9cWY{WqLx{&XE{rKxt`S`E4M&+y*@qlp)pLX zrungWVC;nO{oAiy`ccELufN{;p~v3)!BL2B5a%G?8Px7U{DU|M@z9`l5#pmk?IgrY zgW64qpAbj+dpw1>3h~vTb{66-#9fHL5QiZiLtKXV3~?IbHN<U*-w?+ko<m%R_zrR2 zp!Oc(KE!{6x&cTBkQN|4K$?Jb0ciu$2c!{5Cy-Vky+E3QbYoDr1L?=0ZV1v5q$NmC zkftDALE3`!1!)Y@8KgBxZ;<97-9g%e^k+~v2<gzEZV}QWq)AAZkTxNGivKxKi;g-c G-|`bm1(CG? diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/WET b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/WET deleted file mode 100644 index 444a1933d72525ab3045980eab2fbf79266cf158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1873 zcmd7SYfO~|9LMoPjFl|ukH|&2RYYK&;BXBHyo3jafr=afFGLD*NunTP;3d{#&J}aN zHkNb7#Kl;1ioU>l0qC;JXc}v4tWhyHU1gU!H+6IwThI4->nmT?b9VN5cDD2G|NRBF zw>D*Z?s*<?e&Nfr&-wDcWa&tQ!ronJkM#RxUAYQxOwqDHj3O%5+w!cx6`AzAq9T4& zbnw@TzI{P4*UxIjx5HZb*?WqeoU*vnV;29x2}>A|B_4Ro9&PKi$96W@<K+QMD)ieE z-dszLOR*;(j<J-GVx`>8R_ag5S~VM`r@nYlPmlj8@5rxuX7GEZ^<P$c*Q9)nXOvMl zXPKSjmQ^%i*<0SXocJNj&Frz<#Xif69aP@@F3bO?TLn|a_S_G(Djcm>(L{k(A6ln1 z$K$lNDM{=4^X>VP5EVDZ+WO>Q<S$;dl8~=dnsn7lZ~km$!Jk^$%(QK|{-M1vcFM}H zTvWx80o!=`q&Bs;+vb6{Rax_nwzTb0)w691l$UC2^hQ;CSE+izr`pI8tNm`7w%tv& z?H}LKj@eM#IUH_v<A2zTeYdTCaK>J$pS4{Ff79+YpIAfP6*VRvvpq#)YI^9rn&YMB z8%Nc$*s0d(UcEdY(B6-BsO`%Rd*yJE+DEJG)s{rPb|}X>DhsW%DcWAoNU$#dU-m}0 z$GX!a)qU%l^@J^`=bO*1_vW1Tog20NGZQ*+?2-<S4e8C^5%nGElPBmu`*^}Eh@10x zLTda~0Z)xT;0bb`z<r!4|K?PYb45-TIa}m(k@H1P7&&9)l#z2rPTJKuYvi<%^F~e_ zIdkOHk#k2*9yxpD^pW#N5<oIQQb2M*l0dR>b<#lcKoUVRK~h0-L6SkTLDE6;K@vhT zLQ+C<LXtwVa&^)|@^W<&Lo!2BLvllsL$X8CL-IosL^4EDL~=xuM6yKEMDlcX5=Am~ zby7ugMUq9bMbbs`MG{6bMp8y{Mv_LdM$$&|c6Aa*GIw=SM{-A!N3uuKNAgD|0GR<~ z3XnNKCIOiRWEzlpKqdm230G$-khwr61DOqEI*|E5CIp!gWJ-`ZK_&&66=YhFc|j%y znHg7SYLK~cbtVUy9b|ft`9UTKnIU9~@P9f-q0TP(7$|Q=R$5M)FFnIsk>TSl^j~E| Bn416q diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Zulu b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/Zulu deleted file mode 100644 index c3b97f1a199421d6d9625b280316d99b85a4a4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 ucmWHE%1kq2zyORu5fFv}5Ss<U2@P=uGC~OJgPFnd17-@c0bD?H47dQg2nTKe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/iso3166.tab b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/iso3166.tab deleted file mode 100644 index c2e0f8ea..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/iso3166.tab +++ /dev/null @@ -1,274 +0,0 @@ -# ISO 3166 alpha-2 country codes -# -# This file is in the public domain, so clarified as of -# 2009-05-17 by Arthur David Olson. -# -# From Paul Eggert (2015-05-02): -# This file contains a table of two-letter country codes. Columns are -# separated by a single tab. Lines beginning with '#' are comments. -# All text uses UTF-8 encoding. The columns of the table are as follows: -# -# 1. ISO 3166-1 alpha-2 country code, current as of -# ISO 3166-1 N905 (2016-11-15). See: Updates on ISO 3166-1 -# http://isotc.iso.org/livelink/livelink/Open/16944257 -# 2. The usual English name for the coded region, -# chosen so that alphabetic sorting of subsets produces helpful lists. -# This is not the same as the English name in the ISO 3166 tables. -# -# The table is sorted by country code. -# -# This table is intended as an aid for users, to help them select time -# zone data appropriate for their practical needs. It is not intended -# to take or endorse any position on legal or territorial claims. -# -#country- -#code name of country, territory, area, or subdivision -AD Andorra -AE United Arab Emirates -AF Afghanistan -AG Antigua & Barbuda -AI Anguilla -AL Albania -AM Armenia -AO Angola -AQ Antarctica -AR Argentina -AS Samoa (American) -AT Austria -AU Australia -AW Aruba -AX Åland Islands -AZ Azerbaijan -BA Bosnia & Herzegovina -BB Barbados -BD Bangladesh -BE Belgium -BF Burkina Faso -BG Bulgaria -BH Bahrain -BI Burundi -BJ Benin -BL St Barthelemy -BM Bermuda -BN Brunei -BO Bolivia -BQ Caribbean NL -BR Brazil -BS Bahamas -BT Bhutan -BV Bouvet Island -BW Botswana -BY Belarus -BZ Belize -CA Canada -CC Cocos (Keeling) Islands -CD Congo (Dem. Rep.) -CF Central African Rep. -CG Congo (Rep.) -CH Switzerland -CI Côte d'Ivoire -CK Cook Islands -CL Chile -CM Cameroon -CN China -CO Colombia -CR Costa Rica -CU Cuba -CV Cape Verde -CW Curaçao -CX Christmas Island -CY Cyprus -CZ Czech Republic -DE Germany -DJ Djibouti -DK Denmark -DM Dominica -DO Dominican Republic -DZ Algeria -EC Ecuador -EE Estonia -EG Egypt -EH Western Sahara -ER Eritrea -ES Spain -ET Ethiopia -FI Finland -FJ Fiji -FK Falkland Islands -FM Micronesia -FO Faroe Islands -FR France -GA Gabon -GB Britain (UK) -GD Grenada -GE Georgia -GF French Guiana -GG Guernsey -GH Ghana -GI Gibraltar -GL Greenland -GM Gambia -GN Guinea -GP Guadeloupe -GQ Equatorial Guinea -GR Greece -GS South Georgia & the South Sandwich Islands -GT Guatemala -GU Guam -GW Guinea-Bissau -GY Guyana -HK Hong Kong -HM Heard Island & McDonald Islands -HN Honduras -HR Croatia -HT Haiti -HU Hungary -ID Indonesia -IE Ireland -IL Israel -IM Isle of Man -IN India -IO British Indian Ocean Territory -IQ Iraq -IR Iran -IS Iceland -IT Italy -JE Jersey -JM Jamaica -JO Jordan -JP Japan -KE Kenya -KG Kyrgyzstan -KH Cambodia -KI Kiribati -KM Comoros -KN St Kitts & Nevis -KP Korea (North) -KR Korea (South) -KW Kuwait -KY Cayman Islands -KZ Kazakhstan -LA Laos -LB Lebanon -LC St Lucia -LI Liechtenstein -LK Sri Lanka -LR Liberia -LS Lesotho -LT Lithuania -LU Luxembourg -LV Latvia -LY Libya -MA Morocco -MC Monaco -MD Moldova -ME Montenegro -MF St Martin (French) -MG Madagascar -MH Marshall Islands -MK Macedonia -ML Mali -MM Myanmar (Burma) -MN Mongolia -MO Macau -MP Northern Mariana Islands -MQ Martinique -MR Mauritania -MS Montserrat -MT Malta -MU Mauritius -MV Maldives -MW Malawi -MX Mexico -MY Malaysia -MZ Mozambique -NA Namibia -NC New Caledonia -NE Niger -NF Norfolk Island -NG Nigeria -NI Nicaragua -NL Netherlands -NO Norway -NP Nepal -NR Nauru -NU Niue -NZ New Zealand -OM Oman -PA Panama -PE Peru -PF French Polynesia -PG Papua New Guinea -PH Philippines -PK Pakistan -PL Poland -PM St Pierre & Miquelon -PN Pitcairn -PR Puerto Rico -PS Palestine -PT Portugal -PW Palau -PY Paraguay -QA Qatar -RE Réunion -RO Romania -RS Serbia -RU Russia -RW Rwanda -SA Saudi Arabia -SB Solomon Islands -SC Seychelles -SD Sudan -SE Sweden -SG Singapore -SH St Helena -SI Slovenia -SJ Svalbard & Jan Mayen -SK Slovakia -SL Sierra Leone -SM San Marino -SN Senegal -SO Somalia -SR Suriname -SS South Sudan -ST Sao Tome & Principe -SV El Salvador -SX St Maarten (Dutch) -SY Syria -SZ Swaziland -TC Turks & Caicos Is -TD Chad -TF French Southern & Antarctic Lands -TG Togo -TH Thailand -TJ Tajikistan -TK Tokelau -TL East Timor -TM Turkmenistan -TN Tunisia -TO Tonga -TR Turkey -TT Trinidad & Tobago -TV Tuvalu -TW Taiwan -TZ Tanzania -UA Ukraine -UG Uganda -UM US minor outlying islands -US United States -UY Uruguay -UZ Uzbekistan -VA Vatican City -VC St Vincent -VE Venezuela -VG Virgin Islands (UK) -VI Virgin Islands (US) -VN Vietnam -VU Vanuatu -WF Wallis & Futuna -WS Samoa (western) -YE Yemen -YT Mayotte -ZA South Africa -ZM Zambia -ZW Zimbabwe diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/leapseconds b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/leapseconds deleted file mode 100644 index 358e7410..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/leapseconds +++ /dev/null @@ -1,61 +0,0 @@ -# Allowance for leap seconds added to each time zone file. - -# This file is in the public domain. - -# This file is generated automatically from the data in the public-domain -# leap-seconds.list file, which is copied from: -# ftp://ftp.nist.gov/pub/time/leap-seconds.list -# For more about leap-seconds.list, please see -# The NTP Timescale and Leap Seconds -# https://www.eecis.udel.edu/~mills/leap.html - -# The International Earth Rotation and Reference Systems Service -# periodically uses leap seconds to keep UTC to within 0.9 s of UT1 -# (which measures the true angular orientation of the earth in space); see -# Levine J. Coordinated Universal Time and the leap second. -# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995 -# http://ieeexplore.ieee.org/document/7909995/ -# There were no leap seconds before 1972, because the official mechanism -# accounting for the discrepancy between atomic time and the earth's rotation -# did not exist until the early 1970s. - -# The correction (+ or -) is made at the given time, so lines -# will typically look like: -# Leap YEAR MON DAY 23:59:60 + R/S -# or -# Leap YEAR MON DAY 23:59:59 - R/S - -# If the leapsecond is Rolling (R) the given time is local time. -# If the leapsecond is Stationary (S) the given time is UTC. - -# Leap YEAR MONTH DAY HH:MM:SS CORR R/S -Leap 1972 Jun 30 23:59:60 + S -Leap 1972 Dec 31 23:59:60 + S -Leap 1973 Dec 31 23:59:60 + S -Leap 1974 Dec 31 23:59:60 + S -Leap 1975 Dec 31 23:59:60 + S -Leap 1976 Dec 31 23:59:60 + S -Leap 1977 Dec 31 23:59:60 + S -Leap 1978 Dec 31 23:59:60 + S -Leap 1979 Dec 31 23:59:60 + S -Leap 1981 Jun 30 23:59:60 + S -Leap 1982 Jun 30 23:59:60 + S -Leap 1983 Jun 30 23:59:60 + S -Leap 1985 Jun 30 23:59:60 + S -Leap 1987 Dec 31 23:59:60 + S -Leap 1989 Dec 31 23:59:60 + S -Leap 1990 Dec 31 23:59:60 + S -Leap 1992 Jun 30 23:59:60 + S -Leap 1993 Jun 30 23:59:60 + S -Leap 1994 Jun 30 23:59:60 + S -Leap 1995 Dec 31 23:59:60 + S -Leap 1997 Jun 30 23:59:60 + S -Leap 1998 Dec 31 23:59:60 + S -Leap 2005 Dec 31 23:59:60 + S -Leap 2008 Dec 31 23:59:60 + S -Leap 2012 Jun 30 23:59:60 + S -Leap 2015 Jun 30 23:59:60 + S -Leap 2016 Dec 31 23:59:60 + S - -# Updated through IERS Bulletin C55 -# File expires on: 28 December 2018 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/posixrules b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/posixrules deleted file mode 100644 index 7553fee37a5d03e9163ee19b1ced730a02345cfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3545 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 SRPU&s5#C<CqIyO34E!5Kf4#l{ diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/tzdata.zi b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/tzdata.zi deleted file mode 100644 index 0b938fce..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/tzdata.zi +++ /dev/null @@ -1,4150 +0,0 @@ -# version unknown -# This zic input file is in the public domain. -R A 1916 o - Jun 14 23s 1 S -R A 1916 1919 - O Sun>=1 23s 0 - -R A 1917 o - Mar 24 23s 1 S -R A 1918 o - Mar 9 23s 1 S -R A 1919 o - Mar 1 23s 1 S -R A 1920 o - F 14 23s 1 S -R A 1920 o - O 23 23s 0 - -R A 1921 o - Mar 14 23s 1 S -R A 1921 o - Jun 21 23s 0 - -R A 1939 o - S 11 23s 1 S -R A 1939 o - N 19 1 0 - -R A 1944 1945 - Ap M>=1 2 1 S -R A 1944 o - O 8 2 0 - -R A 1945 o - S 16 1 0 - -R A 1971 o - Ap 25 23s 1 S -R A 1971 o - S 26 23s 0 - -R A 1977 o - May 6 0 1 S -R A 1977 o - O 21 0 0 - -R A 1978 o - Mar 24 1 1 S -R A 1978 o - S 22 3 0 - -R A 1980 o - Ap 25 0 1 S -R A 1980 o - O 31 2 0 - -Z Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:1 -0:9:21 - PMT 1911 Mar 11 -0 A WE%sT 1940 F 25 2 -1 A CE%sT 1946 O 7 -0 - WET 1956 Ja 29 -1 - CET 1963 Ap 14 -0 A WE%sT 1977 O 21 -1 A CE%sT 1979 O 26 -0 A WE%sT 1981 May -1 - CET -Z Atlantic/Cape_Verde -1:34:4 - LMT 1907 --2 - -02 1942 S --2 1 -01 1945 O 15 --2 - -02 1975 N 25 2 --1 - -01 -Z Africa/Ndjamena 1:0:12 - LMT 1912 -1 - WAT 1979 O 14 -1 1 WAST 1980 Mar 8 -1 - WAT -Z Africa/Abidjan -0:16:8 - LMT 1912 -0 - GMT -Li Africa/Abidjan Africa/Bamako -Li Africa/Abidjan Africa/Banjul -Li Africa/Abidjan Africa/Conakry -Li Africa/Abidjan Africa/Dakar -Li Africa/Abidjan Africa/Freetown -Li Africa/Abidjan Africa/Lome -Li Africa/Abidjan Africa/Nouakchott -Li Africa/Abidjan Africa/Ouagadougou -Li Africa/Abidjan Atlantic/St_Helena -R B 1940 o - Jul 15 0 1 S -R B 1940 o - O 1 0 0 - -R B 1941 o - Ap 15 0 1 S -R B 1941 o - S 16 0 0 - -R B 1942 1944 - Ap 1 0 1 S -R B 1942 o - O 27 0 0 - -R B 1943 1945 - N 1 0 0 - -R B 1945 o - Ap 16 0 1 S -R B 1957 o - May 10 0 1 S -R B 1957 1958 - O 1 0 0 - -R B 1958 o - May 1 0 1 S -R B 1959 1981 - May 1 1 1 S -R B 1959 1965 - S 30 3 0 - -R B 1966 1994 - O 1 3 0 - -R B 1982 o - Jul 25 1 1 S -R B 1983 o - Jul 12 1 1 S -R B 1984 1988 - May 1 1 1 S -R B 1989 o - May 6 1 1 S -R B 1990 1994 - May 1 1 1 S -R B 1995 2010 - Ap lastF 0s 1 S -R B 1995 2005 - S lastTh 24 0 - -R B 2006 o - S 21 24 0 - -R B 2007 o - S Th>=1 24 0 - -R B 2008 o - Au lastTh 24 0 - -R B 2009 o - Au 20 24 0 - -R B 2010 o - Au 10 24 0 - -R B 2010 o - S 9 24 1 S -R B 2010 o - S lastTh 24 0 - -R B 2014 o - May 15 24 1 S -R B 2014 o - Jun 26 24 0 - -R B 2014 o - Jul 31 24 1 S -R B 2014 o - S lastTh 24 0 - -Z Africa/Cairo 2:5:9 - LMT 1900 O -2 B EE%sT -R C 1920 1942 - S 1 0 0:20 GHST -R C 1920 1942 - D 31 0 0 GMT -Z Africa/Accra -0:0:52 - LMT 1918 -0 C GMT/+0020 -Z Africa/Bissau -1:2:20 - LMT 1912 --1 - -01 1975 -0 - GMT -Z Africa/Nairobi 2:27:16 - LMT 1928 Jul -3 - EAT 1930 -2:30 - +0230 1940 -2:45 - +0245 1960 -3 - EAT -Li Africa/Nairobi Africa/Addis_Ababa -Li Africa/Nairobi Africa/Asmara -Li Africa/Nairobi Africa/Dar_es_Salaam -Li Africa/Nairobi Africa/Djibouti -Li Africa/Nairobi Africa/Kampala -Li Africa/Nairobi Africa/Mogadishu -Li Africa/Nairobi Indian/Antananarivo -Li Africa/Nairobi Indian/Comoro -Li Africa/Nairobi Indian/Mayotte -Z Africa/Monrovia -0:43:8 - LMT 1882 --0:43:8 - MMT 1919 Mar --0:44:30 - MMT 1972 Ja 7 -0 - GMT -R D 1951 o - O 14 2 1 S -R D 1952 o - Ja 1 0 0 - -R D 1953 o - O 9 2 1 S -R D 1954 o - Ja 1 0 0 - -R D 1955 o - S 30 0 1 S -R D 1956 o - Ja 1 0 0 - -R D 1982 1984 - Ap 1 0 1 S -R D 1982 1985 - O 1 0 0 - -R D 1985 o - Ap 6 0 1 S -R D 1986 o - Ap 4 0 1 S -R D 1986 o - O 3 0 0 - -R D 1987 1989 - Ap 1 0 1 S -R D 1987 1989 - O 1 0 0 - -R D 1997 o - Ap 4 0 1 S -R D 1997 o - O 4 0 0 - -R D 2013 o - Mar lastF 1 1 S -R D 2013 o - O lastF 2 0 - -Z Africa/Tripoli 0:52:44 - LMT 1920 -1 D CE%sT 1959 -2 - EET 1982 -1 D CE%sT 1990 May 4 -2 - EET 1996 S 30 -1 D CE%sT 1997 O 4 -2 - EET 2012 N 10 2 -1 D CE%sT 2013 O 25 2 -2 - EET -R E 1982 o - O 10 0 1 S -R E 1983 o - Mar 21 0 0 - -R E 2008 o - O lastSun 2 1 S -R E 2009 o - Mar lastSun 2 0 - -Z Indian/Mauritius 3:50 - LMT 1907 -4 E +04/+05 -R F 1939 o - S 12 0 1 S -R F 1939 o - N 19 0 0 - -R F 1940 o - F 25 0 1 S -R F 1945 o - N 18 0 0 - -R F 1950 o - Jun 11 0 1 S -R F 1950 o - O 29 0 0 - -R F 1967 o - Jun 3 12 1 S -R F 1967 o - O 1 0 0 - -R F 1974 o - Jun 24 0 1 S -R F 1974 o - S 1 0 0 - -R F 1976 1977 - May 1 0 1 S -R F 1976 o - Au 1 0 0 - -R F 1977 o - S 28 0 0 - -R F 1978 o - Jun 1 0 1 S -R F 1978 o - Au 4 0 0 - -R F 2008 o - Jun 1 0 1 S -R F 2008 o - S 1 0 0 - -R F 2009 o - Jun 1 0 1 S -R F 2009 o - Au 21 0 0 - -R F 2010 o - May 2 0 1 S -R F 2010 o - Au 8 0 0 - -R F 2011 o - Ap 3 0 1 S -R F 2011 o - Jul 31 0 0 - -R F 2012 2013 - Ap lastSun 2 1 S -R F 2012 o - Jul 20 3 0 - -R F 2012 o - Au 20 2 1 S -R F 2012 o - S 30 3 0 - -R F 2013 o - Jul 7 3 0 - -R F 2013 o - Au 10 2 1 S -R F 2013 ma - O lastSun 3 0 - -R F 2014 2021 - Mar lastSun 2 1 S -R F 2014 o - Jun 28 3 0 - -R F 2014 o - Au 2 2 1 S -R F 2015 o - Jun 14 3 0 - -R F 2015 o - Jul 19 2 1 S -R F 2016 o - Jun 5 3 0 - -R F 2016 o - Jul 10 2 1 S -R F 2017 o - May 21 3 0 - -R F 2017 o - Jul 2 2 1 S -R F 2018 o - May 13 3 0 - -R F 2018 o - Jun 17 2 1 S -R F 2019 o - May 5 3 0 - -R F 2019 o - Jun 9 2 1 S -R F 2020 o - Ap 19 3 0 - -R F 2020 o - May 24 2 1 S -R F 2021 o - Ap 11 3 0 - -R F 2021 o - May 16 2 1 S -R F 2022 o - May 8 2 1 S -R F 2023 o - Ap 23 2 1 S -R F 2024 o - Ap 14 2 1 S -R F 2025 o - Ap 6 2 1 S -R F 2026 ma - Mar lastSun 2 1 S -R F 2036 o - O 19 3 0 - -R F 2037 o - O 4 3 0 - -Z Africa/Casablanca -0:30:20 - LMT 1913 O 26 -0 F WE%sT 1984 Mar 16 -1 - CET 1986 -0 F WE%sT -Z Africa/El_Aaiun -0:52:48 - LMT 1934 --1 - -01 1976 Ap 14 -0 F WE%sT -Z Africa/Maputo 2:10:20 - LMT 1903 Mar -2 - CAT -Li Africa/Maputo Africa/Blantyre -Li Africa/Maputo Africa/Bujumbura -Li Africa/Maputo Africa/Gaborone -Li Africa/Maputo Africa/Harare -Li Africa/Maputo Africa/Kigali -Li Africa/Maputo Africa/Lubumbashi -Li Africa/Maputo Africa/Lusaka -R G 1994 o - Mar 21 0 0 - -R G 1994 2016 - S Sun>=1 2 1 S -R G 1995 2017 - Ap Sun>=1 2 0 - -Z Africa/Windhoek 1:8:24 - LMT 1892 F 8 -1:30 - +0130 1903 Mar -2 - SAST 1942 S 20 2 -2 1 SAST 1943 Mar 21 2 -2 - SAST 1990 Mar 21 -2 - CAT 1994 Mar 21 -1 G WA%sT 2017 S 3 2 -2 - CAT -Z Africa/Lagos 0:13:36 - LMT 1919 S -1 - WAT -Li Africa/Lagos Africa/Bangui -Li Africa/Lagos Africa/Brazzaville -Li Africa/Lagos Africa/Douala -Li Africa/Lagos Africa/Kinshasa -Li Africa/Lagos Africa/Libreville -Li Africa/Lagos Africa/Luanda -Li Africa/Lagos Africa/Malabo -Li Africa/Lagos Africa/Niamey -Li Africa/Lagos Africa/Porto-Novo -Z Indian/Reunion 3:41:52 - LMT 1911 Jun -4 - +04 -Z Africa/Sao_Tome 0:26:56 - LMT 1884 --0:36:45 - LMT 1912 -0 - GMT 2018 Ja 1 1 -1 - WAT -Z Indian/Mahe 3:41:48 - LMT 1906 Jun -4 - +04 -R H 1942 1943 - S Sun>=15 2 1 - -R H 1943 1944 - Mar Sun>=15 2 0 - -Z Africa/Johannesburg 1:52 - LMT 1892 F 8 -1:30 - SAST 1903 Mar -2 H SAST -Li Africa/Johannesburg Africa/Maseru -Li Africa/Johannesburg Africa/Mbabane -R I 1970 o - May 1 0 1 S -R I 1970 1985 - O 15 0 0 - -R I 1971 o - Ap 30 0 1 S -R I 1972 1985 - Ap lastSun 0 1 S -Z Africa/Khartoum 2:10:8 - LMT 1931 -2 I CA%sT 2000 Ja 15 12 -3 - EAT 2017 N -2 - CAT -Z Africa/Juba 2:6:28 - LMT 1931 -2 I CA%sT 2000 Ja 15 12 -3 - EAT -R J 1939 o - Ap 15 23s 1 S -R J 1939 o - N 18 23s 0 - -R J 1940 o - F 25 23s 1 S -R J 1941 o - O 6 0 0 - -R J 1942 o - Mar 9 0 1 S -R J 1942 o - N 2 3 0 - -R J 1943 o - Mar 29 2 1 S -R J 1943 o - Ap 17 2 0 - -R J 1943 o - Ap 25 2 1 S -R J 1943 o - O 4 2 0 - -R J 1944 1945 - Ap M>=1 2 1 S -R J 1944 o - O 8 0 0 - -R J 1945 o - S 16 0 0 - -R J 1977 o - Ap 30 0s 1 S -R J 1977 o - S 24 0s 0 - -R J 1978 o - May 1 0s 1 S -R J 1978 o - O 1 0s 0 - -R J 1988 o - Jun 1 0s 1 S -R J 1988 1990 - S lastSun 0s 0 - -R J 1989 o - Mar 26 0s 1 S -R J 1990 o - May 1 0s 1 S -R J 2005 o - May 1 0s 1 S -R J 2005 o - S 30 1s 0 - -R J 2006 2008 - Mar lastSun 2s 1 S -R J 2006 2008 - O lastSun 2s 0 - -Z Africa/Tunis 0:40:44 - LMT 1881 May 12 -0:9:21 - PMT 1911 Mar 11 -1 J CE%sT -Z Antarctica/Casey 0 - -00 1969 -8 - +08 2009 O 18 2 -11 - +11 2010 Mar 5 2 -8 - +08 2011 O 28 2 -11 - +11 2012 F 21 17u -8 - +08 2016 O 22 -11 - +11 -Z Antarctica/Davis 0 - -00 1957 Ja 13 -7 - +07 1964 N -0 - -00 1969 F -7 - +07 2009 O 18 2 -5 - +05 2010 Mar 10 20u -7 - +07 2011 O 28 2 -5 - +05 2012 F 21 20u -7 - +07 -Z Antarctica/Mawson 0 - -00 1954 F 13 -6 - +06 2009 O 18 2 -5 - +05 -Z Indian/Kerguelen 0 - -00 1950 -5 - +05 -Z Antarctica/DumontDUrville 0 - -00 1947 -10 - +10 1952 Ja 14 -0 - -00 1956 N -10 - +10 -Z Antarctica/Syowa 0 - -00 1957 Ja 29 -3 - +03 -R K 2005 ma - Mar lastSun 1u 2 +02 -R K 2004 ma - O lastSun 1u 0 +00 -Z Antarctica/Troll 0 - -00 2005 F 12 -0 K %s -Z Antarctica/Vostok 0 - -00 1957 D 16 -6 - +06 -Z Antarctica/Rothera 0 - -00 1976 D --3 - -03 -Z Asia/Kabul 4:36:48 - LMT 1890 -4 - +04 1945 -4:30 - +0430 -R L 2011 o - Mar lastSun 2s 1 S -R L 2011 o - O lastSun 2s 0 - -Z Asia/Yerevan 2:58 - LMT 1924 May 2 -3 - +03 1957 Mar -4 M +04/+05 1991 Mar 31 2s -3 M +03/+04 1995 S 24 2s -4 - +04 1997 -4 M +04/+05 2011 -4 L +04/+05 -R N 1997 2015 - Mar lastSun 4 1 S -R N 1997 2015 - O lastSun 5 0 - -Z Asia/Baku 3:19:24 - LMT 1924 May 2 -3 - +03 1957 Mar -4 M +04/+05 1991 Mar 31 2s -3 M +03/+04 1992 S lastSun 2s -4 - +04 1996 -4 O +04/+05 1997 -4 N +04/+05 -R P 2009 o - Jun 19 23 1 S -R P 2009 o - D 31 24 0 - -Z Asia/Dhaka 6:1:40 - LMT 1890 -5:53:20 - HMT 1941 O -6:30 - +0630 1942 May 15 -5:30 - +0530 1942 S -6:30 - +0630 1951 S 30 -6 - +06 2009 -6 P +06/+07 -Z Asia/Thimphu 5:58:36 - LMT 1947 Au 15 -5:30 - +0530 1987 O -6 - +06 -Z Indian/Chagos 4:49:40 - LMT 1907 -5 - +05 1996 -6 - +06 -Z Asia/Brunei 7:39:40 - LMT 1926 Mar -7:30 - +0730 1933 -8 - +08 -Z Asia/Yangon 6:24:47 - LMT 1880 -6:24:47 - RMT 1920 -6:30 - +0630 1942 May -9 - +09 1945 May 3 -6:30 - +0630 -R Q 1940 o - Jun 3 0 1 D -R Q 1940 1941 - O 1 0 0 S -R Q 1941 o - Mar 16 0 1 D -R R 1986 o - May 4 0 1 D -R R 1986 1991 - S Sun>=11 0 0 S -R R 1987 1991 - Ap Sun>=10 0 1 D -Z Asia/Shanghai 8:5:43 - LMT 1901 -8 Q C%sT 1949 -8 R C%sT -Z Asia/Urumqi 5:50:20 - LMT 1928 -6 - +06 -R S 1941 o - Ap 1 3:30 1 S -R S 1941 o - S 30 3:30 0 - -R S 1946 o - Ap 20 3:30 1 S -R S 1946 o - D 1 3:30 0 - -R S 1947 o - Ap 13 3:30 1 S -R S 1947 o - D 30 3:30 0 - -R S 1948 o - May 2 3:30 1 S -R S 1948 1951 - O lastSun 3:30 0 - -R S 1952 o - O 25 3:30 0 - -R S 1949 1953 - Ap Sun>=1 3:30 1 S -R S 1953 o - N 1 3:30 0 - -R S 1954 1964 - Mar Sun>=18 3:30 1 S -R S 1954 o - O 31 3:30 0 - -R S 1955 1964 - N Sun>=1 3:30 0 - -R S 1965 1976 - Ap Sun>=16 3:30 1 S -R S 1965 1976 - O Sun>=16 3:30 0 - -R S 1973 o - D 30 3:30 1 S -R S 1979 o - May Sun>=8 3:30 1 S -R S 1979 o - O Sun>=16 3:30 0 - -Z Asia/Hong_Kong 7:36:42 - LMT 1904 O 30 -8 S HK%sT 1941 D 25 -9 - JST 1945 S 15 -8 S HK%sT -R T 1946 o - May 15 0 1 D -R T 1946 o - O 1 0 0 S -R T 1947 o - Ap 15 0 1 D -R T 1947 o - N 1 0 0 S -R T 1948 1951 - May 1 0 1 D -R T 1948 1951 - O 1 0 0 S -R T 1952 o - Mar 1 0 1 D -R T 1952 1954 - N 1 0 0 S -R T 1953 1959 - Ap 1 0 1 D -R T 1955 1961 - O 1 0 0 S -R T 1960 1961 - Jun 1 0 1 D -R T 1974 1975 - Ap 1 0 1 D -R T 1974 1975 - O 1 0 0 S -R T 1979 o - Jul 1 0 1 D -R T 1979 o - O 1 0 0 S -Z Asia/Taipei 8:6 - LMT 1896 -8 - CST 1937 O -9 - JST 1945 S 21 1 -8 T C%sT -R U 1961 1962 - Mar Sun>=16 3:30 1 D -R U 1961 1964 - N Sun>=1 3:30 0 S -R U 1963 o - Mar Sun>=16 0 1 D -R U 1964 o - Mar Sun>=16 3:30 1 D -R U 1965 o - Mar Sun>=16 0 1 D -R U 1965 o - O 31 0 0 S -R U 1966 1971 - Ap Sun>=16 3:30 1 D -R U 1966 1971 - O Sun>=16 3:30 0 S -R U 1972 1974 - Ap Sun>=15 0 1 D -R U 1972 1973 - O Sun>=15 0 0 S -R U 1974 1977 - O Sun>=15 3:30 0 S -R U 1975 1977 - Ap Sun>=15 3:30 1 D -R U 1978 1980 - Ap Sun>=15 0 1 D -R U 1978 1980 - O Sun>=15 0 0 S -Z Asia/Macau 7:34:20 - LMT 1912 -8 U C%sT -R V 1975 o - Ap 13 0 1 S -R V 1975 o - O 12 0 0 - -R V 1976 o - May 15 0 1 S -R V 1976 o - O 11 0 0 - -R V 1977 1980 - Ap Sun>=1 0 1 S -R V 1977 o - S 25 0 0 - -R V 1978 o - O 2 0 0 - -R V 1979 1997 - S lastSun 0 0 - -R V 1981 1998 - Mar lastSun 0 1 S -Z Asia/Nicosia 2:13:28 - LMT 1921 N 14 -2 V EE%sT 1998 S -2 O EE%sT -Z Asia/Famagusta 2:15:48 - LMT 1921 N 14 -2 V EE%sT 1998 S -2 O EE%sT 2016 S 8 -3 - +03 2017 O 29 1u -2 O EE%sT -Li Asia/Nicosia Europe/Nicosia -Z Asia/Tbilisi 2:59:11 - LMT 1880 -2:59:11 - TBMT 1924 May 2 -3 - +03 1957 Mar -4 M +04/+05 1991 Mar 31 2s -3 M +03/+04 1992 -3 W +03/+04 1994 S lastSun -4 W +04/+05 1996 O lastSun -4 1 +05 1997 Mar lastSun -4 W +04/+05 2004 Jun 27 -3 M +03/+04 2005 Mar lastSun 2 -4 - +04 -Z Asia/Dili 8:22:20 - LMT 1912 -8 - +08 1942 F 21 23 -9 - +09 1976 May 3 -8 - +08 2000 S 17 -9 - +09 -Z Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 -5:53:20 - HMT 1870 -5:21:10 - MMT 1906 -5:30 - IST 1941 O -5:30 1 +0630 1942 May 15 -5:30 - IST 1942 S -5:30 1 +0630 1945 O 15 -5:30 - IST -Z Asia/Jakarta 7:7:12 - LMT 1867 Au 10 -7:7:12 - BMT 1923 D 31 23:47:12 -7:20 - +0720 1932 N -7:30 - +0730 1942 Mar 23 -9 - +09 1945 S 23 -7:30 - +0730 1948 May -8 - +08 1950 May -7:30 - +0730 1964 -7 - WIB -Z Asia/Pontianak 7:17:20 - LMT 1908 May -7:17:20 - PMT 1932 N -7:30 - +0730 1942 Ja 29 -9 - +09 1945 S 23 -7:30 - +0730 1948 May -8 - +08 1950 May -7:30 - +0730 1964 -8 - WITA 1988 -7 - WIB -Z Asia/Makassar 7:57:36 - LMT 1920 -7:57:36 - MMT 1932 N -8 - +08 1942 F 9 -9 - +09 1945 S 23 -8 - WITA -Z Asia/Jayapura 9:22:48 - LMT 1932 N -9 - +09 1944 S -9:30 - +0930 1964 -9 - WIT -R X 1978 1980 - Mar 21 0 1 D -R X 1978 o - O 21 0 0 S -R X 1979 o - S 19 0 0 S -R X 1980 o - S 23 0 0 S -R X 1991 o - May 3 0 1 D -R X 1992 1995 - Mar 22 0 1 D -R X 1991 1995 - S 22 0 0 S -R X 1996 o - Mar 21 0 1 D -R X 1996 o - S 21 0 0 S -R X 1997 1999 - Mar 22 0 1 D -R X 1997 1999 - S 22 0 0 S -R X 2000 o - Mar 21 0 1 D -R X 2000 o - S 21 0 0 S -R X 2001 2003 - Mar 22 0 1 D -R X 2001 2003 - S 22 0 0 S -R X 2004 o - Mar 21 0 1 D -R X 2004 o - S 21 0 0 S -R X 2005 o - Mar 22 0 1 D -R X 2005 o - S 22 0 0 S -R X 2008 o - Mar 21 0 1 D -R X 2008 o - S 21 0 0 S -R X 2009 2011 - Mar 22 0 1 D -R X 2009 2011 - S 22 0 0 S -R X 2012 o - Mar 21 0 1 D -R X 2012 o - S 21 0 0 S -R X 2013 2015 - Mar 22 0 1 D -R X 2013 2015 - S 22 0 0 S -R X 2016 o - Mar 21 0 1 D -R X 2016 o - S 21 0 0 S -R X 2017 2019 - Mar 22 0 1 D -R X 2017 2019 - S 22 0 0 S -R X 2020 o - Mar 21 0 1 D -R X 2020 o - S 21 0 0 S -R X 2021 2023 - Mar 22 0 1 D -R X 2021 2023 - S 22 0 0 S -R X 2024 o - Mar 21 0 1 D -R X 2024 o - S 21 0 0 S -R X 2025 2027 - Mar 22 0 1 D -R X 2025 2027 - S 22 0 0 S -R X 2028 2029 - Mar 21 0 1 D -R X 2028 2029 - S 21 0 0 S -R X 2030 2031 - Mar 22 0 1 D -R X 2030 2031 - S 22 0 0 S -R X 2032 2033 - Mar 21 0 1 D -R X 2032 2033 - S 21 0 0 S -R X 2034 2035 - Mar 22 0 1 D -R X 2034 2035 - S 22 0 0 S -R X 2036 ma - Mar 21 0 1 D -R X 2036 ma - S 21 0 0 S -Z Asia/Tehran 3:25:44 - LMT 1916 -3:25:44 - TMT 1946 -3:30 - +0330 1977 N -4 X +04/+05 1979 -3:30 X +0330/+0430 -R Y 1982 o - May 1 0 1 D -R Y 1982 1984 - O 1 0 0 S -R Y 1983 o - Mar 31 0 1 D -R Y 1984 1985 - Ap 1 0 1 D -R Y 1985 1990 - S lastSun 1s 0 S -R Y 1986 1990 - Mar lastSun 1s 1 D -R Y 1991 2007 - Ap 1 3s 1 D -R Y 1991 2007 - O 1 3s 0 S -Z Asia/Baghdad 2:57:40 - LMT 1890 -2:57:36 - BMT 1918 -3 - +03 1982 May -3 Y +03/+04 -R Z 1940 o - Jun 1 0 1 D -R Z 1942 1944 - N 1 0 0 S -R Z 1943 o - Ap 1 2 1 D -R Z 1944 o - Ap 1 0 1 D -R Z 1945 o - Ap 16 0 1 D -R Z 1945 o - N 1 2 0 S -R Z 1946 o - Ap 16 2 1 D -R Z 1946 o - N 1 0 0 S -R Z 1948 o - May 23 0 2 DD -R Z 1948 o - S 1 0 1 D -R Z 1948 1949 - N 1 2 0 S -R Z 1949 o - May 1 0 1 D -R Z 1950 o - Ap 16 0 1 D -R Z 1950 o - S 15 3 0 S -R Z 1951 o - Ap 1 0 1 D -R Z 1951 o - N 11 3 0 S -R Z 1952 o - Ap 20 2 1 D -R Z 1952 o - O 19 3 0 S -R Z 1953 o - Ap 12 2 1 D -R Z 1953 o - S 13 3 0 S -R Z 1954 o - Jun 13 0 1 D -R Z 1954 o - S 12 0 0 S -R Z 1955 o - Jun 11 2 1 D -R Z 1955 o - S 11 0 0 S -R Z 1956 o - Jun 3 0 1 D -R Z 1956 o - S 30 3 0 S -R Z 1957 o - Ap 29 2 1 D -R Z 1957 o - S 22 0 0 S -R Z 1974 o - Jul 7 0 1 D -R Z 1974 o - O 13 0 0 S -R Z 1975 o - Ap 20 0 1 D -R Z 1975 o - Au 31 0 0 S -R Z 1985 o - Ap 14 0 1 D -R Z 1985 o - S 15 0 0 S -R Z 1986 o - May 18 0 1 D -R Z 1986 o - S 7 0 0 S -R Z 1987 o - Ap 15 0 1 D -R Z 1987 o - S 13 0 0 S -R Z 1988 o - Ap 10 0 1 D -R Z 1988 o - S 4 0 0 S -R Z 1989 o - Ap 30 0 1 D -R Z 1989 o - S 3 0 0 S -R Z 1990 o - Mar 25 0 1 D -R Z 1990 o - Au 26 0 0 S -R Z 1991 o - Mar 24 0 1 D -R Z 1991 o - S 1 0 0 S -R Z 1992 o - Mar 29 0 1 D -R Z 1992 o - S 6 0 0 S -R Z 1993 o - Ap 2 0 1 D -R Z 1993 o - S 5 0 0 S -R Z 1994 o - Ap 1 0 1 D -R Z 1994 o - Au 28 0 0 S -R Z 1995 o - Mar 31 0 1 D -R Z 1995 o - S 3 0 0 S -R Z 1996 o - Mar 15 0 1 D -R Z 1996 o - S 16 0 0 S -R Z 1997 o - Mar 21 0 1 D -R Z 1997 o - S 14 0 0 S -R Z 1998 o - Mar 20 0 1 D -R Z 1998 o - S 6 0 0 S -R Z 1999 o - Ap 2 2 1 D -R Z 1999 o - S 3 2 0 S -R Z 2000 o - Ap 14 2 1 D -R Z 2000 o - O 6 1 0 S -R Z 2001 o - Ap 9 1 1 D -R Z 2001 o - S 24 1 0 S -R Z 2002 o - Mar 29 1 1 D -R Z 2002 o - O 7 1 0 S -R Z 2003 o - Mar 28 1 1 D -R Z 2003 o - O 3 1 0 S -R Z 2004 o - Ap 7 1 1 D -R Z 2004 o - S 22 1 0 S -R Z 2005 o - Ap 1 2 1 D -R Z 2005 o - O 9 2 0 S -R Z 2006 2010 - Mar F>=26 2 1 D -R Z 2006 o - O 1 2 0 S -R Z 2007 o - S 16 2 0 S -R Z 2008 o - O 5 2 0 S -R Z 2009 o - S 27 2 0 S -R Z 2010 o - S 12 2 0 S -R Z 2011 o - Ap 1 2 1 D -R Z 2011 o - O 2 2 0 S -R Z 2012 o - Mar F>=26 2 1 D -R Z 2012 o - S 23 2 0 S -R Z 2013 ma - Mar F>=23 2 1 D -R Z 2013 ma - O lastSun 2 0 S -Z Asia/Jerusalem 2:20:54 - LMT 1880 -2:20:40 - JMT 1918 -2 Z I%sT -R a 1948 o - May Sat>=1 24 1 D -R a 1948 1951 - S Sun>=9 0 0 S -R a 1949 o - Ap Sat>=1 24 1 D -R a 1950 1951 - May Sat>=1 24 1 D -Z Asia/Tokyo 9:18:59 - LMT 1887 D 31 15u -9 a J%sT -R b 1973 o - Jun 6 0 1 S -R b 1973 1975 - O 1 0 0 - -R b 1974 1977 - May 1 0 1 S -R b 1976 o - N 1 0 0 - -R b 1977 o - O 1 0 0 - -R b 1978 o - Ap 30 0 1 S -R b 1978 o - S 30 0 0 - -R b 1985 o - Ap 1 0 1 S -R b 1985 o - O 1 0 0 - -R b 1986 1988 - Ap F>=1 0 1 S -R b 1986 1990 - O F>=1 0 0 - -R b 1989 o - May 8 0 1 S -R b 1990 o - Ap 27 0 1 S -R b 1991 o - Ap 17 0 1 S -R b 1991 o - S 27 0 0 - -R b 1992 o - Ap 10 0 1 S -R b 1992 1993 - O F>=1 0 0 - -R b 1993 1998 - Ap F>=1 0 1 S -R b 1994 o - S F>=15 0 0 - -R b 1995 1998 - S F>=15 0s 0 - -R b 1999 o - Jul 1 0s 1 S -R b 1999 2002 - S lastF 0s 0 - -R b 2000 2001 - Mar lastTh 0s 1 S -R b 2002 2012 - Mar lastTh 24 1 S -R b 2003 o - O 24 0s 0 - -R b 2004 o - O 15 0s 0 - -R b 2005 o - S lastF 0s 0 - -R b 2006 2011 - O lastF 0s 0 - -R b 2013 o - D 20 0 0 - -R b 2014 ma - Mar lastTh 24 1 S -R b 2014 ma - O lastF 0s 0 - -Z Asia/Amman 2:23:44 - LMT 1931 -2 b EE%sT -Z Asia/Almaty 5:7:48 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 M +06/+07 1991 Mar 31 2s -5 M +05/+06 1992 Ja 19 2s -6 M +06/+07 2004 O 31 2s -6 - +06 -Z Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 M +05/+06 1991 Mar 31 2s -4 M +04/+05 1991 S 29 2s -5 M +05/+06 1992 Ja 19 2s -6 M +06/+07 1992 Mar 29 2s -5 M +05/+06 2004 O 31 2s -6 - +06 -Z Asia/Aqtobe 3:48:40 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 M +05/+06 1991 Mar 31 2s -4 M +04/+05 1992 Ja 19 2s -5 M +05/+06 2004 O 31 2s -5 - +05 -Z Asia/Aqtau 3:21:4 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 O -6 - +06 1982 Ap -5 M +05/+06 1991 Mar 31 2s -4 M +04/+05 1992 Ja 19 2s -5 M +05/+06 1994 S 25 2s -4 M +04/+05 2004 O 31 2s -5 - +05 -Z Asia/Atyrau 3:27:44 - LMT 1924 May 2 -3 - +03 1930 Jun 21 -5 - +05 1981 O -6 - +06 1982 Ap -5 M +05/+06 1991 Mar 31 2s -4 M +04/+05 1992 Ja 19 2s -5 M +05/+06 1999 Mar 28 2s -4 M +04/+05 2004 O 31 2s -5 - +05 -Z Asia/Oral 3:25:24 - LMT 1924 May 2 -3 - +03 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 M +05/+06 1989 Mar 26 2s -4 M +04/+05 1992 Ja 19 2s -5 M +05/+06 1992 Mar 29 2s -4 M +04/+05 2004 O 31 2s -5 - +05 -R c 1992 1996 - Ap Sun>=7 0s 1 S -R c 1992 1996 - S lastSun 0 0 - -R c 1997 2005 - Mar lastSun 2:30 1 S -R c 1997 2004 - O lastSun 2:30 0 - -Z Asia/Bishkek 4:58:24 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 M +06/+07 1991 Mar 31 2s -5 M +05/+06 1991 Au 31 2 -5 c +05/+06 2005 Au 12 -6 - +06 -R d 1948 o - Jun 1 0 1 D -R d 1948 o - S 13 0 0 S -R d 1949 o - Ap 3 0 1 D -R d 1949 1951 - S Sun>=8 0 0 S -R d 1950 o - Ap 1 0 1 D -R d 1951 o - May 6 0 1 D -R d 1955 o - May 5 0 1 D -R d 1955 o - S 9 0 0 S -R d 1956 o - May 20 0 1 D -R d 1956 o - S 30 0 0 S -R d 1957 1960 - May Sun>=1 0 1 D -R d 1957 1960 - S Sun>=18 0 0 S -R d 1987 1988 - May Sun>=8 2 1 D -R d 1987 1988 - O Sun>=8 3 0 S -Z Asia/Seoul 8:27:52 - LMT 1908 Ap -8:30 - KST 1912 -9 - JST 1945 S 8 -9 - KST 1954 Mar 21 -8:30 d K%sT 1961 Au 10 -9 d K%sT -Z Asia/Pyongyang 8:23 - LMT 1908 Ap -8:30 - KST 1912 -9 - JST 1945 Au 24 -9 - KST 2015 Au 15 -8:30 - KST -R e 1920 o - Mar 28 0 1 S -R e 1920 o - O 25 0 0 - -R e 1921 o - Ap 3 0 1 S -R e 1921 o - O 3 0 0 - -R e 1922 o - Mar 26 0 1 S -R e 1922 o - O 8 0 0 - -R e 1923 o - Ap 22 0 1 S -R e 1923 o - S 16 0 0 - -R e 1957 1961 - May 1 0 1 S -R e 1957 1961 - O 1 0 0 - -R e 1972 o - Jun 22 0 1 S -R e 1972 1977 - O 1 0 0 - -R e 1973 1977 - May 1 0 1 S -R e 1978 o - Ap 30 0 1 S -R e 1978 o - S 30 0 0 - -R e 1984 1987 - May 1 0 1 S -R e 1984 1991 - O 16 0 0 - -R e 1988 o - Jun 1 0 1 S -R e 1989 o - May 10 0 1 S -R e 1990 1992 - May 1 0 1 S -R e 1992 o - O 4 0 0 - -R e 1993 ma - Mar lastSun 0 1 S -R e 1993 1998 - S lastSun 0 0 - -R e 1999 ma - O lastSun 0 0 - -Z Asia/Beirut 2:22 - LMT 1880 -2 e EE%sT -R f 1935 1941 - S 14 0 0:20 TS -R f 1935 1941 - D 14 0 0 - -Z Asia/Kuala_Lumpur 6:46:46 - LMT 1901 -6:55:25 - SMT 1905 Jun -7 - +07 1933 -7 0:20 +0720 1936 -7:20 - +0720 1941 S -7:30 - +0730 1942 F 16 -9 - +09 1945 S 12 -7:30 - +0730 1982 -8 - +08 -Z Asia/Kuching 7:21:20 - LMT 1926 Mar -7:30 - +0730 1933 -8 f +08/+0820 1942 F 16 -9 - +09 1945 S 12 -8 - +08 -Z Indian/Maldives 4:54 - LMT 1880 -4:54 - MMT 1960 -5 - +05 -R g 1983 1984 - Ap 1 0 1 S -R g 1983 o - O 1 0 0 - -R g 1985 1998 - Mar lastSun 0 1 S -R g 1984 1998 - S lastSun 0 0 - -R g 2001 o - Ap lastSat 2 1 S -R g 2001 2006 - S lastSat 2 0 - -R g 2002 2006 - Mar lastSat 2 1 S -R g 2015 2016 - Mar lastSat 2 1 S -R g 2015 2016 - S lastSat 0 0 - -Z Asia/Hovd 6:6:36 - LMT 1905 Au -6 - +06 1978 -7 g +07/+08 -Z Asia/Ulaanbaatar 7:7:32 - LMT 1905 Au -7 - +07 1978 -8 g +08/+09 -Z Asia/Choibalsan 7:38 - LMT 1905 Au -7 - +07 1978 -8 - +08 1983 Ap -9 g +09/+10 2008 Mar 31 -8 g +08/+09 -Z Asia/Kathmandu 5:41:16 - LMT 1920 -5:30 - +0530 1986 -5:45 - +0545 -R h 2002 o - Ap Sun>=2 0 1 S -R h 2002 o - O Sun>=2 0 0 - -R h 2008 o - Jun 1 0 1 S -R h 2008 2009 - N 1 0 0 - -R h 2009 o - Ap 15 0 1 S -Z Asia/Karachi 4:28:12 - LMT 1907 -5:30 - +0530 1942 S -5:30 1 +0630 1945 O 15 -5:30 - +0530 1951 S 30 -5 - +05 1971 Mar 26 -5 h PK%sT -R i 1999 2005 - Ap F>=15 0 1 S -R i 1999 2003 - O F>=15 0 0 - -R i 2004 o - O 1 1 0 - -R i 2005 o - O 4 2 0 - -R i 2006 2007 - Ap 1 0 1 S -R i 2006 o - S 22 0 0 - -R i 2007 o - S Th>=8 2 0 - -R i 2008 2009 - Mar lastF 0 1 S -R i 2008 o - S 1 0 0 - -R i 2009 o - S F>=1 1 0 - -R i 2010 o - Mar 26 0 1 S -R i 2010 o - Au 11 0 0 - -R i 2011 o - Ap 1 0:1 1 S -R i 2011 o - Au 1 0 0 - -R i 2011 o - Au 30 0 1 S -R i 2011 o - S 30 0 0 - -R i 2012 2014 - Mar lastTh 24 1 S -R i 2012 o - S 21 1 0 - -R i 2013 o - S F>=21 0 0 - -R i 2014 2015 - O F>=21 0 0 - -R i 2015 o - Mar lastF 24 1 S -R i 2016 ma - Mar lastSat 1 1 S -R i 2016 ma - O lastSat 1 0 - -Z Asia/Gaza 2:17:52 - LMT 1900 O -2 Z EET/EEST 1948 May 15 -2 B EE%sT 1967 Jun 5 -2 Z I%sT 1996 -2 b EE%sT 1999 -2 i EE%sT 2008 Au 29 -2 - EET 2008 S -2 i EE%sT 2010 -2 - EET 2010 Mar 27 0:1 -2 i EE%sT 2011 Au -2 - EET 2012 -2 i EE%sT -Z Asia/Hebron 2:20:23 - LMT 1900 O -2 Z EET/EEST 1948 May 15 -2 B EE%sT 1967 Jun 5 -2 Z I%sT 1996 -2 b EE%sT 1999 -2 i EE%sT -R j 1936 o - N 1 0 1 S -R j 1937 o - F 1 0 0 - -R j 1954 o - Ap 12 0 1 S -R j 1954 o - Jul 1 0 0 - -R j 1978 o - Mar 22 0 1 S -R j 1978 o - S 21 0 0 - -Z Asia/Manila -15:56 - LMT 1844 D 31 -8:4 - LMT 1899 May 11 -8 j +08/+09 1942 May -9 - +09 1944 N -8 j +08/+09 -Z Asia/Qatar 3:26:8 - LMT 1920 -4 - +04 1972 Jun -3 - +03 -Li Asia/Qatar Asia/Bahrain -Z Asia/Riyadh 3:6:52 - LMT 1947 Mar 14 -3 - +03 -Li Asia/Riyadh Asia/Aden -Li Asia/Riyadh Asia/Kuwait -Z Asia/Singapore 6:55:25 - LMT 1901 -6:55:25 - SMT 1905 Jun -7 - +07 1933 -7 0:20 +0720 1936 -7:20 - +0720 1941 S -7:30 - +0730 1942 F 16 -9 - +09 1945 S 12 -7:30 - +0730 1982 -8 - +08 -Z Asia/Colombo 5:19:24 - LMT 1880 -5:19:32 - MMT 1906 -5:30 - +0530 1942 Ja 5 -5:30 0:30 +06 1942 S -5:30 1 +0630 1945 O 16 2 -5:30 - +0530 1996 May 25 -6:30 - +0630 1996 O 26 0:30 -6 - +06 2006 Ap 15 0:30 -5:30 - +0530 -R k 1920 1923 - Ap Sun>=15 2 1 S -R k 1920 1923 - O Sun>=1 2 0 - -R k 1962 o - Ap 29 2 1 S -R k 1962 o - O 1 2 0 - -R k 1963 1965 - May 1 2 1 S -R k 1963 o - S 30 2 0 - -R k 1964 o - O 1 2 0 - -R k 1965 o - S 30 2 0 - -R k 1966 o - Ap 24 2 1 S -R k 1966 1976 - O 1 2 0 - -R k 1967 1978 - May 1 2 1 S -R k 1977 1978 - S 1 2 0 - -R k 1983 1984 - Ap 9 2 1 S -R k 1983 1984 - O 1 2 0 - -R k 1986 o - F 16 2 1 S -R k 1986 o - O 9 2 0 - -R k 1987 o - Mar 1 2 1 S -R k 1987 1988 - O 31 2 0 - -R k 1988 o - Mar 15 2 1 S -R k 1989 o - Mar 31 2 1 S -R k 1989 o - O 1 2 0 - -R k 1990 o - Ap 1 2 1 S -R k 1990 o - S 30 2 0 - -R k 1991 o - Ap 1 0 1 S -R k 1991 1992 - O 1 0 0 - -R k 1992 o - Ap 8 0 1 S -R k 1993 o - Mar 26 0 1 S -R k 1993 o - S 25 0 0 - -R k 1994 1996 - Ap 1 0 1 S -R k 1994 2005 - O 1 0 0 - -R k 1997 1998 - Mar lastM 0 1 S -R k 1999 2006 - Ap 1 0 1 S -R k 2006 o - S 22 0 0 - -R k 2007 o - Mar lastF 0 1 S -R k 2007 o - N F>=1 0 0 - -R k 2008 o - Ap F>=1 0 1 S -R k 2008 o - N 1 0 0 - -R k 2009 o - Mar lastF 0 1 S -R k 2010 2011 - Ap F>=1 0 1 S -R k 2012 ma - Mar lastF 0 1 S -R k 2009 ma - O lastF 0 0 - -Z Asia/Damascus 2:25:12 - LMT 1920 -2 k EE%sT -Z Asia/Dushanbe 4:35:12 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 M +06/+07 1991 Mar 31 2s -5 1 +05/+06 1991 S 9 2s -5 - +05 -Z Asia/Bangkok 6:42:4 - LMT 1880 -6:42:4 - BMT 1920 Ap -7 - +07 -Li Asia/Bangkok Asia/Phnom_Penh -Li Asia/Bangkok Asia/Vientiane -Z Asia/Ashgabat 3:53:32 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 M +05/+06 1991 Mar 31 2 -4 M +04/+05 1992 Ja 19 2 -5 - +05 -Z Asia/Dubai 3:41:12 - LMT 1920 -4 - +04 -Li Asia/Dubai Asia/Muscat -Z Asia/Samarkand 4:27:53 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 M +05/+06 1992 -5 - +05 -Z Asia/Tashkent 4:37:11 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 M +06/+07 1991 Mar 31 2 -5 M +05/+06 1992 -5 - +05 -Z Asia/Ho_Chi_Minh 7:6:40 - LMT 1906 Jul -7:6:30 - PLMT 1911 May -7 - +07 1942 D 31 23 -8 - +08 1945 Mar 14 23 -9 - +09 1945 S 2 -7 - +07 1947 Ap -8 - +08 1955 Jul -7 - +07 1959 D 31 23 -8 - +08 1975 Jun 13 -7 - +07 -R l 1917 o - Ja 1 0:1 1 D -R l 1917 o - Mar 25 2 0 S -R l 1942 o - Ja 1 2 1 D -R l 1942 o - Mar 29 2 0 S -R l 1942 o - S 27 2 1 D -R l 1943 1944 - Mar lastSun 2 0 S -R l 1943 o - O 3 2 1 D -Z Australia/Darwin 8:43:20 - LMT 1895 F -9 - ACST 1899 May -9:30 l AC%sT -R m 1974 o - O lastSun 2s 1 D -R m 1975 o - Mar Sun>=1 2s 0 S -R m 1983 o - O lastSun 2s 1 D -R m 1984 o - Mar Sun>=1 2s 0 S -R m 1991 o - N 17 2s 1 D -R m 1992 o - Mar Sun>=1 2s 0 S -R m 2006 o - D 3 2s 1 D -R m 2007 2009 - Mar lastSun 2s 0 S -R m 2007 2008 - O lastSun 2s 1 D -Z Australia/Perth 7:43:24 - LMT 1895 D -8 l AW%sT 1943 Jul -8 m AW%sT -Z Australia/Eucla 8:35:28 - LMT 1895 D -8:45 l +0845/+0945 1943 Jul -8:45 m +0845/+0945 -R n 1971 o - O lastSun 2s 1 D -R n 1972 o - F lastSun 2s 0 S -R n 1989 1991 - O lastSun 2s 1 D -R n 1990 1992 - Mar Sun>=1 2s 0 S -R o 1992 1993 - O lastSun 2s 1 D -R o 1993 1994 - Mar Sun>=1 2s 0 S -Z Australia/Brisbane 10:12:8 - LMT 1895 -10 l AE%sT 1971 -10 n AE%sT -Z Australia/Lindeman 9:55:56 - LMT 1895 -10 l AE%sT 1971 -10 n AE%sT 1992 Jul -10 o AE%sT -R p 1971 1985 - O lastSun 2s 1 D -R p 1986 o - O 19 2s 1 D -R p 1987 2007 - O lastSun 2s 1 D -R p 1972 o - F 27 2s 0 S -R p 1973 1985 - Mar Sun>=1 2s 0 S -R p 1986 1990 - Mar Sun>=15 2s 0 S -R p 1991 o - Mar 3 2s 0 S -R p 1992 o - Mar 22 2s 0 S -R p 1993 o - Mar 7 2s 0 S -R p 1994 o - Mar 20 2s 0 S -R p 1995 2005 - Mar lastSun 2s 0 S -R p 2006 o - Ap 2 2s 0 S -R p 2007 o - Mar lastSun 2s 0 S -R p 2008 ma - Ap Sun>=1 2s 0 S -R p 2008 ma - O Sun>=1 2s 1 D -Z Australia/Adelaide 9:14:20 - LMT 1895 F -9 - ACST 1899 May -9:30 l AC%sT 1971 -9:30 p AC%sT -R q 1967 o - O Sun>=1 2s 1 D -R q 1968 o - Mar lastSun 2s 0 S -R q 1968 1985 - O lastSun 2s 1 D -R q 1969 1971 - Mar Sun>=8 2s 0 S -R q 1972 o - F lastSun 2s 0 S -R q 1973 1981 - Mar Sun>=1 2s 0 S -R q 1982 1983 - Mar lastSun 2s 0 S -R q 1984 1986 - Mar Sun>=1 2s 0 S -R q 1986 o - O Sun>=15 2s 1 D -R q 1987 1990 - Mar Sun>=15 2s 0 S -R q 1987 o - O Sun>=22 2s 1 D -R q 1988 1990 - O lastSun 2s 1 D -R q 1991 1999 - O Sun>=1 2s 1 D -R q 1991 2005 - Mar lastSun 2s 0 S -R q 2000 o - Au lastSun 2s 1 D -R q 2001 ma - O Sun>=1 2s 1 D -R q 2006 o - Ap Sun>=1 2s 0 S -R q 2007 o - Mar lastSun 2s 0 S -R q 2008 ma - Ap Sun>=1 2s 0 S -Z Australia/Hobart 9:49:16 - LMT 1895 S -10 - AEST 1916 O 1 2 -10 1 AEDT 1917 F -10 l AE%sT 1967 -10 q AE%sT -Z Australia/Currie 9:35:28 - LMT 1895 S -10 - AEST 1916 O 1 2 -10 1 AEDT 1917 F -10 l AE%sT 1971 Jul -10 q AE%sT -R r 1971 1985 - O lastSun 2s 1 D -R r 1972 o - F lastSun 2s 0 S -R r 1973 1985 - Mar Sun>=1 2s 0 S -R r 1986 1990 - Mar Sun>=15 2s 0 S -R r 1986 1987 - O Sun>=15 2s 1 D -R r 1988 1999 - O lastSun 2s 1 D -R r 1991 1994 - Mar Sun>=1 2s 0 S -R r 1995 2005 - Mar lastSun 2s 0 S -R r 2000 o - Au lastSun 2s 1 D -R r 2001 2007 - O lastSun 2s 1 D -R r 2006 o - Ap Sun>=1 2s 0 S -R r 2007 o - Mar lastSun 2s 0 S -R r 2008 ma - Ap Sun>=1 2s 0 S -R r 2008 ma - O Sun>=1 2s 1 D -Z Australia/Melbourne 9:39:52 - LMT 1895 F -10 l AE%sT 1971 -10 r AE%sT -R s 1971 1985 - O lastSun 2s 1 D -R s 1972 o - F 27 2s 0 S -R s 1973 1981 - Mar Sun>=1 2s 0 S -R s 1982 o - Ap Sun>=1 2s 0 S -R s 1983 1985 - Mar Sun>=1 2s 0 S -R s 1986 1989 - Mar Sun>=15 2s 0 S -R s 1986 o - O 19 2s 1 D -R s 1987 1999 - O lastSun 2s 1 D -R s 1990 1995 - Mar Sun>=1 2s 0 S -R s 1996 2005 - Mar lastSun 2s 0 S -R s 2000 o - Au lastSun 2s 1 D -R s 2001 2007 - O lastSun 2s 1 D -R s 2006 o - Ap Sun>=1 2s 0 S -R s 2007 o - Mar lastSun 2s 0 S -R s 2008 ma - Ap Sun>=1 2s 0 S -R s 2008 ma - O Sun>=1 2s 1 D -Z Australia/Sydney 10:4:52 - LMT 1895 F -10 l AE%sT 1971 -10 s AE%sT -Z Australia/Broken_Hill 9:25:48 - LMT 1895 F -10 - AEST 1896 Au 23 -9 - ACST 1899 May -9:30 l AC%sT 1971 -9:30 s AC%sT 2000 -9:30 p AC%sT -R t 1981 1984 - O lastSun 2 1 D -R t 1982 1985 - Mar Sun>=1 2 0 S -R t 1985 o - O lastSun 2 0:30 D -R t 1986 1989 - Mar Sun>=15 2 0 S -R t 1986 o - O 19 2 0:30 D -R t 1987 1999 - O lastSun 2 0:30 D -R t 1990 1995 - Mar Sun>=1 2 0 S -R t 1996 2005 - Mar lastSun 2 0 S -R t 2000 o - Au lastSun 2 0:30 D -R t 2001 2007 - O lastSun 2 0:30 D -R t 2006 o - Ap Sun>=1 2 0 S -R t 2007 o - Mar lastSun 2 0 S -R t 2008 ma - Ap Sun>=1 2 0 S -R t 2008 ma - O Sun>=1 2 0:30 D -Z Australia/Lord_Howe 10:36:20 - LMT 1895 F -10 - AEST 1981 Mar -10:30 t +1030/+1130 1985 Jul -10:30 t +1030/+11 -Z Antarctica/Macquarie 0 - -00 1899 N -10 - AEST 1916 O 1 2 -10 1 AEDT 1917 F -10 l AE%sT 1919 Ap 1 0s -0 - -00 1948 Mar 25 -10 l AE%sT 1967 -10 q AE%sT 2010 Ap 4 3 -11 - +11 -Z Indian/Christmas 7:2:52 - LMT 1895 F -7 - +07 -Z Indian/Cocos 6:27:40 - LMT 1900 -6:30 - +0630 -R u 1998 1999 - N Sun>=1 2 1 S -R u 1999 2000 - F lastSun 3 0 - -R u 2009 o - N 29 2 1 S -R u 2010 o - Mar lastSun 3 0 - -R u 2010 2013 - O Sun>=21 2 1 S -R u 2011 o - Mar Sun>=1 3 0 - -R u 2012 2013 - Ja Sun>=18 3 0 - -R u 2014 o - Ja Sun>=18 2 0 - -R u 2014 ma - N Sun>=1 2 1 S -R u 2015 ma - Ja Sun>=14 3 0 - -Z Pacific/Fiji 11:55:44 - LMT 1915 O 26 -12 u +12/+13 -Z Pacific/Gambier -8:59:48 - LMT 1912 O --9 - -09 -Z Pacific/Marquesas -9:18 - LMT 1912 O --9:30 - -0930 -Z Pacific/Tahiti -9:58:16 - LMT 1912 O --10 - -10 -Z Pacific/Guam -14:21 - LMT 1844 D 31 -9:39 - LMT 1901 -10 - GST 2000 D 23 -10 - ChST -Li Pacific/Guam Pacific/Saipan -Z Pacific/Tarawa 11:32:4 - LMT 1901 -12 - +12 -Z Pacific/Enderbury -11:24:20 - LMT 1901 --12 - -12 1979 O --11 - -11 1995 -13 - +13 -Z Pacific/Kiritimati -10:29:20 - LMT 1901 --10:40 - -1040 1979 O --10 - -10 1995 -14 - +14 -Z Pacific/Majuro 11:24:48 - LMT 1901 -11 - +11 1969 O -12 - +12 -Z Pacific/Kwajalein 11:9:20 - LMT 1901 -11 - +11 1969 O --12 - -12 1993 Au 20 -12 - +12 -Z Pacific/Chuuk 10:7:8 - LMT 1901 -10 - +10 -Z Pacific/Pohnpei 10:32:52 - LMT 1901 -11 - +11 -Z Pacific/Kosrae 10:51:56 - LMT 1901 -11 - +11 1969 O -12 - +12 1999 -11 - +11 -Z Pacific/Nauru 11:7:40 - LMT 1921 Ja 15 -11:30 - +1130 1942 Mar 15 -9 - +09 1944 Au 15 -11:30 - +1130 1979 May -12 - +12 -R v 1977 1978 - D Sun>=1 0 1 S -R v 1978 1979 - F 27 0 0 - -R v 1996 o - D 1 2s 1 S -R v 1997 o - Mar 2 2s 0 - -Z Pacific/Noumea 11:5:48 - LMT 1912 Ja 13 -11 v +11/+12 -R w 1927 o - N 6 2 1 S -R w 1928 o - Mar 4 2 0 M -R w 1928 1933 - O Sun>=8 2 0:30 S -R w 1929 1933 - Mar Sun>=15 2 0 M -R w 1934 1940 - Ap lastSun 2 0 M -R w 1934 1940 - S lastSun 2 0:30 S -R w 1946 o - Ja 1 0 0 S -R w 1974 o - N Sun>=1 2s 1 D -R x 1974 o - N Sun>=1 2:45s 1 D -R w 1975 o - F lastSun 2s 0 S -R x 1975 o - F lastSun 2:45s 0 S -R w 1975 1988 - O lastSun 2s 1 D -R x 1975 1988 - O lastSun 2:45s 1 D -R w 1976 1989 - Mar Sun>=1 2s 0 S -R x 1976 1989 - Mar Sun>=1 2:45s 0 S -R w 1989 o - O Sun>=8 2s 1 D -R x 1989 o - O Sun>=8 2:45s 1 D -R w 1990 2006 - O Sun>=1 2s 1 D -R x 1990 2006 - O Sun>=1 2:45s 1 D -R w 1990 2007 - Mar Sun>=15 2s 0 S -R x 1990 2007 - Mar Sun>=15 2:45s 0 S -R w 2007 ma - S lastSun 2s 1 D -R x 2007 ma - S lastSun 2:45s 1 D -R w 2008 ma - Ap Sun>=1 2s 0 S -R x 2008 ma - Ap Sun>=1 2:45s 0 S -Z Pacific/Auckland 11:39:4 - LMT 1868 N 2 -11:30 w NZ%sT 1946 -12 w NZ%sT -Z Pacific/Chatham 12:13:48 - LMT 1868 N 2 -12:15 - +1215 1946 -12:45 x +1245/+1345 -Li Pacific/Auckland Antarctica/McMurdo -R y 1978 o - N 12 0 0:30 HS -R y 1979 1991 - Mar Sun>=1 0 0 - -R y 1979 1990 - O lastSun 0 0:30 HS -Z Pacific/Rarotonga -10:39:4 - LMT 1901 --10:30 - -1030 1978 N 12 --10 y -10/-0930 -Z Pacific/Niue -11:19:40 - LMT 1901 --11:20 - -1120 1951 --11:30 - -1130 1978 O --11 - -11 -Z Pacific/Norfolk 11:11:52 - LMT 1901 -11:12 - +1112 1951 -11:30 - +1130 1974 O 27 2 -11:30 1 +1230 1975 Mar 2 2 -11:30 - +1130 2015 O 4 2 -11 - +11 -Z Pacific/Palau 8:57:56 - LMT 1901 -9 - +09 -Z Pacific/Port_Moresby 9:48:40 - LMT 1880 -9:48:32 - PMMT 1895 -10 - +10 -Z Pacific/Bougainville 10:22:16 - LMT 1880 -9:48:32 - PMMT 1895 -10 - +10 1942 Jul -9 - +09 1945 Au 21 -10 - +10 2014 D 28 2 -11 - +11 -Z Pacific/Pitcairn -8:40:20 - LMT 1901 --8:30 - -0830 1998 Ap 27 --8 - -08 -Z Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 --11:22:48 - LMT 1911 --11 - SST -Li Pacific/Pago_Pago Pacific/Midway -R z 2010 o - S lastSun 0 1 D -R z 2011 o - Ap Sat>=1 4 0 S -R z 2011 o - S lastSat 3 1 D -R z 2012 ma - Ap Sun>=1 4 0 S -R z 2012 ma - S lastSun 3 1 D -Z Pacific/Apia 12:33:4 - LMT 1892 Jul 5 --11:26:56 - LMT 1911 --11:30 - -1130 1950 --11 z -11/-10 2011 D 29 24 -13 z +13/+14 -Z Pacific/Guadalcanal 10:39:48 - LMT 1912 O -11 - +11 -Z Pacific/Fakaofo -11:24:56 - LMT 1901 --11 - -11 2011 D 30 -13 - +13 -R ! 1999 o - O 7 2s 1 S -R ! 2000 o - Mar 19 2s 0 - -R ! 2000 2001 - N Sun>=1 2 1 S -R ! 2001 2002 - Ja lastSun 2 0 - -R ! 2016 o - N Sun>=1 2 1 S -R ! 2017 o - Ja Sun>=15 3 0 - -Z Pacific/Tongatapu 12:19:20 - LMT 1901 -12:20 - +1220 1941 -13 - +13 1999 -13 ! +13/+14 -Z Pacific/Funafuti 11:56:52 - LMT 1901 -12 - +12 -Z Pacific/Wake 11:6:28 - LMT 1901 -12 - +12 -R $ 1983 o - S 25 0 1 S -R $ 1984 1991 - Mar Sun>=23 0 0 - -R $ 1984 o - O 23 0 1 S -R $ 1985 1991 - S Sun>=23 0 1 S -R $ 1992 1993 - Ja Sun>=23 0 0 - -R $ 1992 o - O Sun>=23 0 1 S -Z Pacific/Efate 11:13:16 - LMT 1912 Ja 13 -11 $ +11/+12 -Z Pacific/Wallis 12:15:20 - LMT 1901 -12 - +12 -R % 1916 o - May 21 2s 1 BST -R % 1916 o - O 1 2s 0 GMT -R % 1917 o - Ap 8 2s 1 BST -R % 1917 o - S 17 2s 0 GMT -R % 1918 o - Mar 24 2s 1 BST -R % 1918 o - S 30 2s 0 GMT -R % 1919 o - Mar 30 2s 1 BST -R % 1919 o - S 29 2s 0 GMT -R % 1920 o - Mar 28 2s 1 BST -R % 1920 o - O 25 2s 0 GMT -R % 1921 o - Ap 3 2s 1 BST -R % 1921 o - O 3 2s 0 GMT -R % 1922 o - Mar 26 2s 1 BST -R % 1922 o - O 8 2s 0 GMT -R % 1923 o - Ap Sun>=16 2s 1 BST -R % 1923 1924 - S Sun>=16 2s 0 GMT -R % 1924 o - Ap Sun>=9 2s 1 BST -R % 1925 1926 - Ap Sun>=16 2s 1 BST -R % 1925 1938 - O Sun>=2 2s 0 GMT -R % 1927 o - Ap Sun>=9 2s 1 BST -R % 1928 1929 - Ap Sun>=16 2s 1 BST -R % 1930 o - Ap Sun>=9 2s 1 BST -R % 1931 1932 - Ap Sun>=16 2s 1 BST -R % 1933 o - Ap Sun>=9 2s 1 BST -R % 1934 o - Ap Sun>=16 2s 1 BST -R % 1935 o - Ap Sun>=9 2s 1 BST -R % 1936 1937 - Ap Sun>=16 2s 1 BST -R % 1938 o - Ap Sun>=9 2s 1 BST -R % 1939 o - Ap Sun>=16 2s 1 BST -R % 1939 o - N Sun>=16 2s 0 GMT -R % 1940 o - F Sun>=23 2s 1 BST -R % 1941 o - May Sun>=2 1s 2 BDST -R % 1941 1943 - Au Sun>=9 1s 1 BST -R % 1942 1944 - Ap Sun>=2 1s 2 BDST -R % 1944 o - S Sun>=16 1s 1 BST -R % 1945 o - Ap M>=2 1s 2 BDST -R % 1945 o - Jul Sun>=9 1s 1 BST -R % 1945 1946 - O Sun>=2 2s 0 GMT -R % 1946 o - Ap Sun>=9 2s 1 BST -R % 1947 o - Mar 16 2s 1 BST -R % 1947 o - Ap 13 1s 2 BDST -R % 1947 o - Au 10 1s 1 BST -R % 1947 o - N 2 2s 0 GMT -R % 1948 o - Mar 14 2s 1 BST -R % 1948 o - O 31 2s 0 GMT -R % 1949 o - Ap 3 2s 1 BST -R % 1949 o - O 30 2s 0 GMT -R % 1950 1952 - Ap Sun>=14 2s 1 BST -R % 1950 1952 - O Sun>=21 2s 0 GMT -R % 1953 o - Ap Sun>=16 2s 1 BST -R % 1953 1960 - O Sun>=2 2s 0 GMT -R % 1954 o - Ap Sun>=9 2s 1 BST -R % 1955 1956 - Ap Sun>=16 2s 1 BST -R % 1957 o - Ap Sun>=9 2s 1 BST -R % 1958 1959 - Ap Sun>=16 2s 1 BST -R % 1960 o - Ap Sun>=9 2s 1 BST -R % 1961 1963 - Mar lastSun 2s 1 BST -R % 1961 1968 - O Sun>=23 2s 0 GMT -R % 1964 1967 - Mar Sun>=19 2s 1 BST -R % 1968 o - F 18 2s 1 BST -R % 1972 1980 - Mar Sun>=16 2s 1 BST -R % 1972 1980 - O Sun>=23 2s 0 GMT -R % 1981 1995 - Mar lastSun 1u 1 BST -R % 1981 1989 - O Sun>=23 1u 0 GMT -R % 1990 1995 - O Sun>=22 1u 0 GMT -Z Europe/London -0:1:15 - LMT 1847 D 1 0s -0 % %s 1968 O 27 -1 - BST 1971 O 31 2u -0 % %s 1996 -0 O GMT/BST -Li Europe/London Europe/Jersey -Li Europe/London Europe/Guernsey -Li Europe/London Europe/Isle_of_Man -Z Europe/Dublin -0:25 - LMT 1880 Au 2 --0:25:21 - DMT 1916 May 21 2s --0:25:21 1 IST 1916 O 1 2s -0 % %s 1921 D 6 -0 % GMT/IST 1940 F 25 2s -0 1 IST 1946 O 6 2s -0 - GMT 1947 Mar 16 2s -0 1 IST 1947 N 2 2s -0 - GMT 1948 Ap 18 2s -0 % GMT/IST 1968 O 27 -1 - IST 1971 O 31 2u -0 % GMT/IST 1996 -0 O GMT/IST -R O 1977 1980 - Ap Sun>=1 1u 1 S -R O 1977 o - S lastSun 1u 0 - -R O 1978 o - O 1 1u 0 - -R O 1979 1995 - S lastSun 1u 0 - -R O 1981 ma - Mar lastSun 1u 1 S -R O 1996 ma - O lastSun 1u 0 - -R & 1977 1980 - Ap Sun>=1 1s 1 S -R & 1977 o - S lastSun 1s 0 - -R & 1978 o - O 1 1s 0 - -R & 1979 1995 - S lastSun 1s 0 - -R & 1981 ma - Mar lastSun 1s 1 S -R & 1996 ma - O lastSun 1s 0 - -R ' 1916 o - Ap 30 23 1 S -R ' 1916 o - O 1 1 0 - -R ' 1917 1918 - Ap M>=15 2s 1 S -R ' 1917 1918 - S M>=15 2s 0 - -R ' 1940 o - Ap 1 2s 1 S -R ' 1942 o - N 2 2s 0 - -R ' 1943 o - Mar 29 2s 1 S -R ' 1943 o - O 4 2s 0 - -R ' 1944 1945 - Ap M>=1 2s 1 S -R ' 1944 o - O 2 2s 0 - -R ' 1945 o - S 16 2s 0 - -R ' 1977 1980 - Ap Sun>=1 2s 1 S -R ' 1977 o - S lastSun 2s 0 - -R ' 1978 o - O 1 2s 0 - -R ' 1979 1995 - S lastSun 2s 0 - -R ' 1981 ma - Mar lastSun 2s 1 S -R ' 1996 ma - O lastSun 2s 0 - -R W 1977 1980 - Ap Sun>=1 0 1 S -R W 1977 o - S lastSun 0 0 - -R W 1978 o - O 1 0 0 - -R W 1979 1995 - S lastSun 0 0 - -R W 1981 ma - Mar lastSun 0 1 S -R W 1996 ma - O lastSun 0 0 - -R M 1917 o - Jul 1 23 1 MST -R M 1917 o - D 28 0 0 MMT -R M 1918 o - May 31 22 2 MDST -R M 1918 o - S 16 1 1 MST -R M 1919 o - May 31 23 2 MDST -R M 1919 o - Jul 1 0u 1 MSD -R M 1919 o - Au 16 0 0 MSK -R M 1921 o - F 14 23 1 MSD -R M 1921 o - Mar 20 23 2 +05 -R M 1921 o - S 1 0 1 MSD -R M 1921 o - O 1 0 0 - -R M 1981 1984 - Ap 1 0 1 S -R M 1981 1983 - O 1 0 0 - -R M 1984 1995 - S lastSun 2s 0 - -R M 1985 2010 - Mar lastSun 2s 1 S -R M 1996 2010 - O lastSun 2s 0 - -Z WET 0 O WE%sT -Z CET 1 ' CE%sT -Z MET 1 ' ME%sT -Z EET 2 O EE%sT -R ( 1940 o - Jun 16 0 1 S -R ( 1942 o - N 2 3 0 - -R ( 1943 o - Mar 29 2 1 S -R ( 1943 o - Ap 10 3 0 - -R ( 1974 o - May 4 0 1 S -R ( 1974 o - O 2 0 0 - -R ( 1975 o - May 1 0 1 S -R ( 1975 o - O 2 0 0 - -R ( 1976 o - May 2 0 1 S -R ( 1976 o - O 3 0 0 - -R ( 1977 o - May 8 0 1 S -R ( 1977 o - O 2 0 0 - -R ( 1978 o - May 6 0 1 S -R ( 1978 o - O 1 0 0 - -R ( 1979 o - May 5 0 1 S -R ( 1979 o - S 30 0 0 - -R ( 1980 o - May 3 0 1 S -R ( 1980 o - O 4 0 0 - -R ( 1981 o - Ap 26 0 1 S -R ( 1981 o - S 27 0 0 - -R ( 1982 o - May 2 0 1 S -R ( 1982 o - O 3 0 0 - -R ( 1983 o - Ap 18 0 1 S -R ( 1983 o - O 1 0 0 - -R ( 1984 o - Ap 1 0 1 S -Z Europe/Tirane 1:19:20 - LMT 1914 -1 - CET 1940 Jun 16 -1 ( CE%sT 1984 Jul -1 O CE%sT -Z Europe/Andorra 0:6:4 - LMT 1901 -0 - WET 1946 S 30 -1 - CET 1985 Mar 31 2 -1 O CE%sT -R ) 1920 o - Ap 5 2s 1 S -R ) 1920 o - S 13 2s 0 - -R ) 1946 o - Ap 14 2s 1 S -R ) 1946 1948 - O Sun>=1 2s 0 - -R ) 1947 o - Ap 6 2s 1 S -R ) 1948 o - Ap 18 2s 1 S -R ) 1980 o - Ap 6 0 1 S -R ) 1980 o - S 28 0 0 - -Z Europe/Vienna 1:5:21 - LMT 1893 Ap -1 ' CE%sT 1920 -1 ) CE%sT 1940 Ap 1 2s -1 ' CE%sT 1945 Ap 2 2s -1 1 CEST 1945 Ap 12 2s -1 - CET 1946 -1 ) CE%sT 1981 -1 O CE%sT -Z Europe/Minsk 1:50:16 - LMT 1880 -1:50 - MMT 1924 May 2 -2 - EET 1930 Jun 21 -3 - MSK 1941 Jun 28 -1 ' CE%sT 1944 Jul 3 -3 M MSK/MSD 1990 -3 - MSK 1991 Mar 31 2s -2 M EE%sT 2011 Mar 27 2s -3 - +03 -R * 1918 o - Mar 9 0s 1 S -R * 1918 1919 - O Sat>=1 23s 0 - -R * 1919 o - Mar 1 23s 1 S -R * 1920 o - F 14 23s 1 S -R * 1920 o - O 23 23s 0 - -R * 1921 o - Mar 14 23s 1 S -R * 1921 o - O 25 23s 0 - -R * 1922 o - Mar 25 23s 1 S -R * 1922 1927 - O Sat>=1 23s 0 - -R * 1923 o - Ap 21 23s 1 S -R * 1924 o - Mar 29 23s 1 S -R * 1925 o - Ap 4 23s 1 S -R * 1926 o - Ap 17 23s 1 S -R * 1927 o - Ap 9 23s 1 S -R * 1928 o - Ap 14 23s 1 S -R * 1928 1938 - O Sun>=2 2s 0 - -R * 1929 o - Ap 21 2s 1 S -R * 1930 o - Ap 13 2s 1 S -R * 1931 o - Ap 19 2s 1 S -R * 1932 o - Ap 3 2s 1 S -R * 1933 o - Mar 26 2s 1 S -R * 1934 o - Ap 8 2s 1 S -R * 1935 o - Mar 31 2s 1 S -R * 1936 o - Ap 19 2s 1 S -R * 1937 o - Ap 4 2s 1 S -R * 1938 o - Mar 27 2s 1 S -R * 1939 o - Ap 16 2s 1 S -R * 1939 o - N 19 2s 0 - -R * 1940 o - F 25 2s 1 S -R * 1944 o - S 17 2s 0 - -R * 1945 o - Ap 2 2s 1 S -R * 1945 o - S 16 2s 0 - -R * 1946 o - May 19 2s 1 S -R * 1946 o - O 7 2s 0 - -Z Europe/Brussels 0:17:30 - LMT 1880 -0:17:30 - BMT 1892 May 1 12 -0 - WET 1914 N 8 -1 - CET 1916 May -1 ' CE%sT 1918 N 11 11u -0 * WE%sT 1940 May 20 2s -1 ' CE%sT 1944 S 3 -1 * CE%sT 1977 -1 O CE%sT -R + 1979 o - Mar 31 23 1 S -R + 1979 o - O 1 1 0 - -R + 1980 1982 - Ap Sat>=1 23 1 S -R + 1980 o - S 29 1 0 - -R + 1981 o - S 27 2 0 - -Z Europe/Sofia 1:33:16 - LMT 1880 -1:56:56 - IMT 1894 N 30 -2 - EET 1942 N 2 3 -1 ' CE%sT 1945 -1 - CET 1945 Ap 2 3 -2 - EET 1979 Mar 31 23 -2 + EE%sT 1982 S 26 3 -2 ' EE%sT 1991 -2 W EE%sT 1997 -2 O EE%sT -R , 1945 o - Ap 8 2s 1 S -R , 1945 o - N 18 2s 0 - -R , 1946 o - May 6 2s 1 S -R , 1946 1949 - O Sun>=1 2s 0 - -R , 1947 o - Ap 20 2s 1 S -R , 1948 o - Ap 18 2s 1 S -R , 1949 o - Ap 9 2s 1 S -Z Europe/Prague 0:57:44 - LMT 1850 -0:57:44 - PMT 1891 O -1 ' CE%sT 1944 S 17 2s -1 , CE%sT 1979 -1 O CE%sT -R . 1916 o - May 14 23 1 S -R . 1916 o - S 30 23 0 - -R . 1940 o - May 15 0 1 S -R . 1945 o - Ap 2 2s 1 S -R . 1945 o - Au 15 2s 0 - -R . 1946 o - May 1 2s 1 S -R . 1946 o - S 1 2s 0 - -R . 1947 o - May 4 2s 1 S -R . 1947 o - Au 10 2s 0 - -R . 1948 o - May 9 2s 1 S -R . 1948 o - Au 8 2s 0 - -Z Europe/Copenhagen 0:50:20 - LMT 1890 -0:50:20 - CMT 1894 -1 . CE%sT 1942 N 2 2s -1 ' CE%sT 1945 Ap 2 2 -1 . CE%sT 1980 -1 O CE%sT -Z Atlantic/Faroe -0:27:4 - LMT 1908 Ja 11 -0 - WET 1981 -0 O WE%sT -R / 1991 1992 - Mar lastSun 2 1 D -R / 1991 1992 - S lastSun 2 0 S -R / 1993 2006 - Ap Sun>=1 2 1 D -R / 1993 2006 - O lastSun 2 0 S -R / 2007 ma - Mar Sun>=8 2 1 D -R / 2007 ma - N Sun>=1 2 0 S -Z America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28 --3 - -03 1980 Ap 6 2 --3 O -03/-02 1996 -0 - GMT -Z America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 --2 - -02 1980 Ap 6 2 --2 ' -02/-01 1981 Mar 29 --1 O -01/+00 -Z America/Godthab -3:26:56 - LMT 1916 Jul 28 --3 - -03 1980 Ap 6 2 --3 O -03/-02 -Z America/Thule -4:35:8 - LMT 1916 Jul 28 --4 / A%sT -Z Europe/Tallinn 1:39 - LMT 1880 -1:39 - TMT 1918 F -1 ' CE%sT 1919 Jul -1:39 - TMT 1921 May -2 - EET 1940 Au 6 -3 - MSK 1941 S 15 -1 ' CE%sT 1944 S 22 -3 M MSK/MSD 1989 Mar 26 2s -2 1 EEST 1989 S 24 2s -2 ' EE%sT 1998 S 22 -2 O EE%sT 1999 O 31 4 -2 - EET 2002 F 21 -2 O EE%sT -R : 1942 o - Ap 2 24 1 S -R : 1942 o - O 4 1 0 - -R : 1981 1982 - Mar lastSun 2 1 S -R : 1981 1982 - S lastSun 3 0 - -Z Europe/Helsinki 1:39:49 - LMT 1878 May 31 -1:39:49 - HMT 1921 May -2 : EE%sT 1983 -2 O EE%sT -Li Europe/Helsinki Europe/Mariehamn -R ; 1916 o - Jun 14 23s 1 S -R ; 1916 1919 - O Sun>=1 23s 0 - -R ; 1917 o - Mar 24 23s 1 S -R ; 1918 o - Mar 9 23s 1 S -R ; 1919 o - Mar 1 23s 1 S -R ; 1920 o - F 14 23s 1 S -R ; 1920 o - O 23 23s 0 - -R ; 1921 o - Mar 14 23s 1 S -R ; 1921 o - O 25 23s 0 - -R ; 1922 o - Mar 25 23s 1 S -R ; 1922 1938 - O Sat>=1 23s 0 - -R ; 1923 o - May 26 23s 1 S -R ; 1924 o - Mar 29 23s 1 S -R ; 1925 o - Ap 4 23s 1 S -R ; 1926 o - Ap 17 23s 1 S -R ; 1927 o - Ap 9 23s 1 S -R ; 1928 o - Ap 14 23s 1 S -R ; 1929 o - Ap 20 23s 1 S -R ; 1930 o - Ap 12 23s 1 S -R ; 1931 o - Ap 18 23s 1 S -R ; 1932 o - Ap 2 23s 1 S -R ; 1933 o - Mar 25 23s 1 S -R ; 1934 o - Ap 7 23s 1 S -R ; 1935 o - Mar 30 23s 1 S -R ; 1936 o - Ap 18 23s 1 S -R ; 1937 o - Ap 3 23s 1 S -R ; 1938 o - Mar 26 23s 1 S -R ; 1939 o - Ap 15 23s 1 S -R ; 1939 o - N 18 23s 0 - -R ; 1940 o - F 25 2 1 S -R ; 1941 o - May 5 0 2 M -R ; 1941 o - O 6 0 1 S -R ; 1942 o - Mar 9 0 2 M -R ; 1942 o - N 2 3 1 S -R ; 1943 o - Mar 29 2 2 M -R ; 1943 o - O 4 3 1 S -R ; 1944 o - Ap 3 2 2 M -R ; 1944 o - O 8 1 1 S -R ; 1945 o - Ap 2 2 2 M -R ; 1945 o - S 16 3 0 - -R ; 1976 o - Mar 28 1 1 S -R ; 1976 o - S 26 1 0 - -Z Europe/Paris 0:9:21 - LMT 1891 Mar 15 0:1 -0:9:21 - PMT 1911 Mar 11 0:1 -0 ; WE%sT 1940 Jun 14 23 -1 ' CE%sT 1944 Au 25 -0 ; WE%sT 1945 S 16 3 -1 ; CE%sT 1977 -1 O CE%sT -R < 1946 o - Ap 14 2s 1 S -R < 1946 o - O 7 2s 0 - -R < 1947 1949 - O Sun>=1 2s 0 - -R < 1947 o - Ap 6 3s 1 S -R < 1947 o - May 11 2s 2 M -R < 1947 o - Jun 29 3 1 S -R < 1948 o - Ap 18 2s 1 S -R < 1949 o - Ap 10 2s 1 S -R = 1945 o - May 24 2 2 M -R = 1945 o - S 24 3 1 S -R = 1945 o - N 18 2s 0 - -Z Europe/Berlin 0:53:28 - LMT 1893 Ap -1 ' CE%sT 1945 May 24 2 -1 = CE%sT 1946 -1 < CE%sT 1980 -1 O CE%sT -Li Europe/Zurich Europe/Busingen -Z Europe/Gibraltar -0:21:24 - LMT 1880 Au 2 0s -0 % %s 1957 Ap 14 2 -1 - CET 1982 -1 O CE%sT -R > 1932 o - Jul 7 0 1 S -R > 1932 o - S 1 0 0 - -R > 1941 o - Ap 7 0 1 S -R > 1942 o - N 2 3 0 - -R > 1943 o - Mar 30 0 1 S -R > 1943 o - O 4 0 0 - -R > 1952 o - Jul 1 0 1 S -R > 1952 o - N 2 0 0 - -R > 1975 o - Ap 12 0s 1 S -R > 1975 o - N 26 0s 0 - -R > 1976 o - Ap 11 2s 1 S -R > 1976 o - O 10 2s 0 - -R > 1977 1978 - Ap Sun>=1 2s 1 S -R > 1977 o - S 26 2s 0 - -R > 1978 o - S 24 4 0 - -R > 1979 o - Ap 1 9 1 S -R > 1979 o - S 29 2 0 - -R > 1980 o - Ap 1 0 1 S -R > 1980 o - S 28 0 0 - -Z Europe/Athens 1:34:52 - LMT 1895 S 14 -1:34:52 - AMT 1916 Jul 28 0:1 -2 > EE%sT 1941 Ap 30 -1 > CE%sT 1944 Ap 4 -2 > EE%sT 1981 -2 O EE%sT -R ? 1918 o - Ap 1 3 1 S -R ? 1918 o - S 16 3 0 - -R ? 1919 o - Ap 15 3 1 S -R ? 1919 o - N 24 3 0 - -R ? 1945 o - May 1 23 1 S -R ? 1945 o - N 1 0 0 - -R ? 1946 o - Mar 31 2s 1 S -R ? 1946 1949 - O Sun>=1 2s 0 - -R ? 1947 1949 - Ap Sun>=4 2s 1 S -R ? 1950 o - Ap 17 2s 1 S -R ? 1950 o - O 23 2s 0 - -R ? 1954 1955 - May 23 0 1 S -R ? 1954 1955 - O 3 0 0 - -R ? 1956 o - Jun Sun>=1 0 1 S -R ? 1956 o - S lastSun 0 0 - -R ? 1957 o - Jun Sun>=1 1 1 S -R ? 1957 o - S lastSun 3 0 - -R ? 1980 o - Ap 6 1 1 S -Z Europe/Budapest 1:16:20 - LMT 1890 O -1 ' CE%sT 1918 -1 ? CE%sT 1941 Ap 8 -1 ' CE%sT 1945 -1 ? CE%sT 1980 S 28 2s -1 O CE%sT -R @ 1917 1919 - F 19 23 1 S -R @ 1917 o - O 21 1 0 - -R @ 1918 1919 - N 16 1 0 - -R @ 1921 o - Mar 19 23 1 S -R @ 1921 o - Jun 23 1 0 - -R @ 1939 o - Ap 29 23 1 S -R @ 1939 o - O 29 2 0 - -R @ 1940 o - F 25 2 1 S -R @ 1940 1941 - N Sun>=2 1s 0 - -R @ 1941 1942 - Mar Sun>=2 1s 1 S -R @ 1943 1946 - Mar Sun>=1 1s 1 S -R @ 1942 1948 - O Sun>=22 1s 0 - -R @ 1947 1967 - Ap Sun>=1 1s 1 S -R @ 1949 o - O 30 1s 0 - -R @ 1950 1966 - O Sun>=22 1s 0 - -R @ 1967 o - O 29 1s 0 - -Z Atlantic/Reykjavik -1:28 - LMT 1908 --1 @ -01/+00 1968 Ap 7 1s -0 - GMT -R [ 1916 o - Jun 3 24 1 S -R [ 1916 1917 - S 30 24 0 - -R [ 1917 o - Mar 31 24 1 S -R [ 1918 o - Mar 9 24 1 S -R [ 1918 o - O 6 24 0 - -R [ 1919 o - Mar 1 24 1 S -R [ 1919 o - O 4 24 0 - -R [ 1920 o - Mar 20 24 1 S -R [ 1920 o - S 18 24 0 - -R [ 1940 o - Jun 14 24 1 S -R [ 1942 o - N 2 2s 0 - -R [ 1943 o - Mar 29 2s 1 S -R [ 1943 o - O 4 2s 0 - -R [ 1944 o - Ap 2 2s 1 S -R [ 1944 o - S 17 2s 0 - -R [ 1945 o - Ap 2 2 1 S -R [ 1945 o - S 15 1 0 - -R [ 1946 o - Mar 17 2s 1 S -R [ 1946 o - O 6 2s 0 - -R [ 1947 o - Mar 16 0s 1 S -R [ 1947 o - O 5 0s 0 - -R [ 1948 o - F 29 2s 1 S -R [ 1948 o - O 3 2s 0 - -R [ 1966 1968 - May Sun>=22 0s 1 S -R [ 1966 o - S 24 24 0 - -R [ 1967 1969 - S Sun>=22 0s 0 - -R [ 1969 o - Jun 1 0s 1 S -R [ 1970 o - May 31 0s 1 S -R [ 1970 o - S lastSun 0s 0 - -R [ 1971 1972 - May Sun>=22 0s 1 S -R [ 1971 o - S lastSun 0s 0 - -R [ 1972 o - O 1 0s 0 - -R [ 1973 o - Jun 3 0s 1 S -R [ 1973 1974 - S lastSun 0s 0 - -R [ 1974 o - May 26 0s 1 S -R [ 1975 o - Jun 1 0s 1 S -R [ 1975 1977 - S lastSun 0s 0 - -R [ 1976 o - May 30 0s 1 S -R [ 1977 1979 - May Sun>=22 0s 1 S -R [ 1978 o - O 1 0s 0 - -R [ 1979 o - S 30 0s 0 - -Z Europe/Rome 0:49:56 - LMT 1866 S 22 -0:49:56 - RMT 1893 O 31 23:49:56 -1 [ CE%sT 1943 S 10 -1 ' CE%sT 1944 Jun 4 -1 [ CE%sT 1980 -1 O CE%sT -Li Europe/Rome Europe/Vatican -Li Europe/Rome Europe/San_Marino -R \ 1989 1996 - Mar lastSun 2s 1 S -R \ 1989 1996 - S lastSun 2s 0 - -Z Europe/Riga 1:36:34 - LMT 1880 -1:36:34 - RMT 1918 Ap 15 2 -1:36:34 1 LST 1918 S 16 3 -1:36:34 - RMT 1919 Ap 1 2 -1:36:34 1 LST 1919 May 22 3 -1:36:34 - RMT 1926 May 11 -2 - EET 1940 Au 5 -3 - MSK 1941 Jul -1 ' CE%sT 1944 O 13 -3 M MSK/MSD 1989 Mar lastSun 2s -2 1 EEST 1989 S lastSun 2s -2 \ EE%sT 1997 Ja 21 -2 O EE%sT 2000 F 29 -2 - EET 2001 Ja 2 -2 O EE%sT -Li Europe/Zurich Europe/Vaduz -Z Europe/Vilnius 1:41:16 - LMT 1880 -1:24 - WMT 1917 -1:35:36 - KMT 1919 O 10 -1 - CET 1920 Jul 12 -2 - EET 1920 O 9 -1 - CET 1940 Au 3 -3 - MSK 1941 Jun 24 -1 ' CE%sT 1944 Au -3 M MSK/MSD 1989 Mar 26 2s -2 M EE%sT 1991 S 29 2s -2 ' EE%sT 1998 -2 - EET 1998 Mar 29 1u -1 O CE%sT 1999 O 31 1u -2 - EET 2003 -2 O EE%sT -R ] 1916 o - May 14 23 1 S -R ] 1916 o - O 1 1 0 - -R ] 1917 o - Ap 28 23 1 S -R ] 1917 o - S 17 1 0 - -R ] 1918 o - Ap M>=15 2s 1 S -R ] 1918 o - S M>=15 2s 0 - -R ] 1919 o - Mar 1 23 1 S -R ] 1919 o - O 5 3 0 - -R ] 1920 o - F 14 23 1 S -R ] 1920 o - O 24 2 0 - -R ] 1921 o - Mar 14 23 1 S -R ] 1921 o - O 26 2 0 - -R ] 1922 o - Mar 25 23 1 S -R ] 1922 o - O Sun>=2 1 0 - -R ] 1923 o - Ap 21 23 1 S -R ] 1923 o - O Sun>=2 2 0 - -R ] 1924 o - Mar 29 23 1 S -R ] 1924 1928 - O Sun>=2 1 0 - -R ] 1925 o - Ap 5 23 1 S -R ] 1926 o - Ap 17 23 1 S -R ] 1927 o - Ap 9 23 1 S -R ] 1928 o - Ap 14 23 1 S -R ] 1929 o - Ap 20 23 1 S -Z Europe/Luxembourg 0:24:36 - LMT 1904 Jun -1 ] CE%sT 1918 N 25 -0 ] WE%sT 1929 O 6 2s -0 * WE%sT 1940 May 14 3 -1 ' WE%sT 1944 S 18 3 -1 * CE%sT 1977 -1 O CE%sT -R ^ 1973 o - Mar 31 0s 1 S -R ^ 1973 o - S 29 0s 0 - -R ^ 1974 o - Ap 21 0s 1 S -R ^ 1974 o - S 16 0s 0 - -R ^ 1975 1979 - Ap Sun>=15 2 1 S -R ^ 1975 1980 - S Sun>=15 2 0 - -R ^ 1980 o - Mar 31 2 1 S -Z Europe/Malta 0:58:4 - LMT 1893 N 2 0s -1 [ CE%sT 1973 Mar 31 -1 ^ CE%sT 1981 -1 O CE%sT -R _ 1997 ma - Mar lastSun 2 1 S -R _ 1997 ma - O lastSun 3 0 - -Z Europe/Chisinau 1:55:20 - LMT 1880 -1:55 - CMT 1918 F 15 -1:44:24 - BMT 1931 Jul 24 -2 ` EE%sT 1940 Au 15 -2 1 EEST 1941 Jul 17 -1 ' CE%sT 1944 Au 24 -3 M MSK/MSD 1990 May 6 2 -2 M EE%sT 1992 -2 W EE%sT 1997 -2 _ EE%sT -Z Europe/Monaco 0:29:32 - LMT 1891 Mar 15 -0:9:21 - PMT 1911 Mar 11 -0 ; WE%sT 1945 S 16 3 -1 ; CE%sT 1977 -1 O CE%sT -R { 1916 o - May 1 0 1 NST -R { 1916 o - O 1 0 0 AMT -R { 1917 o - Ap 16 2s 1 NST -R { 1917 o - S 17 2s 0 AMT -R { 1918 1921 - Ap M>=1 2s 1 NST -R { 1918 1921 - S lastM 2s 0 AMT -R { 1922 o - Mar lastSun 2s 1 NST -R { 1922 1936 - O Sun>=2 2s 0 AMT -R { 1923 o - Jun F>=1 2s 1 NST -R { 1924 o - Mar lastSun 2s 1 NST -R { 1925 o - Jun F>=1 2s 1 NST -R { 1926 1931 - May 15 2s 1 NST -R { 1932 o - May 22 2s 1 NST -R { 1933 1936 - May 15 2s 1 NST -R { 1937 o - May 22 2s 1 NST -R { 1937 o - Jul 1 0 1 S -R { 1937 1939 - O Sun>=2 2s 0 - -R { 1938 1939 - May 15 2s 1 S -R { 1945 o - Ap 2 2s 1 S -R { 1945 o - S 16 2s 0 - -Z Europe/Amsterdam 0:19:32 - LMT 1835 -0:19:32 { %s 1937 Jul -0:20 { +0020/+0120 1940 May 16 -1 ' CE%sT 1945 Ap 2 2 -1 { CE%sT 1977 -1 O CE%sT -R | 1916 o - May 22 1 1 S -R | 1916 o - S 30 0 0 - -R | 1945 o - Ap 2 2s 1 S -R | 1945 o - O 1 2s 0 - -R | 1959 1964 - Mar Sun>=15 2s 1 S -R | 1959 1965 - S Sun>=15 2s 0 - -R | 1965 o - Ap 25 2s 1 S -Z Europe/Oslo 0:43 - LMT 1895 -1 | CE%sT 1940 Au 10 23 -1 ' CE%sT 1945 Ap 2 2 -1 | CE%sT 1980 -1 O CE%sT -Li Europe/Oslo Arctic/Longyearbyen -R } 1918 1919 - S 16 2s 0 - -R } 1919 o - Ap 15 2s 1 S -R } 1944 o - Ap 3 2s 1 S -R } 1944 o - O 4 2 0 - -R } 1945 o - Ap 29 0 1 S -R } 1945 o - N 1 0 0 - -R } 1946 o - Ap 14 0s 1 S -R } 1946 o - O 7 2s 0 - -R } 1947 o - May 4 2s 1 S -R } 1947 1949 - O Sun>=1 2s 0 - -R } 1948 o - Ap 18 2s 1 S -R } 1949 o - Ap 10 2s 1 S -R } 1957 o - Jun 2 1s 1 S -R } 1957 1958 - S lastSun 1s 0 - -R } 1958 o - Mar 30 1s 1 S -R } 1959 o - May 31 1s 1 S -R } 1959 1961 - O Sun>=1 1s 0 - -R } 1960 o - Ap 3 1s 1 S -R } 1961 1964 - May lastSun 1s 1 S -R } 1962 1964 - S lastSun 1s 0 - -Z Europe/Warsaw 1:24 - LMT 1880 -1:24 - WMT 1915 Au 5 -1 ' CE%sT 1918 S 16 3 -2 } EE%sT 1922 Jun -1 } CE%sT 1940 Jun 23 2 -1 ' CE%sT 1944 O -1 } CE%sT 1977 -1 & CE%sT 1988 -1 O CE%sT -R ~ 1916 o - Jun 17 23 1 S -R ~ 1916 o - N 1 1 0 - -R ~ 1917 o - F 28 23s 1 S -R ~ 1917 1921 - O 14 23s 0 - -R ~ 1918 o - Mar 1 23s 1 S -R ~ 1919 o - F 28 23s 1 S -R ~ 1920 o - F 29 23s 1 S -R ~ 1921 o - F 28 23s 1 S -R ~ 1924 o - Ap 16 23s 1 S -R ~ 1924 o - O 14 23s 0 - -R ~ 1926 o - Ap 17 23s 1 S -R ~ 1926 1929 - O Sat>=1 23s 0 - -R ~ 1927 o - Ap 9 23s 1 S -R ~ 1928 o - Ap 14 23s 1 S -R ~ 1929 o - Ap 20 23s 1 S -R ~ 1931 o - Ap 18 23s 1 S -R ~ 1931 1932 - O Sat>=1 23s 0 - -R ~ 1932 o - Ap 2 23s 1 S -R ~ 1934 o - Ap 7 23s 1 S -R ~ 1934 1938 - O Sat>=1 23s 0 - -R ~ 1935 o - Mar 30 23s 1 S -R ~ 1936 o - Ap 18 23s 1 S -R ~ 1937 o - Ap 3 23s 1 S -R ~ 1938 o - Mar 26 23s 1 S -R ~ 1939 o - Ap 15 23s 1 S -R ~ 1939 o - N 18 23s 0 - -R ~ 1940 o - F 24 23s 1 S -R ~ 1940 1941 - O 5 23s 0 - -R ~ 1941 o - Ap 5 23s 1 S -R ~ 1942 1945 - Mar Sat>=8 23s 1 S -R ~ 1942 o - Ap 25 22s 2 M -R ~ 1942 o - Au 15 22s 1 S -R ~ 1942 1945 - O Sat>=24 23s 0 - -R ~ 1943 o - Ap 17 22s 2 M -R ~ 1943 1945 - Au Sat>=25 22s 1 S -R ~ 1944 1945 - Ap Sat>=21 22s 2 M -R ~ 1946 o - Ap Sat>=1 23s 1 S -R ~ 1946 o - O Sat>=1 23s 0 - -R ~ 1947 1949 - Ap Sun>=1 2s 1 S -R ~ 1947 1949 - O Sun>=1 2s 0 - -R ~ 1951 1965 - Ap Sun>=1 2s 1 S -R ~ 1951 1965 - O Sun>=1 2s 0 - -R ~ 1977 o - Mar 27 0s 1 S -R ~ 1977 o - S 25 0s 0 - -R ~ 1978 1979 - Ap Sun>=1 0s 1 S -R ~ 1978 o - O 1 0s 0 - -R ~ 1979 1982 - S lastSun 1s 0 - -R ~ 1980 o - Mar lastSun 0s 1 S -R ~ 1981 1982 - Mar lastSun 1s 1 S -R ~ 1983 o - Mar lastSun 2s 1 S -Z Europe/Lisbon -0:36:45 - LMT 1884 --0:36:45 - LMT 1912 -0 ~ WE%sT 1966 Ap 3 2 -1 - CET 1976 S 26 1 -0 ~ WE%sT 1983 S 25 1s -0 & WE%sT 1992 S 27 1s -1 O CE%sT 1996 Mar 31 1u -0 O WE%sT -Z Atlantic/Azores -1:42:40 - LMT 1884 --1:54:32 - HMT 1912 --2 ~ -02/-01 1942 Ap 25 22s --2 ~ +00 1942 Au 15 22s --2 ~ -02/-01 1943 Ap 17 22s --2 ~ +00 1943 Au 28 22s --2 ~ -02/-01 1944 Ap 22 22s --2 ~ +00 1944 Au 26 22s --2 ~ -02/-01 1945 Ap 21 22s --2 ~ +00 1945 Au 25 22s --2 ~ -02/-01 1966 Ap 3 2 --1 ~ -01/+00 1983 S 25 1s --1 & -01/+00 1992 S 27 1s -0 O WE%sT 1993 Mar 28 1u --1 O -01/+00 -Z Atlantic/Madeira -1:7:36 - LMT 1884 --1:7:36 - FMT 1912 --1 ~ -01/+00 1942 Ap 25 22s --1 ~ +01 1942 Au 15 22s --1 ~ -01/+00 1943 Ap 17 22s --1 ~ +01 1943 Au 28 22s --1 ~ -01/+00 1944 Ap 22 22s --1 ~ +01 1944 Au 26 22s --1 ~ -01/+00 1945 Ap 21 22s --1 ~ +01 1945 Au 25 22s --1 ~ -01/+00 1966 Ap 3 2 -0 ~ WE%sT 1983 S 25 1s -0 O WE%sT -R ` 1932 o - May 21 0s 1 S -R ` 1932 1939 - O Sun>=1 0s 0 - -R ` 1933 1939 - Ap Sun>=2 0s 1 S -R ` 1979 o - May 27 0 1 S -R ` 1979 o - S lastSun 0 0 - -R ` 1980 o - Ap 5 23 1 S -R ` 1980 o - S lastSun 1 0 - -R ` 1991 1993 - Mar lastSun 0s 1 S -R ` 1991 1993 - S lastSun 0s 0 - -Z Europe/Bucharest 1:44:24 - LMT 1891 O -1:44:24 - BMT 1931 Jul 24 -2 ` EE%sT 1981 Mar 29 2s -2 ' EE%sT 1991 -2 ` EE%sT 1994 -2 W EE%sT 1997 -2 O EE%sT -Z Europe/Kaliningrad 1:22 - LMT 1893 Ap -1 ' CE%sT 1945 -2 } CE%sT 1946 -3 M MSK/MSD 1989 Mar 26 2s -2 M EE%sT 2011 Mar 27 2s -3 - +03 2014 O 26 2s -2 - EET -Z Europe/Moscow 2:30:17 - LMT 1880 -2:30:17 - MMT 1916 Jul 3 -2:31:19 M %s 1919 Jul 1 0u -3 M %s 1921 O -3 M MSK/MSD 1922 O -2 - EET 1930 Jun 21 -3 M MSK/MSD 1991 Mar 31 2s -2 M EE%sT 1992 Ja 19 2s -3 M MSK/MSD 2011 Mar 27 2s -4 - MSK 2014 O 26 2s -3 - MSK -Z Europe/Simferopol 2:16:24 - LMT 1880 -2:16 - SMT 1924 May 2 -2 - EET 1930 Jun 21 -3 - MSK 1941 N -1 ' CE%sT 1944 Ap 13 -3 M MSK/MSD 1990 -3 - MSK 1990 Jul 1 2 -2 - EET 1992 -2 W EE%sT 1994 May -3 W MSK/MSD 1996 Mar 31 0s -3 1 MSD 1996 O 27 3s -3 M MSK/MSD 1997 -3 - MSK 1997 Mar lastSun 1u -2 O EE%sT 2014 Mar 30 2 -4 - MSK 2014 O 26 2s -3 - MSK -Z Europe/Astrakhan 3:12:12 - LMT 1924 May -3 - +03 1930 Jun 21 -4 M +04/+05 1989 Mar 26 2s -3 M +03/+04 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s -3 M +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 2016 Mar 27 2s -4 - +04 -Z Europe/Volgograd 2:57:40 - LMT 1920 Ja 3 -3 - +03 1930 Jun 21 -4 - +04 1961 N 11 -4 M +04/+05 1988 Mar 27 2s -3 M +03/+04 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s -3 M +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 -Z Europe/Saratov 3:4:18 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 M +04/+05 1988 Mar 27 2s -3 M +03/+04 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s -3 M +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 2016 D 4 2s -4 - +04 -Z Europe/Kirov 3:18:48 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 M +04/+05 1989 Mar 26 2s -3 M +03/+04 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s -3 M +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 -Z Europe/Samara 3:20:20 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 - +04 1935 Ja 27 -4 M +04/+05 1989 Mar 26 2s -3 M +03/+04 1991 Mar 31 2s -2 M +02/+03 1991 S 29 2s -3 - +03 1991 O 20 3 -4 M +04/+05 2010 Mar 28 2s -3 M +03/+04 2011 Mar 27 2s -4 - +04 -Z Europe/Ulyanovsk 3:13:36 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 M +04/+05 1989 Mar 26 2s -3 M +03/+04 1991 Mar 31 2s -2 M +02/+03 1992 Ja 19 2s -3 M +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 2016 Mar 27 2s -4 - +04 -Z Asia/Yekaterinburg 4:2:33 - LMT 1916 Jul 3 -3:45:5 - PMT 1919 Jul 15 4 -4 - +04 1930 Jun 21 -5 M +05/+06 1991 Mar 31 2s -4 M +04/+05 1992 Ja 19 2s -5 M +05/+06 2011 Mar 27 2s -6 - +06 2014 O 26 2s -5 - +05 -Z Asia/Omsk 4:53:30 - LMT 1919 N 14 -5 - +05 1930 Jun 21 -6 M +06/+07 1991 Mar 31 2s -5 M +05/+06 1992 Ja 19 2s -6 M +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 -Z Asia/Barnaul 5:35 - LMT 1919 D 10 -6 - +06 1930 Jun 21 -7 M +07/+08 1991 Mar 31 2s -6 M +06/+07 1992 Ja 19 2s -7 M +07/+08 1995 May 28 -6 M +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 2016 Mar 27 2s -7 - +07 -Z Asia/Novosibirsk 5:31:40 - LMT 1919 D 14 6 -6 - +06 1930 Jun 21 -7 M +07/+08 1991 Mar 31 2s -6 M +06/+07 1992 Ja 19 2s -7 M +07/+08 1993 May 23 -6 M +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 2016 Jul 24 2s -7 - +07 -Z Asia/Tomsk 5:39:51 - LMT 1919 D 22 -6 - +06 1930 Jun 21 -7 M +07/+08 1991 Mar 31 2s -6 M +06/+07 1992 Ja 19 2s -7 M +07/+08 2002 May 1 3 -6 M +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 2016 May 29 2s -7 - +07 -Z Asia/Novokuznetsk 5:48:48 - LMT 1924 May -6 - +06 1930 Jun 21 -7 M +07/+08 1991 Mar 31 2s -6 M +06/+07 1992 Ja 19 2s -7 M +07/+08 2010 Mar 28 2s -6 M +06/+07 2011 Mar 27 2s -7 - +07 -Z Asia/Krasnoyarsk 6:11:26 - LMT 1920 Ja 6 -6 - +06 1930 Jun 21 -7 M +07/+08 1991 Mar 31 2s -6 M +06/+07 1992 Ja 19 2s -7 M +07/+08 2011 Mar 27 2s -8 - +08 2014 O 26 2s -7 - +07 -Z Asia/Irkutsk 6:57:5 - LMT 1880 -6:57:5 - IMT 1920 Ja 25 -7 - +07 1930 Jun 21 -8 M +08/+09 1991 Mar 31 2s -7 M +07/+08 1992 Ja 19 2s -8 M +08/+09 2011 Mar 27 2s -9 - +09 2014 O 26 2s -8 - +08 -Z Asia/Chita 7:33:52 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 M +09/+10 1991 Mar 31 2s -8 M +08/+09 1992 Ja 19 2s -9 M +09/+10 2011 Mar 27 2s -10 - +10 2014 O 26 2s -8 - +08 2016 Mar 27 2 -9 - +09 -Z Asia/Yakutsk 8:38:58 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 M +09/+10 1991 Mar 31 2s -8 M +08/+09 1992 Ja 19 2s -9 M +09/+10 2011 Mar 27 2s -10 - +10 2014 O 26 2s -9 - +09 -Z Asia/Vladivostok 8:47:31 - LMT 1922 N 15 -9 - +09 1930 Jun 21 -10 M +10/+11 1991 Mar 31 2s -9 M +09/+10 1992 Ja 19 2s -10 M +10/+11 2011 Mar 27 2s -11 - +11 2014 O 26 2s -10 - +10 -Z Asia/Khandyga 9:2:13 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 M +09/+10 1991 Mar 31 2s -8 M +08/+09 1992 Ja 19 2s -9 M +09/+10 2004 -10 M +10/+11 2011 Mar 27 2s -11 - +11 2011 S 13 0s -10 - +10 2014 O 26 2s -9 - +09 -Z Asia/Sakhalin 9:30:48 - LMT 1905 Au 23 -9 - +09 1945 Au 25 -11 M +11/+12 1991 Mar 31 2s -10 M +10/+11 1992 Ja 19 2s -11 M +11/+12 1997 Mar lastSun 2s -10 M +10/+11 2011 Mar 27 2s -11 - +11 2014 O 26 2s -10 - +10 2016 Mar 27 2s -11 - +11 -Z Asia/Magadan 10:3:12 - LMT 1924 May 2 -10 - +10 1930 Jun 21 -11 M +11/+12 1991 Mar 31 2s -10 M +10/+11 1992 Ja 19 2s -11 M +11/+12 2011 Mar 27 2s -12 - +12 2014 O 26 2s -10 - +10 2016 Ap 24 2s -11 - +11 -Z Asia/Srednekolymsk 10:14:52 - LMT 1924 May 2 -10 - +10 1930 Jun 21 -11 M +11/+12 1991 Mar 31 2s -10 M +10/+11 1992 Ja 19 2s -11 M +11/+12 2011 Mar 27 2s -12 - +12 2014 O 26 2s -11 - +11 -Z Asia/Ust-Nera 9:32:54 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 M +09/+10 1981 Ap -11 M +11/+12 1991 Mar 31 2s -10 M +10/+11 1992 Ja 19 2s -11 M +11/+12 2011 Mar 27 2s -12 - +12 2011 S 13 0s -11 - +11 2014 O 26 2s -10 - +10 -Z Asia/Kamchatka 10:34:36 - LMT 1922 N 10 -11 - +11 1930 Jun 21 -12 M +12/+13 1991 Mar 31 2s -11 M +11/+12 1992 Ja 19 2s -12 M +12/+13 2010 Mar 28 2s -11 M +11/+12 2011 Mar 27 2s -12 - +12 -Z Asia/Anadyr 11:49:56 - LMT 1924 May 2 -12 - +12 1930 Jun 21 -13 M +13/+14 1982 Ap 1 0s -12 M +12/+13 1991 Mar 31 2s -11 M +11/+12 1992 Ja 19 2s -12 M +12/+13 2010 Mar 28 2s -11 M +11/+12 2011 Mar 27 2s -12 - +12 -Z Europe/Belgrade 1:22 - LMT 1884 -1 - CET 1941 Ap 18 23 -1 ' CE%sT 1945 -1 - CET 1945 May 8 2s -1 1 CEST 1945 S 16 2s -1 - CET 1982 N 27 -1 O CE%sT -Li Europe/Belgrade Europe/Ljubljana -Li Europe/Belgrade Europe/Podgorica -Li Europe/Belgrade Europe/Sarajevo -Li Europe/Belgrade Europe/Skopje -Li Europe/Belgrade Europe/Zagreb -Li Europe/Prague Europe/Bratislava -R AA 1918 o - Ap 15 23 1 S -R AA 1918 1919 - O 6 24s 0 - -R AA 1919 o - Ap 6 23 1 S -R AA 1924 o - Ap 16 23 1 S -R AA 1924 o - O 4 24s 0 - -R AA 1926 o - Ap 17 23 1 S -R AA 1926 1929 - O Sat>=1 24s 0 - -R AA 1927 o - Ap 9 23 1 S -R AA 1928 o - Ap 15 0 1 S -R AA 1929 o - Ap 20 23 1 S -R AA 1937 o - Jun 16 23 1 S -R AA 1937 o - O 2 24s 0 - -R AA 1938 o - Ap 2 23 1 S -R AA 1938 o - Ap 30 23 2 M -R AA 1938 o - O 2 24 1 S -R AA 1939 o - O 7 24s 0 - -R AA 1942 o - May 2 23 1 S -R AA 1942 o - S 1 1 0 - -R AA 1943 1946 - Ap Sat>=13 23 1 S -R AA 1943 1944 - O Sun>=1 1 0 - -R AA 1945 1946 - S lastSun 1 0 - -R AA 1949 o - Ap 30 23 1 S -R AA 1949 o - O 2 1 0 - -R AA 1974 1975 - Ap Sat>=12 23 1 S -R AA 1974 1975 - O Sun>=1 1 0 - -R AA 1976 o - Mar 27 23 1 S -R AA 1976 1977 - S lastSun 1 0 - -R AA 1977 o - Ap 2 23 1 S -R AA 1978 o - Ap 2 2s 1 S -R AA 1978 o - O 1 2s 0 - -R AB 1967 o - Jun 3 12 1 S -R AB 1967 o - O 1 0 0 - -R AB 1974 o - Jun 24 0 1 S -R AB 1974 o - S 1 0 0 - -R AB 1976 1977 - May 1 0 1 S -R AB 1976 o - Au 1 0 0 - -R AB 1977 o - S 28 0 0 - -R AB 1978 o - Jun 1 0 1 S -R AB 1978 o - Au 4 0 0 - -Z Europe/Madrid -0:14:44 - LMT 1900 D 31 23:45:16 -0 AA WE%sT 1940 Mar 16 23 -1 AA CE%sT 1979 -1 O CE%sT -Z Africa/Ceuta -0:21:16 - LMT 1900 D 31 23:38:44 -0 - WET 1918 May 6 23 -0 1 WEST 1918 O 7 23 -0 - WET 1924 -0 AA WE%sT 1929 -0 AB WE%sT 1984 Mar 16 -1 - CET 1986 -1 O CE%sT -Z Atlantic/Canary -1:1:36 - LMT 1922 Mar --1 - -01 1946 S 30 1 -0 - WET 1980 Ap 6 0s -0 1 WEST 1980 S 28 1u -0 O WE%sT -Z Europe/Stockholm 1:12:12 - LMT 1879 -1:0:14 - SET 1900 -1 - CET 1916 May 14 23 -1 1 CEST 1916 O 1 1 -1 - CET 1980 -1 O CE%sT -R AC 1941 1942 - May M>=1 1 1 S -R AC 1941 1942 - O M>=1 2 0 - -Z Europe/Zurich 0:34:8 - LMT 1853 Jul 16 -0:29:46 - BMT 1894 Jun -1 AC CE%sT 1981 -1 O CE%sT -R AD 1916 o - May 1 0 1 S -R AD 1916 o - O 1 0 0 - -R AD 1920 o - Mar 28 0 1 S -R AD 1920 o - O 25 0 0 - -R AD 1921 o - Ap 3 0 1 S -R AD 1921 o - O 3 0 0 - -R AD 1922 o - Mar 26 0 1 S -R AD 1922 o - O 8 0 0 - -R AD 1924 o - May 13 0 1 S -R AD 1924 1925 - O 1 0 0 - -R AD 1925 o - May 1 0 1 S -R AD 1940 o - Jun 30 0 1 S -R AD 1940 o - O 5 0 0 - -R AD 1940 o - D 1 0 1 S -R AD 1941 o - S 21 0 0 - -R AD 1942 o - Ap 1 0 1 S -R AD 1942 o - N 1 0 0 - -R AD 1945 o - Ap 2 0 1 S -R AD 1945 o - O 8 0 0 - -R AD 1946 o - Jun 1 0 1 S -R AD 1946 o - O 1 0 0 - -R AD 1947 1948 - Ap Sun>=16 0 1 S -R AD 1947 1950 - O Sun>=2 0 0 - -R AD 1949 o - Ap 10 0 1 S -R AD 1950 o - Ap 19 0 1 S -R AD 1951 o - Ap 22 0 1 S -R AD 1951 o - O 8 0 0 - -R AD 1962 o - Jul 15 0 1 S -R AD 1962 o - O 8 0 0 - -R AD 1964 o - May 15 0 1 S -R AD 1964 o - O 1 0 0 - -R AD 1970 1972 - May Sun>=2 0 1 S -R AD 1970 1972 - O Sun>=2 0 0 - -R AD 1973 o - Jun 3 1 1 S -R AD 1973 o - N 4 3 0 - -R AD 1974 o - Mar 31 2 1 S -R AD 1974 o - N 3 5 0 - -R AD 1975 o - Mar 30 0 1 S -R AD 1975 1976 - O lastSun 0 0 - -R AD 1976 o - Jun 1 0 1 S -R AD 1977 1978 - Ap Sun>=1 0 1 S -R AD 1977 o - O 16 0 0 - -R AD 1979 1980 - Ap Sun>=1 3 1 S -R AD 1979 1982 - O M>=11 0 0 - -R AD 1981 1982 - Mar lastSun 3 1 S -R AD 1983 o - Jul 31 0 1 S -R AD 1983 o - O 2 0 0 - -R AD 1985 o - Ap 20 0 1 S -R AD 1985 o - S 28 0 0 - -R AD 1986 1993 - Mar lastSun 1s 1 S -R AD 1986 1995 - S lastSun 1s 0 - -R AD 1994 o - Mar 20 1s 1 S -R AD 1995 2006 - Mar lastSun 1s 1 S -R AD 1996 2006 - O lastSun 1s 0 - -Z Europe/Istanbul 1:55:52 - LMT 1880 -1:56:56 - IMT 1910 O -2 AD EE%sT 1978 O 15 -3 AD +03/+04 1985 Ap 20 -2 AD EE%sT 2007 -2 O EE%sT 2011 Mar 27 1u -2 - EET 2011 Mar 28 1u -2 O EE%sT 2014 Mar 30 1u -2 - EET 2014 Mar 31 1u -2 O EE%sT 2015 O 25 1u -2 1 EEST 2015 N 8 1u -2 O EE%sT 2016 S 7 -3 - +03 -Li Europe/Istanbul Asia/Istanbul -Z Europe/Kiev 2:2:4 - LMT 1880 -2:2:4 - KMT 1924 May 2 -2 - EET 1930 Jun 21 -3 - MSK 1941 S 20 -1 ' CE%sT 1943 N 6 -3 M MSK/MSD 1990 Jul 1 2 -2 1 EEST 1991 S 29 3 -2 W EE%sT 1995 -2 O EE%sT -Z Europe/Uzhgorod 1:29:12 - LMT 1890 O -1 - CET 1940 -1 ' CE%sT 1944 O -1 1 CEST 1944 O 26 -1 - CET 1945 Jun 29 -3 M MSK/MSD 1990 -3 - MSK 1990 Jul 1 2 -1 - CET 1991 Mar 31 3 -2 - EET 1992 -2 W EE%sT 1995 -2 O EE%sT -Z Europe/Zaporozhye 2:20:40 - LMT 1880 -2:20 - +0220 1924 May 2 -2 - EET 1930 Jun 21 -3 - MSK 1941 Au 25 -1 ' CE%sT 1943 O 25 -3 M MSK/MSD 1991 Mar 31 2 -2 W EE%sT 1995 -2 O EE%sT -R AE 1918 1919 - Mar lastSun 2 1 D -R AE 1918 1919 - O lastSun 2 0 S -R AE 1942 o - F 9 2 1 W -R AE 1945 o - Au 14 23u 1 P -R AE 1945 o - S lastSun 2 0 S -R AE 1967 2006 - O lastSun 2 0 S -R AE 1967 1973 - Ap lastSun 2 1 D -R AE 1974 o - Ja 6 2 1 D -R AE 1975 o - F 23 2 1 D -R AE 1976 1986 - Ap lastSun 2 1 D -R AE 1987 2006 - Ap Sun>=1 2 1 D -R AE 2007 ma - Mar Sun>=8 2 1 D -R AE 2007 ma - N Sun>=1 2 0 S -Z EST -5 - EST -Z MST -7 - MST -Z HST -10 - HST -Z EST5EDT -5 AE E%sT -Z CST6CDT -6 AE C%sT -Z MST7MDT -7 AE M%sT -Z PST8PDT -8 AE P%sT -R AF 1920 o - Mar lastSun 2 1 D -R AF 1920 o - O lastSun 2 0 S -R AF 1921 1966 - Ap lastSun 2 1 D -R AF 1921 1954 - S lastSun 2 0 S -R AF 1955 1966 - O lastSun 2 0 S -Z America/New_York -4:56:2 - LMT 1883 N 18 12:3:58 --5 AE E%sT 1920 --5 AF E%sT 1942 --5 AE E%sT 1946 --5 AF E%sT 1967 --5 AE E%sT -R AG 1920 o - Jun 13 2 1 D -R AG 1920 1921 - O lastSun 2 0 S -R AG 1921 o - Mar lastSun 2 1 D -R AG 1922 1966 - Ap lastSun 2 1 D -R AG 1922 1954 - S lastSun 2 0 S -R AG 1955 1966 - O lastSun 2 0 S -Z America/Chicago -5:50:36 - LMT 1883 N 18 12:9:24 --6 AE C%sT 1920 --6 AG C%sT 1936 Mar 1 2 --5 - EST 1936 N 15 2 --6 AG C%sT 1942 --6 AE C%sT 1946 --6 AG C%sT 1967 --6 AE C%sT -Z America/North_Dakota/Center -6:45:12 - LMT 1883 N 18 12:14:48 --7 AE M%sT 1992 O 25 2 --6 AE C%sT -Z America/North_Dakota/New_Salem -6:45:39 - LMT 1883 N 18 12:14:21 --7 AE M%sT 2003 O 26 2 --6 AE C%sT -Z America/North_Dakota/Beulah -6:47:7 - LMT 1883 N 18 12:12:53 --7 AE M%sT 2010 N 7 2 --6 AE C%sT -R AH 1920 1921 - Mar lastSun 2 1 D -R AH 1920 o - O lastSun 2 0 S -R AH 1921 o - May 22 2 0 S -R AH 1965 1966 - Ap lastSun 2 1 D -R AH 1965 1966 - O lastSun 2 0 S -Z America/Denver -6:59:56 - LMT 1883 N 18 12:0:4 --7 AE M%sT 1920 --7 AH M%sT 1942 --7 AE M%sT 1946 --7 AH M%sT 1967 --7 AE M%sT -R AI 1948 o - Mar 14 2:1 1 D -R AI 1949 o - Ja 1 2 0 S -R AI 1950 1966 - Ap lastSun 1 1 D -R AI 1950 1961 - S lastSun 2 0 S -R AI 1962 1966 - O lastSun 2 0 S -Z America/Los_Angeles -7:52:58 - LMT 1883 N 18 12:7:2 --8 AE P%sT 1946 --8 AI P%sT 1967 --8 AE P%sT -Z America/Juneau 15:2:19 - LMT 1867 O 19 15:33:32 --8:57:41 - LMT 1900 Au 20 12 --8 - PST 1942 --8 AE P%sT 1946 --8 - PST 1969 --8 AE P%sT 1980 Ap 27 2 --9 AE Y%sT 1980 O 26 2 --8 AE P%sT 1983 O 30 2 --9 AE Y%sT 1983 N 30 --9 AE AK%sT -Z America/Sitka 14:58:47 - LMT 1867 O 19 15:30 --9:1:13 - LMT 1900 Au 20 12 --8 - PST 1942 --8 AE P%sT 1946 --8 - PST 1969 --8 AE P%sT 1983 O 30 2 --9 AE Y%sT 1983 N 30 --9 AE AK%sT -Z America/Metlakatla 15:13:42 - LMT 1867 O 19 15:44:55 --8:46:18 - LMT 1900 Au 20 12 --8 - PST 1942 --8 AE P%sT 1946 --8 - PST 1969 --8 AE P%sT 1983 O 30 2 --8 - PST 2015 N 1 2 --9 AE AK%sT -Z America/Yakutat 14:41:5 - LMT 1867 O 19 15:12:18 --9:18:55 - LMT 1900 Au 20 12 --9 - YST 1942 --9 AE Y%sT 1946 --9 - YST 1969 --9 AE Y%sT 1983 N 30 --9 AE AK%sT -Z America/Anchorage 14:0:24 - LMT 1867 O 19 14:31:37 --9:59:36 - LMT 1900 Au 20 12 --10 - AST 1942 --10 AE A%sT 1967 Ap --10 - AHST 1969 --10 AE AH%sT 1983 O 30 2 --9 AE Y%sT 1983 N 30 --9 AE AK%sT -Z America/Nome 12:58:22 - LMT 1867 O 19 13:29:35 --11:1:38 - LMT 1900 Au 20 12 --11 - NST 1942 --11 AE N%sT 1946 --11 - NST 1967 Ap --11 - BST 1969 --11 AE B%sT 1983 O 30 2 --9 AE Y%sT 1983 N 30 --9 AE AK%sT -Z America/Adak 12:13:22 - LMT 1867 O 19 12:44:35 --11:46:38 - LMT 1900 Au 20 12 --11 - NST 1942 --11 AE N%sT 1946 --11 - NST 1967 Ap --11 - BST 1969 --11 AE B%sT 1983 O 30 2 --10 AE AH%sT 1983 N 30 --10 AE H%sT -Z Pacific/Honolulu -10:31:26 - LMT 1896 Ja 13 12 --10:30 - HST 1933 Ap 30 2 --10:30 1 HDT 1933 May 21 12 --10:30 - HST 1942 F 9 2 --10:30 1 HDT 1945 S 30 2 --10:30 - HST 1947 Jun 8 2 --10 - HST -Z America/Phoenix -7:28:18 - LMT 1883 N 18 11:31:42 --7 AE M%sT 1944 Ja 1 0:1 --7 - MST 1944 Ap 1 0:1 --7 AE M%sT 1944 O 1 0:1 --7 - MST 1967 --7 AE M%sT 1968 Mar 21 --7 - MST -Z America/Boise -7:44:49 - LMT 1883 N 18 12:15:11 --8 AE P%sT 1923 May 13 2 --7 AE M%sT 1974 --7 - MST 1974 F 3 2 --7 AE M%sT -R AJ 1941 o - Jun 22 2 1 D -R AJ 1941 1954 - S lastSun 2 0 S -R AJ 1946 1954 - Ap lastSun 2 1 D -Z America/Indiana/Indianapolis -5:44:38 - LMT 1883 N 18 12:15:22 --6 AE C%sT 1920 --6 AJ C%sT 1942 --6 AE C%sT 1946 --6 AJ C%sT 1955 Ap 24 2 --5 - EST 1957 S 29 2 --6 - CST 1958 Ap 27 2 --5 - EST 1969 --5 AE E%sT 1971 --5 - EST 2006 --5 AE E%sT -R AK 1951 o - Ap lastSun 2 1 D -R AK 1951 o - S lastSun 2 0 S -R AK 1954 1960 - Ap lastSun 2 1 D -R AK 1954 1960 - S lastSun 2 0 S -Z America/Indiana/Marengo -5:45:23 - LMT 1883 N 18 12:14:37 --6 AE C%sT 1951 --6 AK C%sT 1961 Ap 30 2 --5 - EST 1969 --5 AE E%sT 1974 Ja 6 2 --6 1 CDT 1974 O 27 2 --5 AE E%sT 1976 --5 - EST 2006 --5 AE E%sT -R AL 1946 o - Ap lastSun 2 1 D -R AL 1946 o - S lastSun 2 0 S -R AL 1953 1954 - Ap lastSun 2 1 D -R AL 1953 1959 - S lastSun 2 0 S -R AL 1955 o - May 1 0 1 D -R AL 1956 1963 - Ap lastSun 2 1 D -R AL 1960 o - O lastSun 2 0 S -R AL 1961 o - S lastSun 2 0 S -R AL 1962 1963 - O lastSun 2 0 S -Z America/Indiana/Vincennes -5:50:7 - LMT 1883 N 18 12:9:53 --6 AE C%sT 1946 --6 AL C%sT 1964 Ap 26 2 --5 - EST 1969 --5 AE E%sT 1971 --5 - EST 2006 Ap 2 2 --6 AE C%sT 2007 N 4 2 --5 AE E%sT -R AM 1946 o - Ap lastSun 2 1 D -R AM 1946 o - S lastSun 2 0 S -R AM 1953 1954 - Ap lastSun 2 1 D -R AM 1953 1959 - S lastSun 2 0 S -R AM 1955 o - May 1 0 1 D -R AM 1956 1963 - Ap lastSun 2 1 D -R AM 1960 o - O lastSun 2 0 S -R AM 1961 o - S lastSun 2 0 S -R AM 1962 1963 - O lastSun 2 0 S -Z America/Indiana/Tell_City -5:47:3 - LMT 1883 N 18 12:12:57 --6 AE C%sT 1946 --6 AM C%sT 1964 Ap 26 2 --5 - EST 1969 --5 AE E%sT 1971 --5 - EST 2006 Ap 2 2 --6 AE C%sT -R AN 1955 o - May 1 0 1 D -R AN 1955 1960 - S lastSun 2 0 S -R AN 1956 1964 - Ap lastSun 2 1 D -R AN 1961 1964 - O lastSun 2 0 S -Z America/Indiana/Petersburg -5:49:7 - LMT 1883 N 18 12:10:53 --6 AE C%sT 1955 --6 AN C%sT 1965 Ap 25 2 --5 - EST 1966 O 30 2 --6 AE C%sT 1977 O 30 2 --5 - EST 2006 Ap 2 2 --6 AE C%sT 2007 N 4 2 --5 AE E%sT -R AO 1947 1961 - Ap lastSun 2 1 D -R AO 1947 1954 - S lastSun 2 0 S -R AO 1955 1956 - O lastSun 2 0 S -R AO 1957 1958 - S lastSun 2 0 S -R AO 1959 1961 - O lastSun 2 0 S -Z America/Indiana/Knox -5:46:30 - LMT 1883 N 18 12:13:30 --6 AE C%sT 1947 --6 AO C%sT 1962 Ap 29 2 --5 - EST 1963 O 27 2 --6 AE C%sT 1991 O 27 2 --5 - EST 2006 Ap 2 2 --6 AE C%sT -R AP 1946 1960 - Ap lastSun 2 1 D -R AP 1946 1954 - S lastSun 2 0 S -R AP 1955 1956 - O lastSun 2 0 S -R AP 1957 1960 - S lastSun 2 0 S -Z America/Indiana/Winamac -5:46:25 - LMT 1883 N 18 12:13:35 --6 AE C%sT 1946 --6 AP C%sT 1961 Ap 30 2 --5 - EST 1969 --5 AE E%sT 1971 --5 - EST 2006 Ap 2 2 --6 AE C%sT 2007 Mar 11 2 --5 AE E%sT -Z America/Indiana/Vevay -5:40:16 - LMT 1883 N 18 12:19:44 --6 AE C%sT 1954 Ap 25 2 --5 - EST 1969 --5 AE E%sT 1973 --5 - EST 2006 --5 AE E%sT -R AQ 1921 o - May 1 2 1 D -R AQ 1921 o - S 1 2 0 S -R AQ 1941 1961 - Ap lastSun 2 1 D -R AQ 1941 o - S lastSun 2 0 S -R AQ 1946 o - Jun 2 2 0 S -R AQ 1950 1955 - S lastSun 2 0 S -R AQ 1956 1960 - O lastSun 2 0 S -Z America/Kentucky/Louisville -5:43:2 - LMT 1883 N 18 12:16:58 --6 AE C%sT 1921 --6 AQ C%sT 1942 --6 AE C%sT 1946 --6 AQ C%sT 1961 Jul 23 2 --5 - EST 1968 --5 AE E%sT 1974 Ja 6 2 --6 1 CDT 1974 O 27 2 --5 AE E%sT -Z America/Kentucky/Monticello -5:39:24 - LMT 1883 N 18 12:20:36 --6 AE C%sT 1946 --6 - CST 1968 --6 AE C%sT 2000 O 29 2 --5 AE E%sT -R AR 1948 o - Ap lastSun 2 1 D -R AR 1948 o - S lastSun 2 0 S -Z America/Detroit -5:32:11 - LMT 1905 --6 - CST 1915 May 15 2 --5 - EST 1942 --5 AE E%sT 1946 --5 AR E%sT 1973 --5 AE E%sT 1975 --5 - EST 1975 Ap 27 2 --5 AE E%sT -R AS 1946 o - Ap lastSun 2 1 D -R AS 1946 o - S lastSun 2 0 S -R AS 1966 o - Ap lastSun 2 1 D -R AS 1966 o - O lastSun 2 0 S -Z America/Menominee -5:50:27 - LMT 1885 S 18 12 --6 AE C%sT 1946 --6 AS C%sT 1969 Ap 27 2 --5 - EST 1973 Ap 29 2 --6 AE C%sT -R AT 1918 o - Ap 14 2 1 D -R AT 1918 o - O 27 2 0 S -R AT 1942 o - F 9 2 1 W -R AT 1945 o - Au 14 23u 1 P -R AT 1945 o - S 30 2 0 S -R AT 1974 1986 - Ap lastSun 2 1 D -R AT 1974 2006 - O lastSun 2 0 S -R AT 1987 2006 - Ap Sun>=1 2 1 D -R AT 2007 ma - Mar Sun>=8 2 1 D -R AT 2007 ma - N Sun>=1 2 0 S -R AU 1917 o - Ap 8 2 1 D -R AU 1917 o - S 17 2 0 S -R AU 1919 o - May 5 23 1 D -R AU 1919 o - Au 12 23 0 S -R AU 1920 1935 - May Sun>=1 23 1 D -R AU 1920 1935 - O lastSun 23 0 S -R AU 1936 1941 - May M>=9 0 1 D -R AU 1936 1941 - O M>=2 0 0 S -R AU 1946 1950 - May Sun>=8 2 1 D -R AU 1946 1950 - O Sun>=2 2 0 S -R AU 1951 1986 - Ap lastSun 2 1 D -R AU 1951 1959 - S lastSun 2 0 S -R AU 1960 1986 - O lastSun 2 0 S -R AU 1987 o - Ap Sun>=1 0:1 1 D -R AU 1987 2006 - O lastSun 0:1 0 S -R AU 1988 o - Ap Sun>=1 0:1 2 DD -R AU 1989 2006 - Ap Sun>=1 0:1 1 D -R AU 2007 2011 - Mar Sun>=8 0:1 1 D -R AU 2007 2010 - N Sun>=1 0:1 0 S -Z America/St_Johns -3:30:52 - LMT 1884 --3:30:52 AU N%sT 1918 --3:30:52 AT N%sT 1919 --3:30:52 AU N%sT 1935 Mar 30 --3:30 AU N%sT 1942 May 11 --3:30 AT N%sT 1946 --3:30 AU N%sT 2011 N --3:30 AT N%sT -Z America/Goose_Bay -4:1:40 - LMT 1884 --3:30:52 - NST 1918 --3:30:52 AT N%sT 1919 --3:30:52 - NST 1935 Mar 30 --3:30 - NST 1936 --3:30 AU N%sT 1942 May 11 --3:30 AT N%sT 1946 --3:30 AU N%sT 1966 Mar 15 2 --4 AU A%sT 2011 N --4 AT A%sT -R AV 1916 o - Ap 1 0 1 D -R AV 1916 o - O 1 0 0 S -R AV 1920 o - May 9 0 1 D -R AV 1920 o - Au 29 0 0 S -R AV 1921 o - May 6 0 1 D -R AV 1921 1922 - S 5 0 0 S -R AV 1922 o - Ap 30 0 1 D -R AV 1923 1925 - May Sun>=1 0 1 D -R AV 1923 o - S 4 0 0 S -R AV 1924 o - S 15 0 0 S -R AV 1925 o - S 28 0 0 S -R AV 1926 o - May 16 0 1 D -R AV 1926 o - S 13 0 0 S -R AV 1927 o - May 1 0 1 D -R AV 1927 o - S 26 0 0 S -R AV 1928 1931 - May Sun>=8 0 1 D -R AV 1928 o - S 9 0 0 S -R AV 1929 o - S 3 0 0 S -R AV 1930 o - S 15 0 0 S -R AV 1931 1932 - S M>=24 0 0 S -R AV 1932 o - May 1 0 1 D -R AV 1933 o - Ap 30 0 1 D -R AV 1933 o - O 2 0 0 S -R AV 1934 o - May 20 0 1 D -R AV 1934 o - S 16 0 0 S -R AV 1935 o - Jun 2 0 1 D -R AV 1935 o - S 30 0 0 S -R AV 1936 o - Jun 1 0 1 D -R AV 1936 o - S 14 0 0 S -R AV 1937 1938 - May Sun>=1 0 1 D -R AV 1937 1941 - S M>=24 0 0 S -R AV 1939 o - May 28 0 1 D -R AV 1940 1941 - May Sun>=1 0 1 D -R AV 1946 1949 - Ap lastSun 2 1 D -R AV 1946 1949 - S lastSun 2 0 S -R AV 1951 1954 - Ap lastSun 2 1 D -R AV 1951 1954 - S lastSun 2 0 S -R AV 1956 1959 - Ap lastSun 2 1 D -R AV 1956 1959 - S lastSun 2 0 S -R AV 1962 1973 - Ap lastSun 2 1 D -R AV 1962 1973 - O lastSun 2 0 S -Z America/Halifax -4:14:24 - LMT 1902 Jun 15 --4 AV A%sT 1918 --4 AT A%sT 1919 --4 AV A%sT 1942 F 9 2s --4 AT A%sT 1946 --4 AV A%sT 1974 --4 AT A%sT -Z America/Glace_Bay -3:59:48 - LMT 1902 Jun 15 --4 AT A%sT 1953 --4 AV A%sT 1954 --4 - AST 1972 --4 AV A%sT 1974 --4 AT A%sT -R AW 1933 1935 - Jun Sun>=8 1 1 D -R AW 1933 1935 - S Sun>=8 1 0 S -R AW 1936 1938 - Jun Sun>=1 1 1 D -R AW 1936 1938 - S Sun>=1 1 0 S -R AW 1939 o - May 27 1 1 D -R AW 1939 1941 - S Sat>=21 1 0 S -R AW 1940 o - May 19 1 1 D -R AW 1941 o - May 4 1 1 D -R AW 1946 1972 - Ap lastSun 2 1 D -R AW 1946 1956 - S lastSun 2 0 S -R AW 1957 1972 - O lastSun 2 0 S -R AW 1993 2006 - Ap Sun>=1 0:1 1 D -R AW 1993 2006 - O lastSun 0:1 0 S -Z America/Moncton -4:19:8 - LMT 1883 D 9 --5 - EST 1902 Jun 15 --4 AT A%sT 1933 --4 AW A%sT 1942 --4 AT A%sT 1946 --4 AW A%sT 1973 --4 AT A%sT 1993 --4 AW A%sT 2007 --4 AT A%sT -Z America/Blanc-Sablon -3:48:28 - LMT 1884 --4 AT A%sT 1970 --4 - AST -R AX 1919 o - Mar 30 23:30 1 D -R AX 1919 o - O 26 0 0 S -R AX 1920 o - May 2 2 1 D -R AX 1920 o - S 26 0 0 S -R AX 1921 o - May 15 2 1 D -R AX 1921 o - S 15 2 0 S -R AX 1922 1923 - May Sun>=8 2 1 D -R AX 1922 1926 - S Sun>=15 2 0 S -R AX 1924 1927 - May Sun>=1 2 1 D -R AX 1927 1932 - S lastSun 2 0 S -R AX 1928 1931 - Ap lastSun 2 1 D -R AX 1932 o - May 1 2 1 D -R AX 1933 1940 - Ap lastSun 2 1 D -R AX 1933 o - O 1 2 0 S -R AX 1934 1939 - S lastSun 2 0 S -R AX 1945 1946 - S lastSun 2 0 S -R AX 1946 o - Ap lastSun 2 1 D -R AX 1947 1949 - Ap lastSun 0 1 D -R AX 1947 1948 - S lastSun 0 0 S -R AX 1949 o - N lastSun 0 0 S -R AX 1950 1973 - Ap lastSun 2 1 D -R AX 1950 o - N lastSun 2 0 S -R AX 1951 1956 - S lastSun 2 0 S -R AX 1957 1973 - O lastSun 2 0 S -Z America/Toronto -5:17:32 - LMT 1895 --5 AT E%sT 1919 --5 AX E%sT 1942 F 9 2s --5 AT E%sT 1946 --5 AX E%sT 1974 --5 AT E%sT -Z America/Thunder_Bay -5:57 - LMT 1895 --6 - CST 1910 --5 - EST 1942 --5 AT E%sT 1970 --5 AX E%sT 1973 --5 - EST 1974 --5 AT E%sT -Z America/Nipigon -5:53:4 - LMT 1895 --5 AT E%sT 1940 S 29 --5 1 EDT 1942 F 9 2s --5 AT E%sT -Z America/Rainy_River -6:18:16 - LMT 1895 --6 AT C%sT 1940 S 29 --6 1 CDT 1942 F 9 2s --6 AT C%sT -Z America/Atikokan -6:6:28 - LMT 1895 --6 AT C%sT 1940 S 29 --6 1 CDT 1942 F 9 2s --6 AT C%sT 1945 S 30 2 --5 - EST -R AY 1916 o - Ap 23 0 1 D -R AY 1916 o - S 17 0 0 S -R AY 1918 o - Ap 14 2 1 D -R AY 1918 o - O 27 2 0 S -R AY 1937 o - May 16 2 1 D -R AY 1937 o - S 26 2 0 S -R AY 1942 o - F 9 2 1 W -R AY 1945 o - Au 14 23u 1 P -R AY 1945 o - S lastSun 2 0 S -R AY 1946 o - May 12 2 1 D -R AY 1946 o - O 13 2 0 S -R AY 1947 1949 - Ap lastSun 2 1 D -R AY 1947 1949 - S lastSun 2 0 S -R AY 1950 o - May 1 2 1 D -R AY 1950 o - S 30 2 0 S -R AY 1951 1960 - Ap lastSun 2 1 D -R AY 1951 1958 - S lastSun 2 0 S -R AY 1959 o - O lastSun 2 0 S -R AY 1960 o - S lastSun 2 0 S -R AY 1963 o - Ap lastSun 2 1 D -R AY 1963 o - S 22 2 0 S -R AY 1966 1986 - Ap lastSun 2s 1 D -R AY 1966 2005 - O lastSun 2s 0 S -R AY 1987 2005 - Ap Sun>=1 2s 1 D -Z America/Winnipeg -6:28:36 - LMT 1887 Jul 16 --6 AY C%sT 2006 --6 AT C%sT -R AZ 1918 o - Ap 14 2 1 D -R AZ 1918 o - O 27 2 0 S -R AZ 1930 1934 - May Sun>=1 0 1 D -R AZ 1930 1934 - O Sun>=1 0 0 S -R AZ 1937 1941 - Ap Sun>=8 0 1 D -R AZ 1937 o - O Sun>=8 0 0 S -R AZ 1938 o - O Sun>=1 0 0 S -R AZ 1939 1941 - O Sun>=8 0 0 S -R AZ 1942 o - F 9 2 1 W -R AZ 1945 o - Au 14 23u 1 P -R AZ 1945 o - S lastSun 2 0 S -R AZ 1946 o - Ap Sun>=8 2 1 D -R AZ 1946 o - O Sun>=8 2 0 S -R AZ 1947 1957 - Ap lastSun 2 1 D -R AZ 1947 1957 - S lastSun 2 0 S -R AZ 1959 o - Ap lastSun 2 1 D -R AZ 1959 o - O lastSun 2 0 S -R Aa 1957 o - Ap lastSun 2 1 D -R Aa 1957 o - O lastSun 2 0 S -R Aa 1959 1961 - Ap lastSun 2 1 D -R Aa 1959 o - O lastSun 2 0 S -R Aa 1960 1961 - S lastSun 2 0 S -Z America/Regina -6:58:36 - LMT 1905 S --7 AZ M%sT 1960 Ap lastSun 2 --6 - CST -Z America/Swift_Current -7:11:20 - LMT 1905 S --7 AT M%sT 1946 Ap lastSun 2 --7 AZ M%sT 1950 --7 Aa M%sT 1972 Ap lastSun 2 --6 - CST -R Ab 1918 1919 - Ap Sun>=8 2 1 D -R Ab 1918 o - O 27 2 0 S -R Ab 1919 o - May 27 2 0 S -R Ab 1920 1923 - Ap lastSun 2 1 D -R Ab 1920 o - O lastSun 2 0 S -R Ab 1921 1923 - S lastSun 2 0 S -R Ab 1942 o - F 9 2 1 W -R Ab 1945 o - Au 14 23u 1 P -R Ab 1945 o - S lastSun 2 0 S -R Ab 1947 o - Ap lastSun 2 1 D -R Ab 1947 o - S lastSun 2 0 S -R Ab 1967 o - Ap lastSun 2 1 D -R Ab 1967 o - O lastSun 2 0 S -R Ab 1969 o - Ap lastSun 2 1 D -R Ab 1969 o - O lastSun 2 0 S -R Ab 1972 1986 - Ap lastSun 2 1 D -R Ab 1972 2006 - O lastSun 2 0 S -Z America/Edmonton -7:33:52 - LMT 1906 S --7 Ab M%sT 1987 --7 AT M%sT -R Ac 1918 o - Ap 14 2 1 D -R Ac 1918 o - O 27 2 0 S -R Ac 1942 o - F 9 2 1 W -R Ac 1945 o - Au 14 23u 1 P -R Ac 1945 o - S 30 2 0 S -R Ac 1946 1986 - Ap lastSun 2 1 D -R Ac 1946 o - O 13 2 0 S -R Ac 1947 1961 - S lastSun 2 0 S -R Ac 1962 2006 - O lastSun 2 0 S -Z America/Vancouver -8:12:28 - LMT 1884 --8 Ac P%sT 1987 --8 AT P%sT -Z America/Dawson_Creek -8:0:56 - LMT 1884 --8 AT P%sT 1947 --8 Ac P%sT 1972 Au 30 2 --7 - MST -Z America/Fort_Nelson -8:10:47 - LMT 1884 --8 Ac P%sT 1946 --8 - PST 1947 --8 Ac P%sT 1987 --8 AT P%sT 2015 Mar 8 2 --7 - MST -Z America/Creston -7:46:4 - LMT 1884 --7 - MST 1916 O --8 - PST 1918 Jun 2 --7 - MST -R Ad 1918 o - Ap 14 2 1 D -R Ad 1918 o - O 27 2 0 S -R Ad 1919 o - May 25 2 1 D -R Ad 1919 o - N 1 0 0 S -R Ad 1942 o - F 9 2 1 W -R Ad 1945 o - Au 14 23u 1 P -R Ad 1945 o - S 30 2 0 S -R Ad 1965 o - Ap lastSun 0 2 DD -R Ad 1965 o - O lastSun 2 0 S -R Ad 1980 1986 - Ap lastSun 2 1 D -R Ad 1980 2006 - O lastSun 2 0 S -R Ad 1987 2006 - Ap Sun>=1 2 1 D -Z America/Pangnirtung 0 - -00 1921 --4 Ad A%sT 1995 Ap Sun>=1 2 --5 AT E%sT 1999 O 31 2 --6 AT C%sT 2000 O 29 2 --5 AT E%sT -Z America/Iqaluit 0 - -00 1942 Au --5 Ad E%sT 1999 O 31 2 --6 AT C%sT 2000 O 29 2 --5 AT E%sT -Z America/Resolute 0 - -00 1947 Au 31 --6 Ad C%sT 2000 O 29 2 --5 - EST 2001 Ap 1 3 --6 AT C%sT 2006 O 29 2 --5 - EST 2007 Mar 11 3 --6 AT C%sT -Z America/Rankin_Inlet 0 - -00 1957 --6 Ad C%sT 2000 O 29 2 --5 - EST 2001 Ap 1 3 --6 AT C%sT -Z America/Cambridge_Bay 0 - -00 1920 --7 Ad M%sT 1999 O 31 2 --6 AT C%sT 2000 O 29 2 --5 - EST 2000 N 5 --6 - CST 2001 Ap 1 3 --7 AT M%sT -Z America/Yellowknife 0 - -00 1935 --7 Ad M%sT 1980 --7 AT M%sT -Z America/Inuvik 0 - -00 1953 --8 Ad P%sT 1979 Ap lastSun 2 --7 Ad M%sT 1980 --7 AT M%sT -Z America/Whitehorse -9:0:12 - LMT 1900 Au 20 --9 Ad Y%sT 1967 May 28 --8 Ad P%sT 1980 --8 AT P%sT -Z America/Dawson -9:17:40 - LMT 1900 Au 20 --9 Ad Y%sT 1973 O 28 --8 Ad P%sT 1980 --8 AT P%sT -R Ae 1939 o - F 5 0 1 D -R Ae 1939 o - Jun 25 0 0 S -R Ae 1940 o - D 9 0 1 D -R Ae 1941 o - Ap 1 0 0 S -R Ae 1943 o - D 16 0 1 W -R Ae 1944 o - May 1 0 0 S -R Ae 1950 o - F 12 0 1 D -R Ae 1950 o - Jul 30 0 0 S -R Ae 1996 2000 - Ap Sun>=1 2 1 D -R Ae 1996 2000 - O lastSun 2 0 S -R Ae 2001 o - May Sun>=1 2 1 D -R Ae 2001 o - S lastSun 2 0 S -R Ae 2002 ma - Ap Sun>=1 2 1 D -R Ae 2002 ma - O lastSun 2 0 S -Z America/Cancun -5:47:4 - LMT 1922 Ja 1 0:12:56 --6 - CST 1981 D 23 --5 Ae E%sT 1998 Au 2 2 --6 Ae C%sT 2015 F 1 2 --5 - EST -Z America/Merida -5:58:28 - LMT 1922 Ja 1 0:1:32 --6 - CST 1981 D 23 --5 - EST 1982 D 2 --6 Ae C%sT -Z America/Matamoros -6:40 - LMT 1921 D 31 23:20 --6 - CST 1988 --6 AE C%sT 1989 --6 Ae C%sT 2010 --6 AE C%sT -Z America/Monterrey -6:41:16 - LMT 1921 D 31 23:18:44 --6 - CST 1988 --6 AE C%sT 1989 --6 Ae C%sT -Z America/Mexico_City -6:36:36 - LMT 1922 Ja 1 0:23:24 --7 - MST 1927 Jun 10 23 --6 - CST 1930 N 15 --7 - MST 1931 May 1 23 --6 - CST 1931 O --7 - MST 1932 Ap --6 Ae C%sT 2001 S 30 2 --6 - CST 2002 F 20 --6 Ae C%sT -Z America/Ojinaga -6:57:40 - LMT 1922 Ja 1 0:2:20 --7 - MST 1927 Jun 10 23 --6 - CST 1930 N 15 --7 - MST 1931 May 1 23 --6 - CST 1931 O --7 - MST 1932 Ap --6 - CST 1996 --6 Ae C%sT 1998 --6 - CST 1998 Ap Sun>=1 3 --7 Ae M%sT 2010 --7 AE M%sT -Z America/Chihuahua -7:4:20 - LMT 1921 D 31 23:55:40 --7 - MST 1927 Jun 10 23 --6 - CST 1930 N 15 --7 - MST 1931 May 1 23 --6 - CST 1931 O --7 - MST 1932 Ap --6 - CST 1996 --6 Ae C%sT 1998 --6 - CST 1998 Ap Sun>=1 3 --7 Ae M%sT -Z America/Hermosillo -7:23:52 - LMT 1921 D 31 23:36:8 --7 - MST 1927 Jun 10 23 --6 - CST 1930 N 15 --7 - MST 1931 May 1 23 --6 - CST 1931 O --7 - MST 1932 Ap --6 - CST 1942 Ap 24 --7 - MST 1949 Ja 14 --8 - PST 1970 --7 Ae M%sT 1999 --7 - MST -Z America/Mazatlan -7:5:40 - LMT 1921 D 31 23:54:20 --7 - MST 1927 Jun 10 23 --6 - CST 1930 N 15 --7 - MST 1931 May 1 23 --6 - CST 1931 O --7 - MST 1932 Ap --6 - CST 1942 Ap 24 --7 - MST 1949 Ja 14 --8 - PST 1970 --7 Ae M%sT -Z America/Bahia_Banderas -7:1 - LMT 1921 D 31 23:59 --7 - MST 1927 Jun 10 23 --6 - CST 1930 N 15 --7 - MST 1931 May 1 23 --6 - CST 1931 O --7 - MST 1932 Ap --6 - CST 1942 Ap 24 --7 - MST 1949 Ja 14 --8 - PST 1970 --7 Ae M%sT 2010 Ap 4 2 --6 Ae C%sT -Z America/Tijuana -7:48:4 - LMT 1922 Ja 1 0:11:56 --7 - MST 1924 --8 - PST 1927 Jun 10 23 --7 - MST 1930 N 15 --8 - PST 1931 Ap --8 1 PDT 1931 S 30 --8 - PST 1942 Ap 24 --8 1 PWT 1945 Au 14 23u --8 1 PPT 1945 N 12 --8 - PST 1948 Ap 5 --8 1 PDT 1949 Ja 14 --8 - PST 1954 --8 AI P%sT 1961 --8 - PST 1976 --8 AE P%sT 1996 --8 Ae P%sT 2001 --8 AE P%sT 2002 F 20 --8 Ae P%sT 2010 --8 AE P%sT -R Af 1964 1975 - O lastSun 2 0 S -R Af 1964 1975 - Ap lastSun 2 1 D -Z America/Nassau -5:9:30 - LMT 1912 Mar 2 --5 Af E%sT 1976 --5 AE E%sT -R Ag 1977 o - Jun 12 2 1 D -R Ag 1977 1978 - O Sun>=1 2 0 S -R Ag 1978 1980 - Ap Sun>=15 2 1 D -R Ag 1979 o - S 30 2 0 S -R Ag 1980 o - S 25 2 0 S -Z America/Barbados -3:58:29 - LMT 1924 --3:58:29 - BMT 1932 --4 Ag A%sT -R Ah 1918 1942 - O Sun>=2 0 0:30 -0530 -R Ah 1919 1943 - F Sun>=9 0 0 CST -R Ah 1973 o - D 5 0 1 CDT -R Ah 1974 o - F 9 0 0 CST -R Ah 1982 o - D 18 0 1 CDT -R Ah 1983 o - F 12 0 0 CST -Z America/Belize -5:52:48 - LMT 1912 Ap --6 Ah %s -Z Atlantic/Bermuda -4:19:18 - LMT 1930 Ja 1 2 --4 - AST 1974 Ap 28 2 --4 AT A%sT 1976 --4 AE A%sT -R Ai 1979 1980 - F lastSun 0 1 D -R Ai 1979 1980 - Jun Sun>=1 0 0 S -R Ai 1991 1992 - Ja Sat>=15 0 1 D -R Ai 1991 o - Jul 1 0 0 S -R Ai 1992 o - Mar 15 0 0 S -Z America/Costa_Rica -5:36:13 - LMT 1890 --5:36:13 - SJMT 1921 Ja 15 --6 Ai C%sT -R Aj 1928 o - Jun 10 0 1 D -R Aj 1928 o - O 10 0 0 S -R Aj 1940 1942 - Jun Sun>=1 0 1 D -R Aj 1940 1942 - S Sun>=1 0 0 S -R Aj 1945 1946 - Jun Sun>=1 0 1 D -R Aj 1945 1946 - S Sun>=1 0 0 S -R Aj 1965 o - Jun 1 0 1 D -R Aj 1965 o - S 30 0 0 S -R Aj 1966 o - May 29 0 1 D -R Aj 1966 o - O 2 0 0 S -R Aj 1967 o - Ap 8 0 1 D -R Aj 1967 1968 - S Sun>=8 0 0 S -R Aj 1968 o - Ap 14 0 1 D -R Aj 1969 1977 - Ap lastSun 0 1 D -R Aj 1969 1971 - O lastSun 0 0 S -R Aj 1972 1974 - O 8 0 0 S -R Aj 1975 1977 - O lastSun 0 0 S -R Aj 1978 o - May 7 0 1 D -R Aj 1978 1990 - O Sun>=8 0 0 S -R Aj 1979 1980 - Mar Sun>=15 0 1 D -R Aj 1981 1985 - May Sun>=5 0 1 D -R Aj 1986 1989 - Mar Sun>=14 0 1 D -R Aj 1990 1997 - Ap Sun>=1 0 1 D -R Aj 1991 1995 - O Sun>=8 0s 0 S -R Aj 1996 o - O 6 0s 0 S -R Aj 1997 o - O 12 0s 0 S -R Aj 1998 1999 - Mar lastSun 0s 1 D -R Aj 1998 2003 - O lastSun 0s 0 S -R Aj 2000 2003 - Ap Sun>=1 0s 1 D -R Aj 2004 o - Mar lastSun 0s 1 D -R Aj 2006 2010 - O lastSun 0s 0 S -R Aj 2007 o - Mar Sun>=8 0s 1 D -R Aj 2008 o - Mar Sun>=15 0s 1 D -R Aj 2009 2010 - Mar Sun>=8 0s 1 D -R Aj 2011 o - Mar Sun>=15 0s 1 D -R Aj 2011 o - N 13 0s 0 S -R Aj 2012 o - Ap 1 0s 1 D -R Aj 2012 ma - N Sun>=1 0s 0 S -R Aj 2013 ma - Mar Sun>=8 0s 1 D -Z America/Havana -5:29:28 - LMT 1890 --5:29:36 - HMT 1925 Jul 19 12 --5 Aj C%sT -R Ak 1966 o - O 30 0 1 EDT -R Ak 1967 o - F 28 0 0 EST -R Ak 1969 1973 - O lastSun 0 0:30 -0430 -R Ak 1970 o - F 21 0 0 EST -R Ak 1971 o - Ja 20 0 0 EST -R Ak 1972 1974 - Ja 21 0 0 EST -Z America/Santo_Domingo -4:39:36 - LMT 1890 --4:40 - SDMT 1933 Ap 1 12 --5 Ak %s 1974 O 27 --4 - AST 2000 O 29 2 --5 AE E%sT 2000 D 3 1 --4 - AST -R Al 1987 1988 - May Sun>=1 0 1 D -R Al 1987 1988 - S lastSun 0 0 S -Z America/El_Salvador -5:56:48 - LMT 1921 --6 Al C%sT -R Am 1973 o - N 25 0 1 D -R Am 1974 o - F 24 0 0 S -R Am 1983 o - May 21 0 1 D -R Am 1983 o - S 22 0 0 S -R Am 1991 o - Mar 23 0 1 D -R Am 1991 o - S 7 0 0 S -R Am 2006 o - Ap 30 0 1 D -R Am 2006 o - O 1 0 0 S -Z America/Guatemala -6:2:4 - LMT 1918 O 5 --6 Am C%sT -R An 1983 o - May 8 0 1 D -R An 1984 1987 - Ap lastSun 0 1 D -R An 1983 1987 - O lastSun 0 0 S -R An 1988 1997 - Ap Sun>=1 1s 1 D -R An 1988 1997 - O lastSun 1s 0 S -R An 2005 2006 - Ap Sun>=1 0 1 D -R An 2005 2006 - O lastSun 0 0 S -R An 2012 2015 - Mar Sun>=8 2 1 D -R An 2012 2015 - N Sun>=1 2 0 S -R An 2017 ma - Mar Sun>=8 2 1 D -R An 2017 ma - N Sun>=1 2 0 S -Z America/Port-au-Prince -4:49:20 - LMT 1890 --4:49 - PPMT 1917 Ja 24 12 --5 An E%sT -R Ao 1987 1988 - May Sun>=1 0 1 D -R Ao 1987 1988 - S lastSun 0 0 S -R Ao 2006 o - May Sun>=1 0 1 D -R Ao 2006 o - Au M>=1 0 0 S -Z America/Tegucigalpa -5:48:52 - LMT 1921 Ap --6 Ao C%sT -Z America/Jamaica -5:7:11 - LMT 1890 --5:7:11 - KMT 1912 F --5 - EST 1974 --5 AE E%sT 1984 --5 - EST -Z America/Martinique -4:4:20 - LMT 1890 --4:4:20 - FFMT 1911 May --4 - AST 1980 Ap 6 --4 1 ADT 1980 S 28 --4 - AST -R Ap 1979 1980 - Mar Sun>=16 0 1 D -R Ap 1979 1980 - Jun M>=23 0 0 S -R Ap 2005 o - Ap 10 0 1 D -R Ap 2005 o - O Sun>=1 0 0 S -R Ap 2006 o - Ap 30 2 1 D -R Ap 2006 o - O Sun>=1 1 0 S -Z America/Managua -5:45:8 - LMT 1890 --5:45:12 - MMT 1934 Jun 23 --6 - CST 1973 May --5 - EST 1975 F 16 --6 Ap C%sT 1992 Ja 1 4 --5 - EST 1992 S 24 --6 - CST 1993 --5 - EST 1997 --6 Ap C%sT -Z America/Panama -5:18:8 - LMT 1890 --5:19:36 - CMT 1908 Ap 22 --5 - EST -Li America/Panama America/Cayman -Z America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12 --4 - AST 1942 May 3 --4 AE A%sT 1946 --4 - AST -Z America/Miquelon -3:44:40 - LMT 1911 May 15 --4 - AST 1980 May --3 - -03 1987 --3 AT -03/-02 -Z America/Grand_Turk -4:44:32 - LMT 1890 --5:7:11 - KMT 1912 F --5 - EST 1979 --5 AE E%sT 2015 N Sun>=1 2 --4 - AST 2018 Mar 11 3 --5 AE E%sT -R Aq 1930 o - D 1 0 1 S -R Aq 1931 o - Ap 1 0 0 - -R Aq 1931 o - O 15 0 1 S -R Aq 1932 1940 - Mar 1 0 0 - -R Aq 1932 1939 - N 1 0 1 S -R Aq 1940 o - Jul 1 0 1 S -R Aq 1941 o - Jun 15 0 0 - -R Aq 1941 o - O 15 0 1 S -R Aq 1943 o - Au 1 0 0 - -R Aq 1943 o - O 15 0 1 S -R Aq 1946 o - Mar 1 0 0 - -R Aq 1946 o - O 1 0 1 S -R Aq 1963 o - O 1 0 0 - -R Aq 1963 o - D 15 0 1 S -R Aq 1964 1966 - Mar 1 0 0 - -R Aq 1964 1966 - O 15 0 1 S -R Aq 1967 o - Ap 2 0 0 - -R Aq 1967 1968 - O Sun>=1 0 1 S -R Aq 1968 1969 - Ap Sun>=1 0 0 - -R Aq 1974 o - Ja 23 0 1 S -R Aq 1974 o - May 1 0 0 - -R Aq 1988 o - D 1 0 1 S -R Aq 1989 1993 - Mar Sun>=1 0 0 - -R Aq 1989 1992 - O Sun>=15 0 1 S -R Aq 1999 o - O Sun>=1 0 1 S -R Aq 2000 o - Mar 3 0 0 - -R Aq 2007 o - D 30 0 1 S -R Aq 2008 2009 - Mar Sun>=15 0 0 - -R Aq 2008 o - O Sun>=15 0 1 S -Z America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 Aq -03/-02 -Z America/Argentina/Cordoba -4:16:48 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 Aq -03/-02 -Z America/Argentina/Salta -4:21:40 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 Aq -03/-02 2008 O 18 --3 - -03 -Z America/Argentina/Tucuman -4:20:52 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 13 --3 Aq -03/-02 -Z America/Argentina/La_Rioja -4:27:24 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1991 Mar --4 - -04 1991 May 7 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 20 --3 Aq -03/-02 2008 O 18 --3 - -03 -Z America/Argentina/San_Juan -4:34:4 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1991 Mar --4 - -04 1991 May 7 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 - -03 2004 May 31 --4 - -04 2004 Jul 25 --3 Aq -03/-02 2008 O 18 --3 - -03 -Z America/Argentina/Jujuy -4:21:12 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1990 Mar 4 --4 - -04 1990 O 28 --4 1 -03 1991 Mar 17 --4 - -04 1991 O 6 --3 1 -02 1992 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 Aq -03/-02 2008 O 18 --3 - -03 -Z America/Argentina/Catamarca -4:23:8 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 20 --3 Aq -03/-02 2008 O 18 --3 - -03 -Z America/Argentina/Mendoza -4:35:16 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1990 Mar 4 --4 - -04 1990 O 15 --4 1 -03 1991 Mar --4 - -04 1991 O 15 --4 1 -03 1992 Mar --4 - -04 1992 O 18 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 - -03 2004 May 23 --4 - -04 2004 S 26 --3 Aq -03/-02 2008 O 18 --3 - -03 -R Ar 2008 2009 - Mar Sun>=8 0 0 - -R Ar 2007 2008 - O Sun>=8 0 1 S -Z America/Argentina/San_Luis -4:25:24 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1990 --3 1 -02 1990 Mar 14 --4 - -04 1990 O 15 --4 1 -03 1991 Mar --4 - -04 1991 Jun --3 - -03 1999 O 3 --4 1 -03 2000 Mar 3 --3 - -03 2004 May 31 --4 - -04 2004 Jul 25 --3 Aq -03/-02 2008 Ja 21 --4 Ar -04/-03 2009 O 11 --3 - -03 -Z America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 20 --3 Aq -03/-02 2008 O 18 --3 - -03 -Z America/Argentina/Ushuaia -4:33:12 - LMT 1894 O 31 --4:16:48 - CMT 1920 May --4 - -04 1930 D --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1999 O 3 --4 Aq -04/-03 2000 Mar 3 --3 - -03 2004 May 30 --4 - -04 2004 Jun 20 --3 Aq -03/-02 2008 O 18 --3 - -03 -Li America/Curacao America/Aruba -Z America/La_Paz -4:32:36 - LMT 1890 --4:32:36 - CMT 1931 O 15 --4:32:36 1 BST 1932 Mar 21 --4 - -04 -R As 1931 o - O 3 11 1 S -R As 1932 1933 - Ap 1 0 0 - -R As 1932 o - O 3 0 1 S -R As 1949 1952 - D 1 0 1 S -R As 1950 o - Ap 16 1 0 - -R As 1951 1952 - Ap 1 0 0 - -R As 1953 o - Mar 1 0 0 - -R As 1963 o - D 9 0 1 S -R As 1964 o - Mar 1 0 0 - -R As 1965 o - Ja 31 0 1 S -R As 1965 o - Mar 31 0 0 - -R As 1965 o - D 1 0 1 S -R As 1966 1968 - Mar 1 0 0 - -R As 1966 1967 - N 1 0 1 S -R As 1985 o - N 2 0 1 S -R As 1986 o - Mar 15 0 0 - -R As 1986 o - O 25 0 1 S -R As 1987 o - F 14 0 0 - -R As 1987 o - O 25 0 1 S -R As 1988 o - F 7 0 0 - -R As 1988 o - O 16 0 1 S -R As 1989 o - Ja 29 0 0 - -R As 1989 o - O 15 0 1 S -R As 1990 o - F 11 0 0 - -R As 1990 o - O 21 0 1 S -R As 1991 o - F 17 0 0 - -R As 1991 o - O 20 0 1 S -R As 1992 o - F 9 0 0 - -R As 1992 o - O 25 0 1 S -R As 1993 o - Ja 31 0 0 - -R As 1993 1995 - O Sun>=11 0 1 S -R As 1994 1995 - F Sun>=15 0 0 - -R As 1996 o - F 11 0 0 - -R As 1996 o - O 6 0 1 S -R As 1997 o - F 16 0 0 - -R As 1997 o - O 6 0 1 S -R As 1998 o - Mar 1 0 0 - -R As 1998 o - O 11 0 1 S -R As 1999 o - F 21 0 0 - -R As 1999 o - O 3 0 1 S -R As 2000 o - F 27 0 0 - -R As 2000 2001 - O Sun>=8 0 1 S -R As 2001 2006 - F Sun>=15 0 0 - -R As 2002 o - N 3 0 1 S -R As 2003 o - O 19 0 1 S -R As 2004 o - N 2 0 1 S -R As 2005 o - O 16 0 1 S -R As 2006 o - N 5 0 1 S -R As 2007 o - F 25 0 0 - -R As 2007 o - O Sun>=8 0 1 S -R As 2008 2017 - O Sun>=15 0 1 S -R As 2008 2011 - F Sun>=15 0 0 - -R As 2012 o - F Sun>=22 0 0 - -R As 2013 2014 - F Sun>=15 0 0 - -R As 2015 o - F Sun>=22 0 0 - -R As 2016 2022 - F Sun>=15 0 0 - -R As 2018 ma - N Sun>=1 0 1 S -R As 2023 o - F Sun>=22 0 0 - -R As 2024 2025 - F Sun>=15 0 0 - -R As 2026 o - F Sun>=22 0 0 - -R As 2027 2033 - F Sun>=15 0 0 - -R As 2034 o - F Sun>=22 0 0 - -R As 2035 2036 - F Sun>=15 0 0 - -R As 2037 o - F Sun>=22 0 0 - -R As 2038 ma - F Sun>=15 0 0 - -Z America/Noronha -2:9:40 - LMT 1914 --2 As -02/-01 1990 S 17 --2 - -02 1999 S 30 --2 As -02/-01 2000 O 15 --2 - -02 2001 S 13 --2 As -02/-01 2002 O --2 - -02 -Z America/Belem -3:13:56 - LMT 1914 --3 As -03/-02 1988 S 12 --3 - -03 -Z America/Santarem -3:38:48 - LMT 1914 --4 As -04/-03 1988 S 12 --4 - -04 2008 Jun 24 --3 - -03 -Z America/Fortaleza -2:34 - LMT 1914 --3 As -03/-02 1990 S 17 --3 - -03 1999 S 30 --3 As -03/-02 2000 O 22 --3 - -03 2001 S 13 --3 As -03/-02 2002 O --3 - -03 -Z America/Recife -2:19:36 - LMT 1914 --3 As -03/-02 1990 S 17 --3 - -03 1999 S 30 --3 As -03/-02 2000 O 15 --3 - -03 2001 S 13 --3 As -03/-02 2002 O --3 - -03 -Z America/Araguaina -3:12:48 - LMT 1914 --3 As -03/-02 1990 S 17 --3 - -03 1995 S 14 --3 As -03/-02 2003 S 24 --3 - -03 2012 O 21 --3 As -03/-02 2013 S --3 - -03 -Z America/Maceio -2:22:52 - LMT 1914 --3 As -03/-02 1990 S 17 --3 - -03 1995 O 13 --3 As -03/-02 1996 S 4 --3 - -03 1999 S 30 --3 As -03/-02 2000 O 22 --3 - -03 2001 S 13 --3 As -03/-02 2002 O --3 - -03 -Z America/Bahia -2:34:4 - LMT 1914 --3 As -03/-02 2003 S 24 --3 - -03 2011 O 16 --3 As -03/-02 2012 O 21 --3 - -03 -Z America/Sao_Paulo -3:6:28 - LMT 1914 --3 As -03/-02 1963 O 23 --3 1 -02 1964 --3 As -03/-02 -Z America/Campo_Grande -3:38:28 - LMT 1914 --4 As -04/-03 -Z America/Cuiaba -3:44:20 - LMT 1914 --4 As -04/-03 2003 S 24 --4 - -04 2004 O --4 As -04/-03 -Z America/Porto_Velho -4:15:36 - LMT 1914 --4 As -04/-03 1988 S 12 --4 - -04 -Z America/Boa_Vista -4:2:40 - LMT 1914 --4 As -04/-03 1988 S 12 --4 - -04 1999 S 30 --4 As -04/-03 2000 O 15 --4 - -04 -Z America/Manaus -4:0:4 - LMT 1914 --4 As -04/-03 1988 S 12 --4 - -04 1993 S 28 --4 As -04/-03 1994 S 22 --4 - -04 -Z America/Eirunepe -4:39:28 - LMT 1914 --5 As -05/-04 1988 S 12 --5 - -05 1993 S 28 --5 As -05/-04 1994 S 22 --5 - -05 2008 Jun 24 --4 - -04 2013 N 10 --5 - -05 -Z America/Rio_Branco -4:31:12 - LMT 1914 --5 As -05/-04 1988 S 12 --5 - -05 2008 Jun 24 --4 - -04 2013 N 10 --5 - -05 -R At 1927 1931 - S 1 0 1 S -R At 1928 1932 - Ap 1 0 0 - -R At 1968 o - N 3 4u 1 S -R At 1969 o - Mar 30 3u 0 - -R At 1969 o - N 23 4u 1 S -R At 1970 o - Mar 29 3u 0 - -R At 1971 o - Mar 14 3u 0 - -R At 1970 1972 - O Sun>=9 4u 1 S -R At 1972 1986 - Mar Sun>=9 3u 0 - -R At 1973 o - S 30 4u 1 S -R At 1974 1987 - O Sun>=9 4u 1 S -R At 1987 o - Ap 12 3u 0 - -R At 1988 1990 - Mar Sun>=9 3u 0 - -R At 1988 1989 - O Sun>=9 4u 1 S -R At 1990 o - S 16 4u 1 S -R At 1991 1996 - Mar Sun>=9 3u 0 - -R At 1991 1997 - O Sun>=9 4u 1 S -R At 1997 o - Mar 30 3u 0 - -R At 1998 o - Mar Sun>=9 3u 0 - -R At 1998 o - S 27 4u 1 S -R At 1999 o - Ap 4 3u 0 - -R At 1999 2010 - O Sun>=9 4u 1 S -R At 2000 2007 - Mar Sun>=9 3u 0 - -R At 2008 o - Mar 30 3u 0 - -R At 2009 o - Mar Sun>=9 3u 0 - -R At 2010 o - Ap Sun>=1 3u 0 - -R At 2011 o - May Sun>=2 3u 0 - -R At 2011 o - Au Sun>=16 4u 1 S -R At 2012 2014 - Ap Sun>=23 3u 0 - -R At 2012 2014 - S Sun>=2 4u 1 S -R At 2016 ma - May Sun>=9 3u 0 - -R At 2016 ma - Au Sun>=9 4u 1 S -Z America/Santiago -4:42:46 - LMT 1890 --4:42:46 - SMT 1910 Ja 10 --5 - -05 1916 Jul --4:42:46 - SMT 1918 S 10 --4 - -04 1919 Jul --4:42:46 - SMT 1927 S --5 At -05/-04 1932 S --4 - -04 1942 Jun --5 - -05 1942 Au --4 - -04 1946 Jul 15 --4 1 -03 1946 S --4 - -04 1947 Ap --5 - -05 1947 May 21 23 --4 At -04/-03 -Z America/Punta_Arenas -4:43:40 - LMT 1890 --4:42:46 - SMT 1910 Ja 10 --5 - -05 1916 Jul --4:42:46 - SMT 1918 S 10 --4 - -04 1919 Jul --4:42:46 - SMT 1927 S --5 At -05/-04 1932 S --4 - -04 1942 Jun --5 - -05 1942 Au --4 - -04 1947 Ap --5 - -05 1947 May 21 23 --4 At -04/-03 2016 D 4 --3 - -03 -Z Pacific/Easter -7:17:28 - LMT 1890 --7:17:28 - EMT 1932 S --7 At -07/-06 1982 Mar 14 3u --6 At -06/-05 -Z Antarctica/Palmer 0 - -00 1965 --4 Aq -04/-03 1969 O 5 --3 Aq -03/-02 1982 May --4 At -04/-03 2016 D 4 --3 - -03 -R Au 1992 o - May 3 0 1 S -R Au 1993 o - Ap 4 0 0 - -Z America/Bogota -4:56:16 - LMT 1884 Mar 13 --4:56:16 - BMT 1914 N 23 --5 Au -05/-04 -Z America/Curacao -4:35:47 - LMT 1912 F 12 --4:30 - -0430 1965 --4 - AST -Li America/Curacao America/Lower_Princes -Li America/Curacao America/Kralendijk -R Av 1992 o - N 28 0 1 S -R Av 1993 o - F 5 0 0 - -Z America/Guayaquil -5:19:20 - LMT 1890 --5:14 - QMT 1931 --5 Av -05/-04 -Z Pacific/Galapagos -5:58:24 - LMT 1931 --5 - -05 1986 --6 Av -06/-05 -R Aw 1937 1938 - S lastSun 0 1 S -R Aw 1938 1942 - Mar Sun>=19 0 0 - -R Aw 1939 o - O 1 0 1 S -R Aw 1940 1942 - S lastSun 0 1 S -R Aw 1943 o - Ja 1 0 0 - -R Aw 1983 o - S lastSun 0 1 S -R Aw 1984 1985 - Ap lastSun 0 0 - -R Aw 1984 o - S 16 0 1 S -R Aw 1985 2000 - S Sun>=9 0 1 S -R Aw 1986 2000 - Ap Sun>=16 0 0 - -R Aw 2001 2010 - Ap Sun>=15 2 0 - -R Aw 2001 2010 - S Sun>=1 2 1 S -Z Atlantic/Stanley -3:51:24 - LMT 1890 --3:51:24 - SMT 1912 Mar 12 --4 Aw -04/-03 1983 May --3 Aw -03/-02 1985 S 15 --4 Aw -04/-03 2010 S 5 2 --3 - -03 -Z America/Cayenne -3:29:20 - LMT 1911 Jul --4 - -04 1967 O --3 - -03 -Z America/Guyana -3:52:40 - LMT 1915 Mar --3:45 - -0345 1975 Jul 31 --3 - -03 1991 --4 - -04 -R Ax 1975 1988 - O 1 0 1 S -R Ax 1975 1978 - Mar 1 0 0 - -R Ax 1979 1991 - Ap 1 0 0 - -R Ax 1989 o - O 22 0 1 S -R Ax 1990 o - O 1 0 1 S -R Ax 1991 o - O 6 0 1 S -R Ax 1992 o - Mar 1 0 0 - -R Ax 1992 o - O 5 0 1 S -R Ax 1993 o - Mar 31 0 0 - -R Ax 1993 1995 - O 1 0 1 S -R Ax 1994 1995 - F lastSun 0 0 - -R Ax 1996 o - Mar 1 0 0 - -R Ax 1996 2001 - O Sun>=1 0 1 S -R Ax 1997 o - F lastSun 0 0 - -R Ax 1998 2001 - Mar Sun>=1 0 0 - -R Ax 2002 2004 - Ap Sun>=1 0 0 - -R Ax 2002 2003 - S Sun>=1 0 1 S -R Ax 2004 2009 - O Sun>=15 0 1 S -R Ax 2005 2009 - Mar Sun>=8 0 0 - -R Ax 2010 ma - O Sun>=1 0 1 S -R Ax 2010 2012 - Ap Sun>=8 0 0 - -R Ax 2013 ma - Mar Sun>=22 0 0 - -Z America/Asuncion -3:50:40 - LMT 1890 --3:50:40 - AMT 1931 O 10 --4 - -04 1972 O --3 - -03 1974 Ap --4 Ax -04/-03 -R Ay 1938 o - Ja 1 0 1 S -R Ay 1938 o - Ap 1 0 0 - -R Ay 1938 1939 - S lastSun 0 1 S -R Ay 1939 1940 - Mar Sun>=24 0 0 - -R Ay 1986 1987 - Ja 1 0 1 S -R Ay 1986 1987 - Ap 1 0 0 - -R Ay 1990 o - Ja 1 0 1 S -R Ay 1990 o - Ap 1 0 0 - -R Ay 1994 o - Ja 1 0 1 S -R Ay 1994 o - Ap 1 0 0 - -Z America/Lima -5:8:12 - LMT 1890 --5:8:36 - LMT 1908 Jul 28 --5 Ay -05/-04 -Z Atlantic/South_Georgia -2:26:8 - LMT 1890 --2 - -02 -Z America/Paramaribo -3:40:40 - LMT 1911 --3:40:52 - PMT 1935 --3:40:36 - PMT 1945 O --3:30 - -0330 1984 O --3 - -03 -Z America/Port_of_Spain -4:6:4 - LMT 1912 Mar 2 --4 - AST -Li America/Port_of_Spain America/Anguilla -Li America/Port_of_Spain America/Antigua -Li America/Port_of_Spain America/Dominica -Li America/Port_of_Spain America/Grenada -Li America/Port_of_Spain America/Guadeloupe -Li America/Port_of_Spain America/Marigot -Li America/Port_of_Spain America/Montserrat -Li America/Port_of_Spain America/St_Barthelemy -Li America/Port_of_Spain America/St_Kitts -Li America/Port_of_Spain America/St_Lucia -Li America/Port_of_Spain America/St_Thomas -Li America/Port_of_Spain America/St_Vincent -Li America/Port_of_Spain America/Tortola -R Az 1923 o - O 2 0 0:30 HS -R Az 1924 1926 - Ap 1 0 0 - -R Az 1924 1925 - O 1 0 0:30 HS -R Az 1933 1935 - O lastSun 0 0:30 HS -R Az 1934 1936 - Mar Sat>=25 23:30s 0 - -R Az 1936 o - N 1 0 0:30 HS -R Az 1937 1941 - Mar lastSun 0 0 - -R Az 1937 1940 - O lastSun 0 0:30 HS -R Az 1941 o - Au 1 0 0:30 HS -R Az 1942 o - Ja 1 0 0 - -R Az 1942 o - D 14 0 1 S -R Az 1943 o - Mar 14 0 0 - -R Az 1959 o - May 24 0 1 S -R Az 1959 o - N 15 0 0 - -R Az 1960 o - Ja 17 0 1 S -R Az 1960 o - Mar 6 0 0 - -R Az 1965 1967 - Ap Sun>=1 0 1 S -R Az 1965 o - S 26 0 0 - -R Az 1966 1967 - O 31 0 0 - -R Az 1968 1970 - May 27 0 0:30 HS -R Az 1968 1970 - D 2 0 0 - -R Az 1972 o - Ap 24 0 1 S -R Az 1972 o - Au 15 0 0 - -R Az 1974 o - Mar 10 0 0:30 HS -R Az 1974 o - D 22 0 1 S -R Az 1976 o - O 1 0 0 - -R Az 1977 o - D 4 0 1 S -R Az 1978 o - Ap 1 0 0 - -R Az 1979 o - O 1 0 1 S -R Az 1980 o - May 1 0 0 - -R Az 1987 o - D 14 0 1 S -R Az 1988 o - Mar 14 0 0 - -R Az 1988 o - D 11 0 1 S -R Az 1989 o - Mar 12 0 0 - -R Az 1989 o - O 29 0 1 S -R Az 1990 1992 - Mar Sun>=1 0 0 - -R Az 1990 1991 - O Sun>=21 0 1 S -R Az 1992 o - O 18 0 1 S -R Az 1993 o - F 28 0 0 - -R Az 2004 o - S 19 0 1 S -R Az 2005 o - Mar 27 2 0 - -R Az 2005 o - O 9 2 1 S -R Az 2006 o - Mar 12 2 0 - -R Az 2006 2014 - O Sun>=1 2 1 S -R Az 2007 2015 - Mar Sun>=8 2 0 - -Z America/Montevideo -3:44:44 - LMT 1898 Jun 28 --3:44:44 - MMT 1920 May --3:30 Az -0330/-03 1942 D 14 --3 Az -03/-02 1968 --3 Az -03/-0230 1971 --3 Az -03/-02 1974 --3 Az -03/-0230 1974 D 22 --3 Az -03/-02 -Z America/Caracas -4:27:44 - LMT 1890 --4:27:40 - CMT 1912 F 12 --4:30 - -0430 1965 --4 - -04 2007 D 9 3 --4:30 - -0430 2016 May 1 2:30 --4 - -04 -Z Etc/GMT 0 - GMT -Z Etc/UTC 0 - UTC -Z Etc/UCT 0 - UCT -Li Etc/GMT GMT -Li Etc/UTC Etc/Universal -Li Etc/UTC Etc/Zulu -Li Etc/GMT Etc/Greenwich -Li Etc/GMT Etc/GMT-0 -Li Etc/GMT Etc/GMT+0 -Li Etc/GMT Etc/GMT0 -Z Etc/GMT-14 14 - +14 -Z Etc/GMT-13 13 - +13 -Z Etc/GMT-12 12 - +12 -Z Etc/GMT-11 11 - +11 -Z Etc/GMT-10 10 - +10 -Z Etc/GMT-9 9 - +09 -Z Etc/GMT-8 8 - +08 -Z Etc/GMT-7 7 - +07 -Z Etc/GMT-6 6 - +06 -Z Etc/GMT-5 5 - +05 -Z Etc/GMT-4 4 - +04 -Z Etc/GMT-3 3 - +03 -Z Etc/GMT-2 2 - +02 -Z Etc/GMT-1 1 - +01 -Z Etc/GMT+1 -1 - -01 -Z Etc/GMT+2 -2 - -02 -Z Etc/GMT+3 -3 - -03 -Z Etc/GMT+4 -4 - -04 -Z Etc/GMT+5 -5 - -05 -Z Etc/GMT+6 -6 - -06 -Z Etc/GMT+7 -7 - -07 -Z Etc/GMT+8 -8 - -08 -Z Etc/GMT+9 -9 - -09 -Z Etc/GMT+10 -10 - -10 -Z Etc/GMT+11 -11 - -11 -Z Etc/GMT+12 -12 - -12 -Z Factory 0 - -00 -Li Africa/Nairobi Africa/Asmera -Li Africa/Abidjan Africa/Timbuktu -Li America/Argentina/Catamarca America/Argentina/ComodRivadavia -Li America/Adak America/Atka -Li America/Argentina/Buenos_Aires America/Buenos_Aires -Li America/Argentina/Catamarca America/Catamarca -Li America/Atikokan America/Coral_Harbour -Li America/Argentina/Cordoba America/Cordoba -Li America/Tijuana America/Ensenada -Li America/Indiana/Indianapolis America/Fort_Wayne -Li America/Indiana/Indianapolis America/Indianapolis -Li America/Argentina/Jujuy America/Jujuy -Li America/Indiana/Knox America/Knox_IN -Li America/Kentucky/Louisville America/Louisville -Li America/Argentina/Mendoza America/Mendoza -Li America/Toronto America/Montreal -Li America/Rio_Branco America/Porto_Acre -Li America/Argentina/Cordoba America/Rosario -Li America/Tijuana America/Santa_Isabel -Li America/Denver America/Shiprock -Li America/Port_of_Spain America/Virgin -Li Pacific/Auckland Antarctica/South_Pole -Li Asia/Ashgabat Asia/Ashkhabad -Li Asia/Kolkata Asia/Calcutta -Li Asia/Shanghai Asia/Chongqing -Li Asia/Shanghai Asia/Chungking -Li Asia/Dhaka Asia/Dacca -Li Asia/Shanghai Asia/Harbin -Li Asia/Urumqi Asia/Kashgar -Li Asia/Kathmandu Asia/Katmandu -Li Asia/Macau Asia/Macao -Li Asia/Yangon Asia/Rangoon -Li Asia/Ho_Chi_Minh Asia/Saigon -Li Asia/Jerusalem Asia/Tel_Aviv -Li Asia/Thimphu Asia/Thimbu -Li Asia/Makassar Asia/Ujung_Pandang -Li Asia/Ulaanbaatar Asia/Ulan_Bator -Li Atlantic/Faroe Atlantic/Faeroe -Li Europe/Oslo Atlantic/Jan_Mayen -Li Australia/Sydney Australia/ACT -Li Australia/Sydney Australia/Canberra -Li Australia/Lord_Howe Australia/LHI -Li Australia/Sydney Australia/NSW -Li Australia/Darwin Australia/North -Li Australia/Brisbane Australia/Queensland -Li Australia/Adelaide Australia/South -Li Australia/Hobart Australia/Tasmania -Li Australia/Melbourne Australia/Victoria -Li Australia/Perth Australia/West -Li Australia/Broken_Hill Australia/Yancowinna -Li America/Rio_Branco Brazil/Acre -Li America/Noronha Brazil/DeNoronha -Li America/Sao_Paulo Brazil/East -Li America/Manaus Brazil/West -Li America/Halifax Canada/Atlantic -Li America/Winnipeg Canada/Central -Li America/Toronto Canada/Eastern -Li America/Edmonton Canada/Mountain -Li America/St_Johns Canada/Newfoundland -Li America/Vancouver Canada/Pacific -Li America/Regina Canada/Saskatchewan -Li America/Whitehorse Canada/Yukon -Li America/Santiago Chile/Continental -Li Pacific/Easter Chile/EasterIsland -Li America/Havana Cuba -Li Africa/Cairo Egypt -Li Europe/Dublin Eire -Li Europe/London Europe/Belfast -Li Europe/Chisinau Europe/Tiraspol -Li Europe/London GB -Li Europe/London GB-Eire -Li Etc/GMT GMT+0 -Li Etc/GMT GMT-0 -Li Etc/GMT GMT0 -Li Etc/GMT Greenwich -Li Asia/Hong_Kong Hongkong -Li Atlantic/Reykjavik Iceland -Li Asia/Tehran Iran -Li Asia/Jerusalem Israel -Li America/Jamaica Jamaica -Li Asia/Tokyo Japan -Li Pacific/Kwajalein Kwajalein -Li Africa/Tripoli Libya -Li America/Tijuana Mexico/BajaNorte -Li America/Mazatlan Mexico/BajaSur -Li America/Mexico_City Mexico/General -Li Pacific/Auckland NZ -Li Pacific/Chatham NZ-CHAT -Li America/Denver Navajo -Li Asia/Shanghai PRC -Li Pacific/Honolulu Pacific/Johnston -Li Pacific/Pohnpei Pacific/Ponape -Li Pacific/Pago_Pago Pacific/Samoa -Li Pacific/Chuuk Pacific/Truk -Li Pacific/Chuuk Pacific/Yap -Li Europe/Warsaw Poland -Li Europe/Lisbon Portugal -Li Asia/Taipei ROC -Li Asia/Seoul ROK -Li Asia/Singapore Singapore -Li Europe/Istanbul Turkey -Li Etc/UCT UCT -Li America/Anchorage US/Alaska -Li America/Adak US/Aleutian -Li America/Phoenix US/Arizona -Li America/Chicago US/Central -Li America/Indiana/Indianapolis US/East-Indiana -Li America/New_York US/Eastern -Li Pacific/Honolulu US/Hawaii -Li America/Indiana/Knox US/Indiana-Starke -Li America/Detroit US/Michigan -Li America/Denver US/Mountain -Li America/Los_Angeles US/Pacific -Li Pacific/Pago_Pago US/Samoa -Li Etc/UTC UTC -Li Etc/UTC Universal -Li Europe/Moscow W-SU -Li Etc/UTC Zulu diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone.tab b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone.tab deleted file mode 100644 index e1bfdee2..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone.tab +++ /dev/null @@ -1,448 +0,0 @@ -# tz zone descriptions (deprecated version) -# -# This file is in the public domain, so clarified as of -# 2009-05-17 by Arthur David Olson. -# -# From Paul Eggert (2014-07-31): -# This file is intended as a backward-compatibility aid for older programs. -# New programs should use zone1970.tab. This file is like zone1970.tab (see -# zone1970.tab's comments), but with the following additional restrictions: -# -# 1. This file contains only ASCII characters. -# 2. The first data column contains exactly one country code. -# -# Because of (2), each row stands for an area that is the intersection -# of a region identified by a country code and of a zone where civil -# clocks have agreed since 1970; this is a narrower definition than -# that of zone1970.tab. -# -# This table is intended as an aid for users, to help them select time -# zone data entries appropriate for their practical needs. It is not -# intended to take or endorse any position on legal or territorial claims. -# -#country- -#code coordinates TZ comments -AD +4230+00131 Europe/Andorra -AE +2518+05518 Asia/Dubai -AF +3431+06912 Asia/Kabul -AG +1703-06148 America/Antigua -AI +1812-06304 America/Anguilla -AL +4120+01950 Europe/Tirane -AM +4011+04430 Asia/Yerevan -AO -0848+01314 Africa/Luanda -AQ -7750+16636 Antarctica/McMurdo New Zealand time - McMurdo, South Pole -AQ -6617+11031 Antarctica/Casey Casey -AQ -6835+07758 Antarctica/Davis Davis -AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville -AQ -6736+06253 Antarctica/Mawson Mawson -AQ -6448-06406 Antarctica/Palmer Palmer -AQ -6734-06808 Antarctica/Rothera Rothera -AQ -690022+0393524 Antarctica/Syowa Syowa -AQ -720041+0023206 Antarctica/Troll Troll -AQ -7824+10654 Antarctica/Vostok Vostok -AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF) -AR -3124-06411 America/Argentina/Cordoba Argentina (most areas: CB, CC, CN, ER, FM, MN, SE, SF) -AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN) -AR -2411-06518 America/Argentina/Jujuy Jujuy (JY) -AR -2649-06513 America/Argentina/Tucuman Tucuman (TM) -AR -2828-06547 America/Argentina/Catamarca Catamarca (CT); Chubut (CH) -AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR) -AR -3132-06831 America/Argentina/San_Juan San Juan (SJ) -AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ) -AR -3319-06621 America/Argentina/San_Luis San Luis (SL) -AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC) -AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF) -AS -1416-17042 Pacific/Pago_Pago -AT +4813+01620 Europe/Vienna -AU -3133+15905 Australia/Lord_Howe Lord Howe Island -AU -5430+15857 Antarctica/Macquarie Macquarie Island -AU -4253+14719 Australia/Hobart Tasmania (most areas) -AU -3956+14352 Australia/Currie Tasmania (King Island) -AU -3749+14458 Australia/Melbourne Victoria -AU -3352+15113 Australia/Sydney New South Wales (most areas) -AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna) -AU -2728+15302 Australia/Brisbane Queensland (most areas) -AU -2016+14900 Australia/Lindeman Queensland (Whitsunday Islands) -AU -3455+13835 Australia/Adelaide South Australia -AU -1228+13050 Australia/Darwin Northern Territory -AU -3157+11551 Australia/Perth Western Australia (most areas) -AU -3143+12852 Australia/Eucla Western Australia (Eucla) -AW +1230-06958 America/Aruba -AX +6006+01957 Europe/Mariehamn -AZ +4023+04951 Asia/Baku -BA +4352+01825 Europe/Sarajevo -BB +1306-05937 America/Barbados -BD +2343+09025 Asia/Dhaka -BE +5050+00420 Europe/Brussels -BF +1222-00131 Africa/Ouagadougou -BG +4241+02319 Europe/Sofia -BH +2623+05035 Asia/Bahrain -BI -0323+02922 Africa/Bujumbura -BJ +0629+00237 Africa/Porto-Novo -BL +1753-06251 America/St_Barthelemy -BM +3217-06446 Atlantic/Bermuda -BN +0456+11455 Asia/Brunei -BO -1630-06809 America/La_Paz -BQ +120903-0681636 America/Kralendijk -BR -0351-03225 America/Noronha Atlantic islands -BR -0127-04829 America/Belem Para (east); Amapa -BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB) -BR -0803-03454 America/Recife Pernambuco -BR -0712-04812 America/Araguaina Tocantins -BR -0940-03543 America/Maceio Alagoas, Sergipe -BR -1259-03831 America/Bahia Bahia -BR -2332-04637 America/Sao_Paulo Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS) -BR -2027-05437 America/Campo_Grande Mato Grosso do Sul -BR -1535-05605 America/Cuiaba Mato Grosso -BR -0226-05452 America/Santarem Para (west) -BR -0846-06354 America/Porto_Velho Rondonia -BR +0249-06040 America/Boa_Vista Roraima -BR -0308-06001 America/Manaus Amazonas (east) -BR -0640-06952 America/Eirunepe Amazonas (west) -BR -0958-06748 America/Rio_Branco Acre -BS +2505-07721 America/Nassau -BT +2728+08939 Asia/Thimphu -BW -2439+02555 Africa/Gaborone -BY +5354+02734 Europe/Minsk -BZ +1730-08812 America/Belize -CA +4734-05243 America/St_Johns Newfoundland; Labrador (southeast) -CA +4439-06336 America/Halifax Atlantic - NS (most areas); PE -CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton) -CA +4606-06447 America/Moncton Atlantic - New Brunswick -CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) -CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore) -CA +4339-07923 America/Toronto Eastern - ON, QC (most areas) -CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73) -CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay) -CA +6344-06828 America/Iqaluit Eastern - NU (most east areas) -CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung) -CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H) -CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba -CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances) -CA +744144-0944945 America/Resolute Central - NU (Resolute) -CA +624900-0920459 America/Rankin_Inlet Central - NU (central) -CA +5024-10439 America/Regina CST - SK (most areas) -CA +5017-10750 America/Swift_Current CST - SK (midwest) -CA +5333-11328 America/Edmonton Mountain - AB; BC (E); SK (W) -CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west) -CA +6227-11421 America/Yellowknife Mountain - NT (central) -CA +682059-1334300 America/Inuvik Mountain - NT (west) -CA +4906-11631 America/Creston MST - BC (Creston) -CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John) -CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson) -CA +4916-12307 America/Vancouver Pacific - BC (most areas) -CA +6043-13503 America/Whitehorse Pacific - Yukon (south) -CA +6404-13925 America/Dawson Pacific - Yukon (north) -CC -1210+09655 Indian/Cocos -CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west) -CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east) -CF +0422+01835 Africa/Bangui -CG -0416+01517 Africa/Brazzaville -CH +4723+00832 Europe/Zurich -CI +0519-00402 Africa/Abidjan -CK -2114-15946 Pacific/Rarotonga -CL -3327-07040 America/Santiago Chile (most areas) -CL -5309-07055 America/Punta_Arenas Region of Magallanes -CL -2709-10926 Pacific/Easter Easter Island -CM +0403+00942 Africa/Douala -CN +3114+12128 Asia/Shanghai Beijing Time -CN +4348+08735 Asia/Urumqi Xinjiang Time -CO +0436-07405 America/Bogota -CR +0956-08405 America/Costa_Rica -CU +2308-08222 America/Havana -CV +1455-02331 Atlantic/Cape_Verde -CW +1211-06900 America/Curacao -CX -1025+10543 Indian/Christmas -CY +3510+03322 Asia/Nicosia Cyprus (most areas) -CY +3507+03357 Asia/Famagusta Northern Cyprus -CZ +5005+01426 Europe/Prague -DE +5230+01322 Europe/Berlin Germany (most areas) -DE +4742+00841 Europe/Busingen Busingen -DJ +1136+04309 Africa/Djibouti -DK +5540+01235 Europe/Copenhagen -DM +1518-06124 America/Dominica -DO +1828-06954 America/Santo_Domingo -DZ +3647+00303 Africa/Algiers -EC -0210-07950 America/Guayaquil Ecuador (mainland) -EC -0054-08936 Pacific/Galapagos Galapagos Islands -EE +5925+02445 Europe/Tallinn -EG +3003+03115 Africa/Cairo -EH +2709-01312 Africa/El_Aaiun -ER +1520+03853 Africa/Asmara -ES +4024-00341 Europe/Madrid Spain (mainland) -ES +3553-00519 Africa/Ceuta Ceuta, Melilla -ES +2806-01524 Atlantic/Canary Canary Islands -ET +0902+03842 Africa/Addis_Ababa -FI +6010+02458 Europe/Helsinki -FJ -1808+17825 Pacific/Fiji -FK -5142-05751 Atlantic/Stanley -FM +0725+15147 Pacific/Chuuk Chuuk/Truk, Yap -FM +0658+15813 Pacific/Pohnpei Pohnpei/Ponape -FM +0519+16259 Pacific/Kosrae Kosrae -FO +6201-00646 Atlantic/Faroe -FR +4852+00220 Europe/Paris -GA +0023+00927 Africa/Libreville -GB +513030-0000731 Europe/London -GD +1203-06145 America/Grenada -GE +4143+04449 Asia/Tbilisi -GF +0456-05220 America/Cayenne -GG +492717-0023210 Europe/Guernsey -GH +0533-00013 Africa/Accra -GI +3608-00521 Europe/Gibraltar -GL +6411-05144 America/Godthab Greenland (most areas) -GL +7646-01840 America/Danmarkshavn National Park (east coast) -GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit -GL +7634-06847 America/Thule Thule/Pituffik -GM +1328-01639 Africa/Banjul -GN +0931-01343 Africa/Conakry -GP +1614-06132 America/Guadeloupe -GQ +0345+00847 Africa/Malabo -GR +3758+02343 Europe/Athens -GS -5416-03632 Atlantic/South_Georgia -GT +1438-09031 America/Guatemala -GU +1328+14445 Pacific/Guam -GW +1151-01535 Africa/Bissau -GY +0648-05810 America/Guyana -HK +2217+11409 Asia/Hong_Kong -HN +1406-08713 America/Tegucigalpa -HR +4548+01558 Europe/Zagreb -HT +1832-07220 America/Port-au-Prince -HU +4730+01905 Europe/Budapest -ID -0610+10648 Asia/Jakarta Java, Sumatra -ID -0002+10920 Asia/Pontianak Borneo (west, central) -ID -0507+11924 Asia/Makassar Borneo (east, south); Sulawesi/Celebes, Bali, Nusa Tengarra; Timor (west) -ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya); Malukus/Moluccas -IE +5320-00615 Europe/Dublin -IL +314650+0351326 Asia/Jerusalem -IM +5409-00428 Europe/Isle_of_Man -IN +2232+08822 Asia/Kolkata -IO -0720+07225 Indian/Chagos -IQ +3321+04425 Asia/Baghdad -IR +3540+05126 Asia/Tehran -IS +6409-02151 Atlantic/Reykjavik -IT +4154+01229 Europe/Rome -JE +491101-0020624 Europe/Jersey -JM +175805-0764736 America/Jamaica -JO +3157+03556 Asia/Amman -JP +353916+1394441 Asia/Tokyo -KE -0117+03649 Africa/Nairobi -KG +4254+07436 Asia/Bishkek -KH +1133+10455 Asia/Phnom_Penh -KI +0125+17300 Pacific/Tarawa Gilbert Islands -KI -0308-17105 Pacific/Enderbury Phoenix Islands -KI +0152-15720 Pacific/Kiritimati Line Islands -KM -1141+04316 Indian/Comoro -KN +1718-06243 America/St_Kitts -KP +3901+12545 Asia/Pyongyang -KR +3733+12658 Asia/Seoul -KW +2920+04759 Asia/Kuwait -KY +1918-08123 America/Cayman -KZ +4315+07657 Asia/Almaty Kazakhstan (most areas) -KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda -KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe -KZ +4431+05016 Asia/Aqtau Mangghystau/Mankistau -KZ +4707+05156 Asia/Atyrau Atyrau/Atirau/Gur'yev -KZ +5113+05121 Asia/Oral West Kazakhstan -LA +1758+10236 Asia/Vientiane -LB +3353+03530 Asia/Beirut -LC +1401-06100 America/St_Lucia -LI +4709+00931 Europe/Vaduz -LK +0656+07951 Asia/Colombo -LR +0618-01047 Africa/Monrovia -LS -2928+02730 Africa/Maseru -LT +5441+02519 Europe/Vilnius -LU +4936+00609 Europe/Luxembourg -LV +5657+02406 Europe/Riga -LY +3254+01311 Africa/Tripoli -MA +3339-00735 Africa/Casablanca -MC +4342+00723 Europe/Monaco -MD +4700+02850 Europe/Chisinau -ME +4226+01916 Europe/Podgorica -MF +1804-06305 America/Marigot -MG -1855+04731 Indian/Antananarivo -MH +0709+17112 Pacific/Majuro Marshall Islands (most areas) -MH +0905+16720 Pacific/Kwajalein Kwajalein -MK +4159+02126 Europe/Skopje -ML +1239-00800 Africa/Bamako -MM +1647+09610 Asia/Yangon -MN +4755+10653 Asia/Ulaanbaatar Mongolia (most areas) -MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan -MN +4804+11430 Asia/Choibalsan Dornod, Sukhbaatar -MO +2214+11335 Asia/Macau -MP +1512+14545 Pacific/Saipan -MQ +1436-06105 America/Martinique -MR +1806-01557 Africa/Nouakchott -MS +1643-06213 America/Montserrat -MT +3554+01431 Europe/Malta -MU -2010+05730 Indian/Mauritius -MV +0410+07330 Indian/Maldives -MW -1547+03500 Africa/Blantyre -MX +1924-09909 America/Mexico_City Central Time -MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo -MX +2058-08937 America/Merida Central Time - Campeche, Yucatan -MX +2540-10019 America/Monterrey Central Time - Durango; Coahuila, Nuevo Leon, Tamaulipas (most areas) -MX +2550-09730 America/Matamoros Central Time US - Coahuila, Nuevo Leon, Tamaulipas (US border) -MX +2313-10625 America/Mazatlan Mountain Time - Baja California Sur, Nayarit, Sinaloa -MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua (most areas) -MX +2934-10425 America/Ojinaga Mountain Time US - Chihuahua (US border) -MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora -MX +3232-11701 America/Tijuana Pacific Time US - Baja California -MX +2048-10515 America/Bahia_Banderas Central Time - Bahia de Banderas -MY +0310+10142 Asia/Kuala_Lumpur Malaysia (peninsula) -MY +0133+11020 Asia/Kuching Sabah, Sarawak -MZ -2558+03235 Africa/Maputo -NA -2234+01706 Africa/Windhoek -NC -2216+16627 Pacific/Noumea -NE +1331+00207 Africa/Niamey -NF -2903+16758 Pacific/Norfolk -NG +0627+00324 Africa/Lagos -NI +1209-08617 America/Managua -NL +5222+00454 Europe/Amsterdam -NO +5955+01045 Europe/Oslo -NP +2743+08519 Asia/Kathmandu -NR -0031+16655 Pacific/Nauru -NU -1901-16955 Pacific/Niue -NZ -3652+17446 Pacific/Auckland New Zealand (most areas) -NZ -4357-17633 Pacific/Chatham Chatham Islands -OM +2336+05835 Asia/Muscat -PA +0858-07932 America/Panama -PE -1203-07703 America/Lima -PF -1732-14934 Pacific/Tahiti Society Islands -PF -0900-13930 Pacific/Marquesas Marquesas Islands -PF -2308-13457 Pacific/Gambier Gambier Islands -PG -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas) -PG -0613+15534 Pacific/Bougainville Bougainville -PH +1435+12100 Asia/Manila -PK +2452+06703 Asia/Karachi -PL +5215+02100 Europe/Warsaw -PM +4703-05620 America/Miquelon -PN -2504-13005 Pacific/Pitcairn -PR +182806-0660622 America/Puerto_Rico -PS +3130+03428 Asia/Gaza Gaza Strip -PS +313200+0350542 Asia/Hebron West Bank -PT +3843-00908 Europe/Lisbon Portugal (mainland) -PT +3238-01654 Atlantic/Madeira Madeira Islands -PT +3744-02540 Atlantic/Azores Azores -PW +0720+13429 Pacific/Palau -PY -2516-05740 America/Asuncion -QA +2517+05132 Asia/Qatar -RE -2052+05528 Indian/Reunion -RO +4426+02606 Europe/Bucharest -RS +4450+02030 Europe/Belgrade -RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad -RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area -RU +4457+03406 Europe/Simferopol MSK+00 - Crimea -RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd -RU +5836+04939 Europe/Kirov MSK+00 - Kirov -RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan -RU +5134+04602 Europe/Saratov MSK+01 - Saratov -RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk -RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia -RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals -RU +5500+07324 Asia/Omsk MSK+03 - Omsk -RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk -RU +5322+08345 Asia/Barnaul MSK+04 - Altai -RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk -RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo -RU +5601+09250 Asia/Krasnoyarsk MSK+04 - Krasnoyarsk area -RU +5216+10420 Asia/Irkutsk MSK+05 - Irkutsk, Buryatia -RU +5203+11328 Asia/Chita MSK+06 - Zabaykalsky -RU +6200+12940 Asia/Yakutsk MSK+06 - Lena River -RU +623923+1353314 Asia/Khandyga MSK+06 - Tomponsky, Ust-Maysky -RU +4310+13156 Asia/Vladivostok MSK+07 - Amur River -RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky -RU +5934+15048 Asia/Magadan MSK+08 - Magadan -RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island -RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); North Kuril Is -RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka -RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea -RW -0157+03004 Africa/Kigali -SA +2438+04643 Asia/Riyadh -SB -0932+16012 Pacific/Guadalcanal -SC -0440+05528 Indian/Mahe -SD +1536+03232 Africa/Khartoum -SE +5920+01803 Europe/Stockholm -SG +0117+10351 Asia/Singapore -SH -1555-00542 Atlantic/St_Helena -SI +4603+01431 Europe/Ljubljana -SJ +7800+01600 Arctic/Longyearbyen -SK +4809+01707 Europe/Bratislava -SL +0830-01315 Africa/Freetown -SM +4355+01228 Europe/San_Marino -SN +1440-01726 Africa/Dakar -SO +0204+04522 Africa/Mogadishu -SR +0550-05510 America/Paramaribo -SS +0451+03137 Africa/Juba -ST +0020+00644 Africa/Sao_Tome -SV +1342-08912 America/El_Salvador -SX +180305-0630250 America/Lower_Princes -SY +3330+03618 Asia/Damascus -SZ -2618+03106 Africa/Mbabane -TC +2128-07108 America/Grand_Turk -TD +1207+01503 Africa/Ndjamena -TF -492110+0701303 Indian/Kerguelen -TG +0608+00113 Africa/Lome -TH +1345+10031 Asia/Bangkok -TJ +3835+06848 Asia/Dushanbe -TK -0922-17114 Pacific/Fakaofo -TL -0833+12535 Asia/Dili -TM +3757+05823 Asia/Ashgabat -TN +3648+01011 Africa/Tunis -TO -2110-17510 Pacific/Tongatapu -TR +4101+02858 Europe/Istanbul -TT +1039-06131 America/Port_of_Spain -TV -0831+17913 Pacific/Funafuti -TW +2503+12130 Asia/Taipei -TZ -0648+03917 Africa/Dar_es_Salaam -UA +5026+03031 Europe/Kiev Ukraine (most areas) -UA +4837+02218 Europe/Uzhgorod Ruthenia -UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east) -UG +0019+03225 Africa/Kampala -UM +2813-17722 Pacific/Midway Midway Islands -UM +1917+16637 Pacific/Wake Wake Island -US +404251-0740023 America/New_York Eastern (most areas) -US +421953-0830245 America/Detroit Eastern - MI (most areas) -US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area) -US +364947-0845057 America/Kentucky/Monticello Eastern - KY (Wayne) -US +394606-0860929 America/Indiana/Indianapolis Eastern - IN (most areas) -US +384038-0873143 America/Indiana/Vincennes Eastern - IN (Da, Du, K, Mn) -US +410305-0863611 America/Indiana/Winamac Eastern - IN (Pulaski) -US +382232-0862041 America/Indiana/Marengo Eastern - IN (Crawford) -US +382931-0871643 America/Indiana/Petersburg Eastern - IN (Pike) -US +384452-0850402 America/Indiana/Vevay Eastern - IN (Switzerland) -US +415100-0873900 America/Chicago Central (most areas) -US +375711-0864541 America/Indiana/Tell_City Central - IN (Perry) -US +411745-0863730 America/Indiana/Knox Central - IN (Starke) -US +450628-0873651 America/Menominee Central - MI (Wisconsin border) -US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver) -US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural) -US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer) -US +394421-1045903 America/Denver Mountain (most areas) -US +433649-1161209 America/Boise Mountain - ID (south); OR (east) -US +332654-1120424 America/Phoenix MST - Arizona (except Navajo) -US +340308-1181434 America/Los_Angeles Pacific -US +611305-1495401 America/Anchorage Alaska (most areas) -US +581807-1342511 America/Juneau Alaska - Juneau area -US +571035-1351807 America/Sitka Alaska - Sitka area -US +550737-1313435 America/Metlakatla Alaska - Annette Island -US +593249-1394338 America/Yakutat Alaska - Yakutat -US +643004-1652423 America/Nome Alaska (west) -US +515248-1763929 America/Adak Aleutian Islands -US +211825-1575130 Pacific/Honolulu Hawaii -UY -3453-05611 America/Montevideo -UZ +3940+06648 Asia/Samarkand Uzbekistan (west) -UZ +4120+06918 Asia/Tashkent Uzbekistan (east) -VA +415408+0122711 Europe/Vatican -VC +1309-06114 America/St_Vincent -VE +1030-06656 America/Caracas -VG +1827-06437 America/Tortola -VI +1821-06456 America/St_Thomas -VN +1045+10640 Asia/Ho_Chi_Minh -VU -1740+16825 Pacific/Efate -WF -1318-17610 Pacific/Wallis -WS -1350-17144 Pacific/Apia -YE +1245+04512 Asia/Aden -YT -1247+04514 Indian/Mayotte -ZA -2615+02800 Africa/Johannesburg -ZM -1525+02817 Africa/Lusaka -ZW -1750+03103 Africa/Harare diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone1970.tab b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone1970.tab deleted file mode 100644 index 4ee8ce51..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/pytz/zoneinfo/zone1970.tab +++ /dev/null @@ -1,382 +0,0 @@ -# tz zone descriptions -# -# This file is in the public domain. -# -# From Paul Eggert (2017-10-01): -# This file contains a table where each row stands for a zone where -# civil time stamps have agreed since 1970. Columns are separated by -# a single tab. Lines beginning with '#' are comments. All text uses -# UTF-8 encoding. The columns of the table are as follows: -# -# 1. The countries that overlap the zone, as a comma-separated list -# of ISO 3166 2-character country codes. See the file 'iso3166.tab'. -# 2. Latitude and longitude of the zone's principal location -# in ISO 6709 sign-degrees-minutes-seconds format, -# either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS, -# first latitude (+ is north), then longitude (+ is east). -# 3. Zone name used in value of TZ environment variable. -# Please see the theory.html file for how zone names are chosen. -# If multiple zones overlap a country, each has a row in the -# table, with each column 1 containing the country code. -# 4. Comments; present if and only if a country has multiple zones. -# -# If a zone covers multiple countries, the most-populous city is used, -# and that country is listed first in column 1; any other countries -# are listed alphabetically by country code. The table is sorted -# first by country code, then (if possible) by an order within the -# country that (1) makes some geographical sense, and (2) puts the -# most populous zones first, where that does not contradict (1). -# -# This table is intended as an aid for users, to help them select time -# zone data entries appropriate for their practical needs. It is not -# intended to take or endorse any position on legal or territorial claims. -# -#country- -#codes coordinates TZ comments -AD +4230+00131 Europe/Andorra -AE,OM +2518+05518 Asia/Dubai -AF +3431+06912 Asia/Kabul -AL +4120+01950 Europe/Tirane -AM +4011+04430 Asia/Yerevan -AQ -6617+11031 Antarctica/Casey Casey -AQ -6835+07758 Antarctica/Davis Davis -AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville -AQ -6736+06253 Antarctica/Mawson Mawson -AQ -6448-06406 Antarctica/Palmer Palmer -AQ -6734-06808 Antarctica/Rothera Rothera -AQ -690022+0393524 Antarctica/Syowa Syowa -AQ -720041+0023206 Antarctica/Troll Troll -AQ -7824+10654 Antarctica/Vostok Vostok -AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF) -AR -3124-06411 America/Argentina/Cordoba Argentina (most areas: CB, CC, CN, ER, FM, MN, SE, SF) -AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN) -AR -2411-06518 America/Argentina/Jujuy Jujuy (JY) -AR -2649-06513 America/Argentina/Tucuman Tucumán (TM) -AR -2828-06547 America/Argentina/Catamarca Catamarca (CT); Chubut (CH) -AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR) -AR -3132-06831 America/Argentina/San_Juan San Juan (SJ) -AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ) -AR -3319-06621 America/Argentina/San_Luis San Luis (SL) -AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC) -AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF) -AS,UM -1416-17042 Pacific/Pago_Pago Samoa, Midway -AT +4813+01620 Europe/Vienna -AU -3133+15905 Australia/Lord_Howe Lord Howe Island -AU -5430+15857 Antarctica/Macquarie Macquarie Island -AU -4253+14719 Australia/Hobart Tasmania (most areas) -AU -3956+14352 Australia/Currie Tasmania (King Island) -AU -3749+14458 Australia/Melbourne Victoria -AU -3352+15113 Australia/Sydney New South Wales (most areas) -AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna) -AU -2728+15302 Australia/Brisbane Queensland (most areas) -AU -2016+14900 Australia/Lindeman Queensland (Whitsunday Islands) -AU -3455+13835 Australia/Adelaide South Australia -AU -1228+13050 Australia/Darwin Northern Territory -AU -3157+11551 Australia/Perth Western Australia (most areas) -AU -3143+12852 Australia/Eucla Western Australia (Eucla) -AZ +4023+04951 Asia/Baku -BB +1306-05937 America/Barbados -BD +2343+09025 Asia/Dhaka -BE +5050+00420 Europe/Brussels -BG +4241+02319 Europe/Sofia -BM +3217-06446 Atlantic/Bermuda -BN +0456+11455 Asia/Brunei -BO -1630-06809 America/La_Paz -BR -0351-03225 America/Noronha Atlantic islands -BR -0127-04829 America/Belem Pará (east); Amapá -BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB) -BR -0803-03454 America/Recife Pernambuco -BR -0712-04812 America/Araguaina Tocantins -BR -0940-03543 America/Maceio Alagoas, Sergipe -BR -1259-03831 America/Bahia Bahia -BR -2332-04637 America/Sao_Paulo Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS) -BR -2027-05437 America/Campo_Grande Mato Grosso do Sul -BR -1535-05605 America/Cuiaba Mato Grosso -BR -0226-05452 America/Santarem Pará (west) -BR -0846-06354 America/Porto_Velho Rondônia -BR +0249-06040 America/Boa_Vista Roraima -BR -0308-06001 America/Manaus Amazonas (east) -BR -0640-06952 America/Eirunepe Amazonas (west) -BR -0958-06748 America/Rio_Branco Acre -BS +2505-07721 America/Nassau -BT +2728+08939 Asia/Thimphu -BY +5354+02734 Europe/Minsk -BZ +1730-08812 America/Belize -CA +4734-05243 America/St_Johns Newfoundland; Labrador (southeast) -CA +4439-06336 America/Halifax Atlantic - NS (most areas); PE -CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton) -CA +4606-06447 America/Moncton Atlantic - New Brunswick -CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) -CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore) -CA +4339-07923 America/Toronto Eastern - ON, QC (most areas) -CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73) -CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay) -CA +6344-06828 America/Iqaluit Eastern - NU (most east areas) -CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung) -CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H) -CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba -CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances) -CA +744144-0944945 America/Resolute Central - NU (Resolute) -CA +624900-0920459 America/Rankin_Inlet Central - NU (central) -CA +5024-10439 America/Regina CST - SK (most areas) -CA +5017-10750 America/Swift_Current CST - SK (midwest) -CA +5333-11328 America/Edmonton Mountain - AB; BC (E); SK (W) -CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west) -CA +6227-11421 America/Yellowknife Mountain - NT (central) -CA +682059-1334300 America/Inuvik Mountain - NT (west) -CA +4906-11631 America/Creston MST - BC (Creston) -CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John) -CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson) -CA +4916-12307 America/Vancouver Pacific - BC (most areas) -CA +6043-13503 America/Whitehorse Pacific - Yukon (south) -CA +6404-13925 America/Dawson Pacific - Yukon (north) -CC -1210+09655 Indian/Cocos -CH,DE,LI +4723+00832 Europe/Zurich Swiss time -CI,BF,GM,GN,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan -CK -2114-15946 Pacific/Rarotonga -CL -3327-07040 America/Santiago Chile (most areas) -CL -5309-07055 America/Punta_Arenas Region of Magallanes -CL -2709-10926 Pacific/Easter Easter Island -CN +3114+12128 Asia/Shanghai Beijing Time -CN +4348+08735 Asia/Urumqi Xinjiang Time -CO +0436-07405 America/Bogota -CR +0956-08405 America/Costa_Rica -CU +2308-08222 America/Havana -CV +1455-02331 Atlantic/Cape_Verde -CW,AW,BQ,SX +1211-06900 America/Curacao -CX -1025+10543 Indian/Christmas -CY +3510+03322 Asia/Nicosia Cyprus (most areas) -CY +3507+03357 Asia/Famagusta Northern Cyprus -CZ,SK +5005+01426 Europe/Prague -DE +5230+01322 Europe/Berlin Germany (most areas) -DK +5540+01235 Europe/Copenhagen -DO +1828-06954 America/Santo_Domingo -DZ +3647+00303 Africa/Algiers -EC -0210-07950 America/Guayaquil Ecuador (mainland) -EC -0054-08936 Pacific/Galapagos Galápagos Islands -EE +5925+02445 Europe/Tallinn -EG +3003+03115 Africa/Cairo -EH +2709-01312 Africa/El_Aaiun -ES +4024-00341 Europe/Madrid Spain (mainland) -ES +3553-00519 Africa/Ceuta Ceuta, Melilla -ES +2806-01524 Atlantic/Canary Canary Islands -FI,AX +6010+02458 Europe/Helsinki -FJ -1808+17825 Pacific/Fiji -FK -5142-05751 Atlantic/Stanley -FM +0725+15147 Pacific/Chuuk Chuuk/Truk, Yap -FM +0658+15813 Pacific/Pohnpei Pohnpei/Ponape -FM +0519+16259 Pacific/Kosrae Kosrae -FO +6201-00646 Atlantic/Faroe -FR +4852+00220 Europe/Paris -GB,GG,IM,JE +513030-0000731 Europe/London -GE +4143+04449 Asia/Tbilisi -GF +0456-05220 America/Cayenne -GH +0533-00013 Africa/Accra -GI +3608-00521 Europe/Gibraltar -GL +6411-05144 America/Godthab Greenland (most areas) -GL +7646-01840 America/Danmarkshavn National Park (east coast) -GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit -GL +7634-06847 America/Thule Thule/Pituffik -GR +3758+02343 Europe/Athens -GS -5416-03632 Atlantic/South_Georgia -GT +1438-09031 America/Guatemala -GU,MP +1328+14445 Pacific/Guam -GW +1151-01535 Africa/Bissau -GY +0648-05810 America/Guyana -HK +2217+11409 Asia/Hong_Kong -HN +1406-08713 America/Tegucigalpa -HT +1832-07220 America/Port-au-Prince -HU +4730+01905 Europe/Budapest -ID -0610+10648 Asia/Jakarta Java, Sumatra -ID -0002+10920 Asia/Pontianak Borneo (west, central) -ID -0507+11924 Asia/Makassar Borneo (east, south); Sulawesi/Celebes, Bali, Nusa Tengarra; Timor (west) -ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya); Malukus/Moluccas -IE +5320-00615 Europe/Dublin -IL +314650+0351326 Asia/Jerusalem -IN +2232+08822 Asia/Kolkata -IO -0720+07225 Indian/Chagos -IQ +3321+04425 Asia/Baghdad -IR +3540+05126 Asia/Tehran -IS +6409-02151 Atlantic/Reykjavik -IT,SM,VA +4154+01229 Europe/Rome -JM +175805-0764736 America/Jamaica -JO +3157+03556 Asia/Amman -JP +353916+1394441 Asia/Tokyo -KE,DJ,ER,ET,KM,MG,SO,TZ,UG,YT -0117+03649 Africa/Nairobi -KG +4254+07436 Asia/Bishkek -KI +0125+17300 Pacific/Tarawa Gilbert Islands -KI -0308-17105 Pacific/Enderbury Phoenix Islands -KI +0152-15720 Pacific/Kiritimati Line Islands -KP +3901+12545 Asia/Pyongyang -KR +3733+12658 Asia/Seoul -KZ +4315+07657 Asia/Almaty Kazakhstan (most areas) -KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda -KZ +5017+05710 Asia/Aqtobe Aqtöbe/Aktobe -KZ +4431+05016 Asia/Aqtau Mangghystaū/Mankistau -KZ +4707+05156 Asia/Atyrau Atyraū/Atirau/Gur'yev -KZ +5113+05121 Asia/Oral West Kazakhstan -LB +3353+03530 Asia/Beirut -LK +0656+07951 Asia/Colombo -LR +0618-01047 Africa/Monrovia -LT +5441+02519 Europe/Vilnius -LU +4936+00609 Europe/Luxembourg -LV +5657+02406 Europe/Riga -LY +3254+01311 Africa/Tripoli -MA +3339-00735 Africa/Casablanca -MC +4342+00723 Europe/Monaco -MD +4700+02850 Europe/Chisinau -MH +0709+17112 Pacific/Majuro Marshall Islands (most areas) -MH +0905+16720 Pacific/Kwajalein Kwajalein -MM +1647+09610 Asia/Yangon -MN +4755+10653 Asia/Ulaanbaatar Mongolia (most areas) -MN +4801+09139 Asia/Hovd Bayan-Ölgii, Govi-Altai, Hovd, Uvs, Zavkhan -MN +4804+11430 Asia/Choibalsan Dornod, Sükhbaatar -MO +2214+11335 Asia/Macau -MQ +1436-06105 America/Martinique -MT +3554+01431 Europe/Malta -MU -2010+05730 Indian/Mauritius -MV +0410+07330 Indian/Maldives -MX +1924-09909 America/Mexico_City Central Time -MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo -MX +2058-08937 America/Merida Central Time - Campeche, Yucatán -MX +2540-10019 America/Monterrey Central Time - Durango; Coahuila, Nuevo León, Tamaulipas (most areas) -MX +2550-09730 America/Matamoros Central Time US - Coahuila, Nuevo León, Tamaulipas (US border) -MX +2313-10625 America/Mazatlan Mountain Time - Baja California Sur, Nayarit, Sinaloa -MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua (most areas) -MX +2934-10425 America/Ojinaga Mountain Time US - Chihuahua (US border) -MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora -MX +3232-11701 America/Tijuana Pacific Time US - Baja California -MX +2048-10515 America/Bahia_Banderas Central Time - Bahía de Banderas -MY +0310+10142 Asia/Kuala_Lumpur Malaysia (peninsula) -MY +0133+11020 Asia/Kuching Sabah, Sarawak -MZ,BI,BW,CD,MW,RW,ZM,ZW -2558+03235 Africa/Maputo Central Africa Time -NA -2234+01706 Africa/Windhoek -NC -2216+16627 Pacific/Noumea -NF -2903+16758 Pacific/Norfolk -NG,AO,BJ,CD,CF,CG,CM,GA,GQ,NE +0627+00324 Africa/Lagos West Africa Time -NI +1209-08617 America/Managua -NL +5222+00454 Europe/Amsterdam -NO,SJ +5955+01045 Europe/Oslo -NP +2743+08519 Asia/Kathmandu -NR -0031+16655 Pacific/Nauru -NU -1901-16955 Pacific/Niue -NZ,AQ -3652+17446 Pacific/Auckland New Zealand time -NZ -4357-17633 Pacific/Chatham Chatham Islands -PA,KY +0858-07932 America/Panama -PE -1203-07703 America/Lima -PF -1732-14934 Pacific/Tahiti Society Islands -PF -0900-13930 Pacific/Marquesas Marquesas Islands -PF -2308-13457 Pacific/Gambier Gambier Islands -PG -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas) -PG -0613+15534 Pacific/Bougainville Bougainville -PH +1435+12100 Asia/Manila -PK +2452+06703 Asia/Karachi -PL +5215+02100 Europe/Warsaw -PM +4703-05620 America/Miquelon -PN -2504-13005 Pacific/Pitcairn -PR +182806-0660622 America/Puerto_Rico -PS +3130+03428 Asia/Gaza Gaza Strip -PS +313200+0350542 Asia/Hebron West Bank -PT +3843-00908 Europe/Lisbon Portugal (mainland) -PT +3238-01654 Atlantic/Madeira Madeira Islands -PT +3744-02540 Atlantic/Azores Azores -PW +0720+13429 Pacific/Palau -PY -2516-05740 America/Asuncion -QA,BH +2517+05132 Asia/Qatar -RE,TF -2052+05528 Indian/Reunion Réunion, Crozet, Scattered Islands -RO +4426+02606 Europe/Bucharest -RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade -RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad -RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area -RU +4457+03406 Europe/Simferopol MSK+00 - Crimea -RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd -RU +5836+04939 Europe/Kirov MSK+00 - Kirov -RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan -RU +5134+04602 Europe/Saratov MSK+01 - Saratov -RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk -RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia -RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals -RU +5500+07324 Asia/Omsk MSK+03 - Omsk -RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk -RU +5322+08345 Asia/Barnaul MSK+04 - Altai -RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk -RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo -RU +5601+09250 Asia/Krasnoyarsk MSK+04 - Krasnoyarsk area -RU +5216+10420 Asia/Irkutsk MSK+05 - Irkutsk, Buryatia -RU +5203+11328 Asia/Chita MSK+06 - Zabaykalsky -RU +6200+12940 Asia/Yakutsk MSK+06 - Lena River -RU +623923+1353314 Asia/Khandyga MSK+06 - Tomponsky, Ust-Maysky -RU +4310+13156 Asia/Vladivostok MSK+07 - Amur River -RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky -RU +5934+15048 Asia/Magadan MSK+08 - Magadan -RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island -RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); North Kuril Is -RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka -RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea -SA,KW,YE +2438+04643 Asia/Riyadh -SB -0932+16012 Pacific/Guadalcanal -SC -0440+05528 Indian/Mahe -SD +1536+03232 Africa/Khartoum -SE +5920+01803 Europe/Stockholm -SG +0117+10351 Asia/Singapore -SR +0550-05510 America/Paramaribo -SS +0451+03137 Africa/Juba -ST +0020+00644 Africa/Sao_Tome -SV +1342-08912 America/El_Salvador -SY +3330+03618 Asia/Damascus -TC +2128-07108 America/Grand_Turk -TD +1207+01503 Africa/Ndjamena -TF -492110+0701303 Indian/Kerguelen Kerguelen, St Paul Island, Amsterdam Island -TH,KH,LA,VN +1345+10031 Asia/Bangkok Indochina (most areas) -TJ +3835+06848 Asia/Dushanbe -TK -0922-17114 Pacific/Fakaofo -TL -0833+12535 Asia/Dili -TM +3757+05823 Asia/Ashgabat -TN +3648+01011 Africa/Tunis -TO -2110-17510 Pacific/Tongatapu -TR +4101+02858 Europe/Istanbul -TT,AG,AI,BL,DM,GD,GP,KN,LC,MF,MS,VC,VG,VI +1039-06131 America/Port_of_Spain -TV -0831+17913 Pacific/Funafuti -TW +2503+12130 Asia/Taipei -UA +5026+03031 Europe/Kiev Ukraine (most areas) -UA +4837+02218 Europe/Uzhgorod Ruthenia -UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east) -UM +1917+16637 Pacific/Wake Wake Island -US +404251-0740023 America/New_York Eastern (most areas) -US +421953-0830245 America/Detroit Eastern - MI (most areas) -US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area) -US +364947-0845057 America/Kentucky/Monticello Eastern - KY (Wayne) -US +394606-0860929 America/Indiana/Indianapolis Eastern - IN (most areas) -US +384038-0873143 America/Indiana/Vincennes Eastern - IN (Da, Du, K, Mn) -US +410305-0863611 America/Indiana/Winamac Eastern - IN (Pulaski) -US +382232-0862041 America/Indiana/Marengo Eastern - IN (Crawford) -US +382931-0871643 America/Indiana/Petersburg Eastern - IN (Pike) -US +384452-0850402 America/Indiana/Vevay Eastern - IN (Switzerland) -US +415100-0873900 America/Chicago Central (most areas) -US +375711-0864541 America/Indiana/Tell_City Central - IN (Perry) -US +411745-0863730 America/Indiana/Knox Central - IN (Starke) -US +450628-0873651 America/Menominee Central - MI (Wisconsin border) -US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver) -US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural) -US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer) -US +394421-1045903 America/Denver Mountain (most areas) -US +433649-1161209 America/Boise Mountain - ID (south); OR (east) -US +332654-1120424 America/Phoenix MST - Arizona (except Navajo) -US +340308-1181434 America/Los_Angeles Pacific -US +611305-1495401 America/Anchorage Alaska (most areas) -US +581807-1342511 America/Juneau Alaska - Juneau area -US +571035-1351807 America/Sitka Alaska - Sitka area -US +550737-1313435 America/Metlakatla Alaska - Annette Island -US +593249-1394338 America/Yakutat Alaska - Yakutat -US +643004-1652423 America/Nome Alaska (west) -US +515248-1763929 America/Adak Aleutian Islands -US,UM +211825-1575130 Pacific/Honolulu Hawaii -UY -3453-05611 America/Montevideo -UZ +3940+06648 Asia/Samarkand Uzbekistan (west) -UZ +4120+06918 Asia/Tashkent Uzbekistan (east) -VE +1030-06656 America/Caracas -VN +1045+10640 Asia/Ho_Chi_Minh Vietnam (south) -VU -1740+16825 Pacific/Efate -WF -1318-17610 Pacific/Wallis -WS -1350-17144 Pacific/Apia -ZA,LS,SZ -2615+02800 Africa/Johannesburg diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/DESCRIPTION.rst b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/DESCRIPTION.rst deleted file mode 100644 index f2dad243..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,243 +0,0 @@ -=============================== -Installing and Using Setuptools -=============================== - -.. contents:: **Table of Contents** - - -.. image:: https://setuptools.readthedocs.io/en/latest/?badge=latest - :target: https://setuptools.readthedocs.io - -------------------------- -Installation Instructions -------------------------- - -The recommended way to bootstrap setuptools on any system is to download -`ez_setup.py`_ and run it using the target Python environment. Different -operating systems have different recommended techniques to accomplish this -basic routine, so below are some examples to get you started. - -Setuptools requires Python 2.6 or later. To install setuptools -on Python 2.4 or Python 2.5, use the `bootstrap script for Setuptools 1.x -<https://raw.githubusercontent.com/pypa/setuptools/bootstrap-py24/ez_setup.py>`_. - -The link provided to ez_setup.py is a bookmark to bootstrap script for the -latest known stable release. - -.. _ez_setup.py: https://bootstrap.pypa.io/ez_setup.py - -Windows (Powershell 3 or later) -=============================== - -For best results, uninstall previous versions FIRST (see `Uninstalling`_). - -Using Windows 8 (which includes PowerShell 3) or earlier versions of Windows -with PowerShell 3 installed, it's possible to install with one simple -Powershell command. Start up Powershell and paste this command:: - - > (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python - - -.. image:: https://badges.gitter.im/pypa/setuptools.svg - :alt: Join the chat at https://gitter.im/pypa/setuptools - :target: https://gitter.im/pypa/setuptools?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge - -You must start the Powershell with Administrative privileges or you may choose -to install a user-local installation:: - - > (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python - --user - -If you have Python 3.3 or later, you can use the ``py`` command to install to -different Python versions. For example, to install to Python 3.3 if you have -Python 2.7 installed:: - - > (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | py -3 - - -The recommended way to install setuptools on Windows is to download -`ez_setup.py`_ and run it. The script will download the appropriate -distribution file and install it for you. - -Once installation is complete, you will find an ``easy_install`` program in -your Python ``Scripts`` subdirectory. For simple invocation and best results, -add this directory to your ``PATH`` environment variable, if it is not already -present. If you did a user-local install, the ``Scripts`` subdirectory is -``$env:APPDATA\Python\Scripts``. - - -Windows (simplified) -==================== - -For Windows without PowerShell 3 or for installation without a command-line, -download `ez_setup.py`_ using your preferred web browser or other technique -and "run" that file. - - -Unix (wget) -=========== - -Most Linux distributions come with wget. - -Download `ez_setup.py`_ and run it using the target Python version. The script -will download the appropriate version and install it for you:: - - > wget https://bootstrap.pypa.io/ez_setup.py -O - | python - -Note that you will may need to invoke the command with superuser privileges to -install to the system Python:: - - > wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python - -Alternatively, Setuptools may be installed to a user-local path:: - - > wget https://bootstrap.pypa.io/ez_setup.py -O - | python - --user - -Note that on some older systems (noted on Debian 6 and CentOS 5 installations), -`wget` may refuse to download `ez_setup.py`, complaining that the certificate common name `*.c.ssl.fastly.net` -does not match the host name `bootstrap.pypa.io`. In addition, the `ez_setup.py` script may then encounter similar problems using -`wget` internally to download `setuptools-x.y.zip`, complaining that the certificate common name of `www.python.org` does not match the -host name `pypi.python.org`. Those are known issues, related to a bug in the older versions of `wget` -(see `Issue 59 <https://bitbucket.org/pypa/pypi/issue/59#comment-5881915>`_). If you happen to encounter them, -install Setuptools as follows:: - - > wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py - > python ez_setup.py --insecure - - -Unix including Mac OS X (curl) -============================== - -If your system has curl installed, follow the ``wget`` instructions but -replace ``wget`` with ``curl`` and ``-O`` with ``-o``. For example:: - - > curl https://bootstrap.pypa.io/ez_setup.py -o - | python - - -Advanced Installation -===================== - -For more advanced installation options, such as installing to custom -locations or prefixes, download and extract the source -tarball from `Setuptools on PyPI <https://pypi.python.org/pypi/setuptools>`_ -and run setup.py with any supported distutils and Setuptools options. -For example:: - - setuptools-x.x$ python setup.py install --prefix=/opt/setuptools - -Use ``--help`` to get a full options list, but we recommend consulting -the `EasyInstall manual`_ for detailed instructions, especially `the section -on custom installation locations`_. - -.. _EasyInstall manual: https://pythonhosted.org/setuptools/EasyInstall -.. _the section on custom installation locations: https://pythonhosted.org/setuptools/EasyInstall#custom-installation-locations - - -Downloads -========= - -All setuptools downloads can be found at `the project's home page in the Python -Package Index`_. Scroll to the very bottom of the page to find the links. - -.. _the project's home page in the Python Package Index: https://pypi.python.org/pypi/setuptools - -In addition to the PyPI downloads, the development version of ``setuptools`` -is available from the `Bitbucket repo`_, and in-development versions of the -`0.6 branch`_ are available as well. - -.. _Bitbucket repo: https://bitbucket.org/pypa/setuptools/get/default.tar.gz#egg=setuptools-dev -.. _0.6 branch: http://svn.python.org/projects/sandbox/branches/setuptools-0.6/#egg=setuptools-dev06 - -Uninstalling -============ - -On Windows, if Setuptools was installed using an ``.exe`` or ``.msi`` -installer, simply use the uninstall feature of "Add/Remove Programs" in the -Control Panel. - -Otherwise, to uninstall Setuptools or Distribute, regardless of the Python -version, delete all ``setuptools*`` and ``distribute*`` files and -directories from your system's ``site-packages`` directory -(and any other ``sys.path`` directories) FIRST. - -If you are upgrading or otherwise plan to re-install Setuptools or Distribute, -nothing further needs to be done. If you want to completely remove Setuptools, -you may also want to remove the 'easy_install' and 'easy_install-x.x' scripts -and associated executables installed to the Python scripts directory. - --------------------------------- -Using Setuptools and EasyInstall --------------------------------- - -Here are some of the available manuals, tutorials, and other resources for -learning about Setuptools, Python Eggs, and EasyInstall: - -* `The EasyInstall user's guide and reference manual`_ -* `The setuptools Developer's Guide`_ -* `The pkg_resources API reference`_ -* `The Internal Structure of Python Eggs`_ - -Questions, comments, and bug reports should be directed to the `distutils-sig -mailing list`_. If you have written (or know of) any tutorials, documentation, -plug-ins, or other resources for setuptools users, please let us know about -them there, so this reference list can be updated. If you have working, -*tested* patches to correct problems or add features, you may submit them to -the `setuptools bug tracker`_. - -.. _setuptools bug tracker: https://github.com/pypa/setuptools/issues -.. _The Internal Structure of Python Eggs: https://setuptools.readthedocs.io/en/latest/formats.html -.. _The setuptools Developer's Guide: https://setuptools.readthedocs.io/en/latest/developer-guide.html -.. _The pkg_resources API reference: https://setuptools.readthedocs.io/en/latest/pkg_resources.html -.. _The EasyInstall user's guide and reference manual: https://setuptools.readthedocs.io/en/latest/easy_install.html -.. _distutils-sig mailing list: http://mail.python.org/pipermail/distutils-sig/ - - -------- -Credits -------- - -* The original design for the ``.egg`` format and the ``pkg_resources`` API was - co-created by Phillip Eby and Bob Ippolito. Bob also implemented the first - version of ``pkg_resources``, and supplied the OS X operating system version - compatibility algorithm. - -* Ian Bicking implemented many early "creature comfort" features of - easy_install, including support for downloading via Sourceforge and - Subversion repositories. Ian's comments on the Web-SIG about WSGI - application deployment also inspired the concept of "entry points" in eggs, - and he has given talks at PyCon and elsewhere to inform and educate the - community about eggs and setuptools. - -* Jim Fulton contributed time and effort to build automated tests of various - aspects of ``easy_install``, and supplied the doctests for the command-line - ``.exe`` wrappers on Windows. - -* Phillip J. Eby is the seminal author of setuptools, and - first proposed the idea of an importable binary distribution format for - Python application plug-ins. - -* Significant parts of the implementation of setuptools were funded by the Open - Source Applications Foundation, to provide a plug-in infrastructure for the - Chandler PIM application. In addition, many OSAF staffers (such as Mike - "Code Bear" Taylor) contributed their time and stress as guinea pigs for the - use of eggs and setuptools, even before eggs were "cool". (Thanks, guys!) - -* Tarek Ziadé is the principal author of the Distribute fork, which - re-invigorated the community on the project, encouraged renewed innovation, - and addressed many defects. - -* Since the merge with Distribute, Jason R. Coombs is the - maintainer of setuptools. The project is maintained in coordination with - the Python Packaging Authority (PyPA) and the larger Python community. - -.. _files: - - ---------------- -Code of Conduct ---------------- - -Everyone interacting in the setuptools 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/ - - diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/INSTALLER b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/METADATA b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/METADATA deleted file mode 100644 index a38609cd..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/METADATA +++ /dev/null @@ -1,272 +0,0 @@ -Metadata-Version: 2.0 -Name: setuptools -Version: 28.8.0 -Summary: Easily download, build, install, upgrade, and uninstall Python packages -Home-page: https://github.com/pypa/setuptools -Author: Python Packaging Authority -Author-email: distutils-sig@python.org -License: UNKNOWN -Keywords: CPAN PyPI distutils eggs package management -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -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: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: System :: Archiving :: Packaging -Classifier: Topic :: System :: Systems Administration -Classifier: Topic :: Utilities -Provides-Extra: certs -Requires-Dist: certifi (==2016.9.26); extra == 'certs' -Provides-Extra: ssl -Requires-Dist: wincertstore (==0.2); sys_platform=='win32' and extra == 'ssl' - -=============================== -Installing and Using Setuptools -=============================== - -.. contents:: **Table of Contents** - - -.. image:: https://setuptools.readthedocs.io/en/latest/?badge=latest - :target: https://setuptools.readthedocs.io - -------------------------- -Installation Instructions -------------------------- - -The recommended way to bootstrap setuptools on any system is to download -`ez_setup.py`_ and run it using the target Python environment. Different -operating systems have different recommended techniques to accomplish this -basic routine, so below are some examples to get you started. - -Setuptools requires Python 2.6 or later. To install setuptools -on Python 2.4 or Python 2.5, use the `bootstrap script for Setuptools 1.x -<https://raw.githubusercontent.com/pypa/setuptools/bootstrap-py24/ez_setup.py>`_. - -The link provided to ez_setup.py is a bookmark to bootstrap script for the -latest known stable release. - -.. _ez_setup.py: https://bootstrap.pypa.io/ez_setup.py - -Windows (Powershell 3 or later) -=============================== - -For best results, uninstall previous versions FIRST (see `Uninstalling`_). - -Using Windows 8 (which includes PowerShell 3) or earlier versions of Windows -with PowerShell 3 installed, it's possible to install with one simple -Powershell command. Start up Powershell and paste this command:: - - > (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python - - -.. image:: https://badges.gitter.im/pypa/setuptools.svg - :alt: Join the chat at https://gitter.im/pypa/setuptools - :target: https://gitter.im/pypa/setuptools?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge - -You must start the Powershell with Administrative privileges or you may choose -to install a user-local installation:: - - > (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python - --user - -If you have Python 3.3 or later, you can use the ``py`` command to install to -different Python versions. For example, to install to Python 3.3 if you have -Python 2.7 installed:: - - > (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | py -3 - - -The recommended way to install setuptools on Windows is to download -`ez_setup.py`_ and run it. The script will download the appropriate -distribution file and install it for you. - -Once installation is complete, you will find an ``easy_install`` program in -your Python ``Scripts`` subdirectory. For simple invocation and best results, -add this directory to your ``PATH`` environment variable, if it is not already -present. If you did a user-local install, the ``Scripts`` subdirectory is -``$env:APPDATA\Python\Scripts``. - - -Windows (simplified) -==================== - -For Windows without PowerShell 3 or for installation without a command-line, -download `ez_setup.py`_ using your preferred web browser or other technique -and "run" that file. - - -Unix (wget) -=========== - -Most Linux distributions come with wget. - -Download `ez_setup.py`_ and run it using the target Python version. The script -will download the appropriate version and install it for you:: - - > wget https://bootstrap.pypa.io/ez_setup.py -O - | python - -Note that you will may need to invoke the command with superuser privileges to -install to the system Python:: - - > wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python - -Alternatively, Setuptools may be installed to a user-local path:: - - > wget https://bootstrap.pypa.io/ez_setup.py -O - | python - --user - -Note that on some older systems (noted on Debian 6 and CentOS 5 installations), -`wget` may refuse to download `ez_setup.py`, complaining that the certificate common name `*.c.ssl.fastly.net` -does not match the host name `bootstrap.pypa.io`. In addition, the `ez_setup.py` script may then encounter similar problems using -`wget` internally to download `setuptools-x.y.zip`, complaining that the certificate common name of `www.python.org` does not match the -host name `pypi.python.org`. Those are known issues, related to a bug in the older versions of `wget` -(see `Issue 59 <https://bitbucket.org/pypa/pypi/issue/59#comment-5881915>`_). If you happen to encounter them, -install Setuptools as follows:: - - > wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py - > python ez_setup.py --insecure - - -Unix including Mac OS X (curl) -============================== - -If your system has curl installed, follow the ``wget`` instructions but -replace ``wget`` with ``curl`` and ``-O`` with ``-o``. For example:: - - > curl https://bootstrap.pypa.io/ez_setup.py -o - | python - - -Advanced Installation -===================== - -For more advanced installation options, such as installing to custom -locations or prefixes, download and extract the source -tarball from `Setuptools on PyPI <https://pypi.python.org/pypi/setuptools>`_ -and run setup.py with any supported distutils and Setuptools options. -For example:: - - setuptools-x.x$ python setup.py install --prefix=/opt/setuptools - -Use ``--help`` to get a full options list, but we recommend consulting -the `EasyInstall manual`_ for detailed instructions, especially `the section -on custom installation locations`_. - -.. _EasyInstall manual: https://pythonhosted.org/setuptools/EasyInstall -.. _the section on custom installation locations: https://pythonhosted.org/setuptools/EasyInstall#custom-installation-locations - - -Downloads -========= - -All setuptools downloads can be found at `the project's home page in the Python -Package Index`_. Scroll to the very bottom of the page to find the links. - -.. _the project's home page in the Python Package Index: https://pypi.python.org/pypi/setuptools - -In addition to the PyPI downloads, the development version of ``setuptools`` -is available from the `Bitbucket repo`_, and in-development versions of the -`0.6 branch`_ are available as well. - -.. _Bitbucket repo: https://bitbucket.org/pypa/setuptools/get/default.tar.gz#egg=setuptools-dev -.. _0.6 branch: http://svn.python.org/projects/sandbox/branches/setuptools-0.6/#egg=setuptools-dev06 - -Uninstalling -============ - -On Windows, if Setuptools was installed using an ``.exe`` or ``.msi`` -installer, simply use the uninstall feature of "Add/Remove Programs" in the -Control Panel. - -Otherwise, to uninstall Setuptools or Distribute, regardless of the Python -version, delete all ``setuptools*`` and ``distribute*`` files and -directories from your system's ``site-packages`` directory -(and any other ``sys.path`` directories) FIRST. - -If you are upgrading or otherwise plan to re-install Setuptools or Distribute, -nothing further needs to be done. If you want to completely remove Setuptools, -you may also want to remove the 'easy_install' and 'easy_install-x.x' scripts -and associated executables installed to the Python scripts directory. - --------------------------------- -Using Setuptools and EasyInstall --------------------------------- - -Here are some of the available manuals, tutorials, and other resources for -learning about Setuptools, Python Eggs, and EasyInstall: - -* `The EasyInstall user's guide and reference manual`_ -* `The setuptools Developer's Guide`_ -* `The pkg_resources API reference`_ -* `The Internal Structure of Python Eggs`_ - -Questions, comments, and bug reports should be directed to the `distutils-sig -mailing list`_. If you have written (or know of) any tutorials, documentation, -plug-ins, or other resources for setuptools users, please let us know about -them there, so this reference list can be updated. If you have working, -*tested* patches to correct problems or add features, you may submit them to -the `setuptools bug tracker`_. - -.. _setuptools bug tracker: https://github.com/pypa/setuptools/issues -.. _The Internal Structure of Python Eggs: https://setuptools.readthedocs.io/en/latest/formats.html -.. _The setuptools Developer's Guide: https://setuptools.readthedocs.io/en/latest/developer-guide.html -.. _The pkg_resources API reference: https://setuptools.readthedocs.io/en/latest/pkg_resources.html -.. _The EasyInstall user's guide and reference manual: https://setuptools.readthedocs.io/en/latest/easy_install.html -.. _distutils-sig mailing list: http://mail.python.org/pipermail/distutils-sig/ - - -------- -Credits -------- - -* The original design for the ``.egg`` format and the ``pkg_resources`` API was - co-created by Phillip Eby and Bob Ippolito. Bob also implemented the first - version of ``pkg_resources``, and supplied the OS X operating system version - compatibility algorithm. - -* Ian Bicking implemented many early "creature comfort" features of - easy_install, including support for downloading via Sourceforge and - Subversion repositories. Ian's comments on the Web-SIG about WSGI - application deployment also inspired the concept of "entry points" in eggs, - and he has given talks at PyCon and elsewhere to inform and educate the - community about eggs and setuptools. - -* Jim Fulton contributed time and effort to build automated tests of various - aspects of ``easy_install``, and supplied the doctests for the command-line - ``.exe`` wrappers on Windows. - -* Phillip J. Eby is the seminal author of setuptools, and - first proposed the idea of an importable binary distribution format for - Python application plug-ins. - -* Significant parts of the implementation of setuptools were funded by the Open - Source Applications Foundation, to provide a plug-in infrastructure for the - Chandler PIM application. In addition, many OSAF staffers (such as Mike - "Code Bear" Taylor) contributed their time and stress as guinea pigs for the - use of eggs and setuptools, even before eggs were "cool". (Thanks, guys!) - -* Tarek Ziadé is the principal author of the Distribute fork, which - re-invigorated the community on the project, encouraged renewed innovation, - and addressed many defects. - -* Since the merge with Distribute, Jason R. Coombs is the - maintainer of setuptools. The project is maintained in coordination with - the Python Packaging Authority (PyPA) and the larger Python community. - -.. _files: - - ---------------- -Code of Conduct ---------------- - -Everyone interacting in the setuptools 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/ - - diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/RECORD b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/RECORD deleted file mode 100644 index ae5524d5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/RECORD +++ /dev/null @@ -1,143 +0,0 @@ -easy_install.py,sha256=MDC9vt5AxDsXX5qcKlBz2TnW6Tpuv_AobnfhCJ9X3PM,126 -pkg_resources/__init__.py,sha256=Z_i79ylo01fXF7p2lnMG7Ov4fLu0O-HLX-3JHMk0FCI,103301 -pkg_resources/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pkg_resources/_vendor/appdirs.py,sha256=tgGaL0m4Jo2VeuGfoOOifLv7a7oUEJu2n1vRkqoPw-0,22374 -pkg_resources/_vendor/pyparsing.py,sha256=PifeLY3-WhIcBVzLtv0U4T_pwDtPruBhBCkg5vLqa28,229867 -pkg_resources/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098 -pkg_resources/_vendor/packaging/__about__.py,sha256=E9KR5UJ_8U9K-R1mScu6FmkXtbnlFEEFjEXJp-7LxNU,720 -pkg_resources/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513 -pkg_resources/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860 -pkg_resources/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416 -pkg_resources/_vendor/packaging/markers.py,sha256=ndShKOQb_OgpQkFju6LR-2msB1La5u5iAfD5MIqXE4c,7939 -pkg_resources/_vendor/packaging/requirements.py,sha256=SikL2UynbsT0qtY9ltqngndha_sfo0w6XGFhAhoSoaQ,4355 -pkg_resources/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025 -pkg_resources/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421 -pkg_resources/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556 -pkg_resources/extern/__init__.py,sha256=JUtlHHvlxHSNuB4pWqNjcx7n6kG-fwXg7qmJ2zNJlIY,2487 -setuptools/__init__.py,sha256=hW5vya8Yp46AiWmYcALuQbGI7148nQSYVLsEIJLet54,5050 -setuptools/archive_util.py,sha256=Z58-gbZQ0j92UJy7X7uZevwI28JTVEXd__AjKy4aw78,6613 -setuptools/cli-32.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536 -setuptools/cli-64.exe,sha256=KLABu5pyrnokJCv6skjXZ6GsXeyYHGcqOUT3oHI3Xpo,74752 -setuptools/cli.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536 -setuptools/depends.py,sha256=h5tbRzianODRkECVsK4sLBbsOfpY1TGEnp9Zm0wg2To,6473 -setuptools/dist.py,sha256=5WUqgcvehkRw97T8NpV66vwneVp77LI9zOmWkPvgHoE,37129 -setuptools/extension.py,sha256=uc6nHI-MxwmNCNPbUiBnybSyqhpJqjbhvOQ-emdvt_E,1729 -setuptools/glob.py,sha256=Y-fpv8wdHZzv9DPCaGACpMSBWJ6amq_1e0R_i8_el4w,5207 -setuptools/gui-32.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536 -setuptools/gui-64.exe,sha256=aYKMhX1IJLn4ULHgWX0sE0yREUt6B3TEHf_jOw6yNyE,75264 -setuptools/gui.exe,sha256=XBr0bHMA6Hpz2s9s9Bzjl-PwXfa9nH4ie0rFn4V2kWA,65536 -setuptools/launch.py,sha256=sd7ejwhBocCDx_wG9rIs0OaZ8HtmmFU8ZC6IR_S0Lvg,787 -setuptools/lib2to3_ex.py,sha256=t5e12hbR2pi9V4ezWDTB4JM-AISUnGOkmcnYHek3xjg,2013 -setuptools/monkey.py,sha256=qHoZT9IgmFM-_yF7BjCoPtXg4DYF1H49t_1nLq7dPRo,5337 -setuptools/msvc.py,sha256=6cKqwOxTH8pJNMrNyRLBGB6Efz2rxTTdQQJABUW-6WU,37091 -setuptools/namespaces.py,sha256=I2YrskOZU2ctBS8jdFwAc9q4M8SxbOr0DsFLxxO7gfA,2648 -setuptools/package_index.py,sha256=eYtVpQiaP_4RRFp8zsNbsvNGPAzyOUDM2Lf_q4hePcs,39947 -setuptools/py26compat.py,sha256=VRGHC7z2gliR4_uICJsQNodUcNUzybpus3BrJkWbnK4,679 -setuptools/py27compat.py,sha256=Yu8hW3y8Djps_IenCuz5xZ9OD9qQ-kmBIoVGVpWeQ5Y,330 -setuptools/py31compat.py,sha256=qGRk3tefux8HbhNzhM0laR3mD8vhAZtffZgzLkBMXJs,1645 -setuptools/sandbox.py,sha256=0aNeoJ2tCLhHmQZlx8DQPhuuhGt2690Q7PoGLz6KJ30,14324 -setuptools/script (dev).tmpl,sha256=f7MR17dTkzaqkCMSVseyOCMVrPVSMdmTQsaB8cZzfuI,201 -setuptools/script.tmpl,sha256=WGTt5piezO27c-Dbx6l5Q4T3Ff20A5z7872hv3aAhYY,138 -setuptools/site-patch.py,sha256=BVt6yIrDMXJoflA5J6DJIcsJUfW_XEeVhOzelTTFDP4,2307 -setuptools/ssl_support.py,sha256=qUzJ_2WeFWBVkGoN638qC42Uzs-Wvmb8cZub9gT1xuI,8131 -setuptools/unicode_utils.py,sha256=NOiZ_5hD72A6w-4wVj8awHFM3n51Kmw1Ic_vx15XFqw,996 -setuptools/version.py,sha256=fvr31nm9BOi4wvMhGVoU0VwmyGeeEAeF3fh33z84wx4,138 -setuptools/windows_support.py,sha256=5GrfqSP2-dLGJoZTq2g6dCKkyQxxa2n5IQiXlJCoYEE,714 -setuptools/command/__init__.py,sha256=FCLDWoQEGsNexQviqbeJ4MEYGYpYVbbwc7i-9gjzBkM,563 -setuptools/command/alias.py,sha256=KjpE0sz_SDIHv3fpZcIQK-sCkJz-SrC6Gmug6b9Nkc8,2426 -setuptools/command/bdist_egg.py,sha256=XDamu6-cfyYrqd67YGQ5gWo-0c8kuWqkPy1vYpfsAxw,17178 -setuptools/command/bdist_rpm.py,sha256=B7l0TnzCGb-0nLlm6rS00jWLkojASwVmdhW2w5Qz_Ak,1508 -setuptools/command/bdist_wininst.py,sha256=_6dz3lpB1tY200LxKPLM7qgwTCceOMgaWFF-jW2-pm0,637 -setuptools/command/build_ext.py,sha256=dO89j-IC0dAjSty1sSZxvi0LSdkPGR_ZPXFuAAFDZj4,13049 -setuptools/command/build_py.py,sha256=FwU7GNUnd2dT3yEtsTPsJBcl9a7loOcN6GB4uQ0W_IM,9596 -setuptools/command/develop.py,sha256=cHScw5hhILsZM3pk-ddORnd51aLFIbi-4gRm3yTnS_k,7384 -setuptools/command/easy_install.py,sha256=AlmasFuULxUXXgTcUhARle87a74rwStU5nSQn9Oakjw,85720 -setuptools/command/egg_info.py,sha256=f89c5gu9hWS89XheFLD0h0yONVmB4Z3FJR5hkAjn0SY,25110 -setuptools/command/install.py,sha256=a0EZpL_A866KEdhicTGbuyD_TYl1sykfzdrri-zazT4,4683 -setuptools/command/install_egg_info.py,sha256=bMgeIeRiXzQ4DAGPV1328kcjwQjHjOWU4FngAWLV78Q,2203 -setuptools/command/install_lib.py,sha256=11mxf0Ch12NsuYwS8PHwXBRvyh671QAM4cTRh7epzG0,3840 -setuptools/command/install_scripts.py,sha256=UD0rEZ6861mTYhIdzcsqKnUl8PozocXWl9VBQ1VTWnc,2439 -setuptools/command/launcher manifest.xml,sha256=xlLbjWrB01tKC0-hlVkOKkiSPbzMml2eOPtJ_ucCnbE,628 -setuptools/command/py36compat.py,sha256=SzjZcOxF7zdFUT47Zv2n7AM3H8koDys_0OpS-n9gIfc,4986 -setuptools/command/register.py,sha256=bHlMm1qmBbSdahTOT8w6UhA-EgeQIz7p6cD-qOauaiI,270 -setuptools/command/rotate.py,sha256=co5C1EkI7P0GGT6Tqz-T2SIj2LBJTZXYELpmao6d4KQ,2164 -setuptools/command/saveopts.py,sha256=za7QCBcQimKKriWcoCcbhxPjUz30gSB74zuTL47xpP4,658 -setuptools/command/sdist.py,sha256=cu745bayFZMEEGqzMg6kUbIYY9ZKXAbJjPBDXznNUyc,6650 -setuptools/command/setopt.py,sha256=NTWDyx-gjDF-txf4dO577s7LOzHVoKR0Mq33rFxaRr8,5085 -setuptools/command/test.py,sha256=IqkQ6rKdQsPh2BiLEXIx5FpzfGMpZttGl8dMa9utxVY,8535 -setuptools/command/upload.py,sha256=6LbdC9NWFe19tb8u-6L3Hriei-nVgtqfO7tn0Si7yLo,1077 -setuptools/command/upload_docs.py,sha256=0Ft5uo7Unnk4lJdZtIm6Nzq7hlyux-9zIYcXC8k_Czs,7275 -setuptools/extern/__init__.py,sha256=ZtCLYQ8JTtOtm7SYoxekZw-UzY3TR50SRIUaeqr2ROk,131 -setuptools-28.8.0.dist-info/DESCRIPTION.rst,sha256=UnjDOK_xBlHg-QN2JbfTbA55nmD_kStv89yxF9aOkqU,10257 -setuptools-28.8.0.dist-info/METADATA,sha256=Xf6UtJ6jxpg-nF5OHBErvUwMGLz-4nizC7iwdYmOcGc,11486 -setuptools-28.8.0.dist-info/RECORD,, -setuptools-28.8.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -setuptools-28.8.0.dist-info/dependency_links.txt,sha256=HlkCFkoK5TbZ5EMLbLKYhLcY_E31kBWD8TqW2EgmatQ,239 -setuptools-28.8.0.dist-info/entry_points.txt,sha256=zPeIHv66mpCraHdiLlHQjxKDe-6gFIepEbEIjCvu8x4,2885 -setuptools-28.8.0.dist-info/metadata.json,sha256=EIv4nnlOffwLVnetEwhIkFs74vm5jfPJHsxZrjQyXFE,4614 -setuptools-28.8.0.dist-info/top_level.txt,sha256=2HUXVVwA4Pff1xgTFr3GsTXXKaPaO6vlG6oNJ_4u4Tg,38 -setuptools-28.8.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -../../../bin/easy_install,sha256=w075A_hNzM1TJTpQ0vsiquRiNf4tk4nmaG2pXNdBTjs,275 -../../../bin/easy_install-3.6,sha256=w075A_hNzM1TJTpQ0vsiquRiNf4tk4nmaG2pXNdBTjs,275 -setuptools-28.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -__pycache__/easy_install.cpython-36.pyc,, -setuptools/__pycache__/package_index.cpython-36.pyc,, -setuptools/__pycache__/py31compat.cpython-36.pyc,, -setuptools/__pycache__/sandbox.cpython-36.pyc,, -setuptools/__pycache__/windows_support.cpython-36.pyc,, -setuptools/__pycache__/version.cpython-36.pyc,, -setuptools/__pycache__/site-patch.cpython-36.pyc,, -setuptools/__pycache__/py26compat.cpython-36.pyc,, -setuptools/__pycache__/launch.cpython-36.pyc,, -setuptools/__pycache__/unicode_utils.cpython-36.pyc,, -setuptools/__pycache__/ssl_support.cpython-36.pyc,, -setuptools/__pycache__/depends.cpython-36.pyc,, -setuptools/__pycache__/glob.cpython-36.pyc,, -setuptools/__pycache__/msvc.cpython-36.pyc,, -setuptools/__pycache__/py27compat.cpython-36.pyc,, -setuptools/__pycache__/lib2to3_ex.cpython-36.pyc,, -setuptools/__pycache__/monkey.cpython-36.pyc,, -setuptools/__pycache__/dist.cpython-36.pyc,, -setuptools/__pycache__/namespaces.cpython-36.pyc,, -setuptools/__pycache__/__init__.cpython-36.pyc,, -setuptools/__pycache__/extension.cpython-36.pyc,, -setuptools/__pycache__/archive_util.cpython-36.pyc,, -setuptools/command/__pycache__/alias.cpython-36.pyc,, -setuptools/command/__pycache__/register.cpython-36.pyc,, -setuptools/command/__pycache__/install_lib.cpython-36.pyc,, -setuptools/command/__pycache__/setopt.cpython-36.pyc,, -setuptools/command/__pycache__/bdist_egg.cpython-36.pyc,, -setuptools/command/__pycache__/bdist_rpm.cpython-36.pyc,, -setuptools/command/__pycache__/develop.cpython-36.pyc,, -setuptools/command/__pycache__/build_py.cpython-36.pyc,, -setuptools/command/__pycache__/upload.cpython-36.pyc,, -setuptools/command/__pycache__/sdist.cpython-36.pyc,, -setuptools/command/__pycache__/install.cpython-36.pyc,, -setuptools/command/__pycache__/egg_info.cpython-36.pyc,, -setuptools/command/__pycache__/py36compat.cpython-36.pyc,, -setuptools/command/__pycache__/easy_install.cpython-36.pyc,, -setuptools/command/__pycache__/build_ext.cpython-36.pyc,, -setuptools/command/__pycache__/rotate.cpython-36.pyc,, -setuptools/command/__pycache__/upload_docs.cpython-36.pyc,, -setuptools/command/__pycache__/saveopts.cpython-36.pyc,, -setuptools/command/__pycache__/__init__.cpython-36.pyc,, -setuptools/command/__pycache__/test.cpython-36.pyc,, -setuptools/command/__pycache__/bdist_wininst.cpython-36.pyc,, -setuptools/command/__pycache__/install_scripts.cpython-36.pyc,, -setuptools/command/__pycache__/install_egg_info.cpython-36.pyc,, -setuptools/extern/__pycache__/__init__.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/version.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/markers.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/utils.cpython-36.pyc,, -pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-36.pyc,, -pkg_resources/_vendor/__pycache__/appdirs.cpython-36.pyc,, -pkg_resources/_vendor/__pycache__/six.cpython-36.pyc,, -pkg_resources/_vendor/__pycache__/__init__.cpython-36.pyc,, -pkg_resources/_vendor/__pycache__/pyparsing.cpython-36.pyc,, -pkg_resources/__pycache__/__init__.cpython-36.pyc,, -pkg_resources/extern/__pycache__/__init__.cpython-36.pyc,, diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/WHEEL b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/WHEEL deleted file mode 100644 index 8b6dd1b5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.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/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/dependency_links.txt b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/dependency_links.txt deleted file mode 100644 index e87d0210..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/dependency_links.txt +++ /dev/null @@ -1,2 +0,0 @@ -https://files.pythonhosted.org/packages/source/c/certifi/certifi-2016.9.26.tar.gz#md5=baa81e951a29958563689d868ef1064d -https://files.pythonhosted.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/entry_points.txt b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/entry_points.txt deleted file mode 100644 index c3dd2840..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/entry_points.txt +++ /dev/null @@ -1,63 +0,0 @@ -[console_scripts] -easy_install = setuptools.command.easy_install:main -easy_install-3.5 = setuptools.command.easy_install:main - -[distutils.commands] -alias = setuptools.command.alias:alias -bdist_egg = setuptools.command.bdist_egg:bdist_egg -bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm -bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst -build_ext = setuptools.command.build_ext:build_ext -build_py = setuptools.command.build_py:build_py -develop = setuptools.command.develop:develop -easy_install = setuptools.command.easy_install:easy_install -egg_info = setuptools.command.egg_info:egg_info -install = setuptools.command.install:install -install_egg_info = setuptools.command.install_egg_info:install_egg_info -install_lib = setuptools.command.install_lib:install_lib -install_scripts = setuptools.command.install_scripts:install_scripts -register = setuptools.command.register:register -rotate = setuptools.command.rotate:rotate -saveopts = setuptools.command.saveopts:saveopts -sdist = setuptools.command.sdist:sdist -setopt = setuptools.command.setopt:setopt -test = setuptools.command.test:test -upload = setuptools.command.upload:upload -upload_docs = setuptools.command.upload_docs:upload_docs - -[distutils.setup_keywords] -convert_2to3_doctests = setuptools.dist:assert_string_list -dependency_links = setuptools.dist:assert_string_list -eager_resources = setuptools.dist:assert_string_list -entry_points = setuptools.dist:check_entry_points -exclude_package_data = setuptools.dist:check_package_data -extras_require = setuptools.dist:check_extras -include_package_data = setuptools.dist:assert_bool -install_requires = setuptools.dist:check_requirements -namespace_packages = setuptools.dist:check_nsp -package_data = setuptools.dist:check_package_data -packages = setuptools.dist:check_packages -python_requires = setuptools.dist:check_specifier -setup_requires = setuptools.dist:check_requirements -test_loader = setuptools.dist:check_importable -test_runner = setuptools.dist:check_importable -test_suite = setuptools.dist:check_test_suite -tests_require = setuptools.dist:check_requirements -use_2to3 = setuptools.dist:assert_bool -use_2to3_exclude_fixers = setuptools.dist:assert_string_list -use_2to3_fixers = setuptools.dist:assert_string_list -zip_safe = setuptools.dist:assert_bool - -[egg_info.writers] -PKG-INFO = setuptools.command.egg_info:write_pkg_info -dependency_links.txt = setuptools.command.egg_info:overwrite_arg -depends.txt = setuptools.command.egg_info:warn_depends_obsolete -eager_resources.txt = setuptools.command.egg_info:overwrite_arg -entry_points.txt = setuptools.command.egg_info:write_entries -namespace_packages.txt = setuptools.command.egg_info:overwrite_arg -requires.txt = setuptools.command.egg_info:write_requirements -top_level.txt = setuptools.command.egg_info:write_toplevel_names - -[setuptools.installation] -eggsecutable = setuptools.command.easy_install:bootstrap - diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/metadata.json b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/metadata.json deleted file mode 100644 index 258f532f..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "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", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Archiving :: Packaging", "Topic :: System :: Systems Administration", "Topic :: Utilities"], "extensions": {"python.commands": {"wrap_console": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.5": "setuptools.command.easy_install:main"}}, "python.details": {"contacts": [{"email": "distutils-sig@python.org", "name": "Python Packaging Authority", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/pypa/setuptools"}}, "python.exports": {"console_scripts": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.5": "setuptools.command.easy_install:main"}, "distutils.commands": {"alias": "setuptools.command.alias:alias", "bdist_egg": "setuptools.command.bdist_egg:bdist_egg", "bdist_rpm": "setuptools.command.bdist_rpm:bdist_rpm", "bdist_wininst": "setuptools.command.bdist_wininst:bdist_wininst", "build_ext": "setuptools.command.build_ext:build_ext", "build_py": "setuptools.command.build_py:build_py", "develop": "setuptools.command.develop:develop", "easy_install": "setuptools.command.easy_install:easy_install", "egg_info": "setuptools.command.egg_info:egg_info", "install": "setuptools.command.install:install", "install_egg_info": "setuptools.command.install_egg_info:install_egg_info", "install_lib": "setuptools.command.install_lib:install_lib", "install_scripts": "setuptools.command.install_scripts:install_scripts", "register": "setuptools.command.register:register", "rotate": "setuptools.command.rotate:rotate", "saveopts": "setuptools.command.saveopts:saveopts", "sdist": "setuptools.command.sdist:sdist", "setopt": "setuptools.command.setopt:setopt", "test": "setuptools.command.test:test", "upload": "setuptools.command.upload:upload", "upload_docs": "setuptools.command.upload_docs:upload_docs"}, "distutils.setup_keywords": {"convert_2to3_doctests": "setuptools.dist:assert_string_list", "dependency_links": "setuptools.dist:assert_string_list", "eager_resources": "setuptools.dist:assert_string_list", "entry_points": "setuptools.dist:check_entry_points", "exclude_package_data": "setuptools.dist:check_package_data", "extras_require": "setuptools.dist:check_extras", "include_package_data": "setuptools.dist:assert_bool", "install_requires": "setuptools.dist:check_requirements", "namespace_packages": "setuptools.dist:check_nsp", "package_data": "setuptools.dist:check_package_data", "packages": "setuptools.dist:check_packages", "python_requires": "setuptools.dist:check_specifier", "setup_requires": "setuptools.dist:check_requirements", "test_loader": "setuptools.dist:check_importable", "test_runner": "setuptools.dist:check_importable", "test_suite": "setuptools.dist:check_test_suite", "tests_require": "setuptools.dist:check_requirements", "use_2to3": "setuptools.dist:assert_bool", "use_2to3_exclude_fixers": "setuptools.dist:assert_string_list", "use_2to3_fixers": "setuptools.dist:assert_string_list", "zip_safe": "setuptools.dist:assert_bool"}, "egg_info.writers": {"PKG-INFO": "setuptools.command.egg_info:write_pkg_info", "dependency_links.txt": "setuptools.command.egg_info:overwrite_arg", "depends.txt": "setuptools.command.egg_info:warn_depends_obsolete", "eager_resources.txt": "setuptools.command.egg_info:overwrite_arg", "entry_points.txt": "setuptools.command.egg_info:write_entries", "namespace_packages.txt": "setuptools.command.egg_info:overwrite_arg", "requires.txt": "setuptools.command.egg_info:write_requirements", "top_level.txt": "setuptools.command.egg_info:write_toplevel_names"}, "setuptools.installation": {"eggsecutable": "setuptools.command.easy_install:bootstrap"}}}, "extras": ["certs", "ssl"], "generator": "bdist_wheel (0.29.0)", "keywords": ["CPAN", "PyPI", "distutils", "eggs", "package", "management"], "metadata_version": "2.0", "name": "setuptools", "run_requires": [{"extra": "certs", "requires": ["certifi (==2016.9.26)"]}, {"environment": "sys_platform=='win32'", "extra": "ssl", "requires": ["wincertstore (==0.2)"]}], "summary": "Easily download, build, install, upgrade, and uninstall Python packages", "version": "28.8.0"} \ No newline at end of file diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/top_level.txt b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/top_level.txt deleted file mode 100644 index 4577c6a7..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/top_level.txt +++ /dev/null @@ -1,3 +0,0 @@ -easy_install -pkg_resources -setuptools diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/zip-safe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools-28.8.0.dist-info/zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__init__.py deleted file mode 100644 index 54577ced..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__init__.py +++ /dev/null @@ -1,160 +0,0 @@ -"""Extensions to the 'distutils' for large or complex distributions""" - -import os -import functools -import distutils.core -import distutils.filelist -from distutils.util import convert_path -from fnmatch import fnmatchcase - -from setuptools.extern.six.moves import filter, filterfalse, map - -import setuptools.version -from setuptools.extension import Extension -from setuptools.dist import Distribution, Feature -from setuptools.depends import Require -from . import monkey - -__all__ = [ - 'setup', 'Distribution', 'Feature', 'Command', 'Extension', 'Require', - 'find_packages', -] - -__version__ = setuptools.version.__version__ - -bootstrap_install_from = None - -# If we run 2to3 on .py files, should we also convert docstrings? -# Default: yes; assume that we can detect doctests reliably -run_2to3_on_doctests = True -# Standard package names for fixer packages -lib2to3_fixer_packages = ['lib2to3.fixes'] - - -class PackageFinder(object): - """ - Generate a list of all Python packages found within a directory - """ - - @classmethod - def find(cls, where='.', exclude=(), include=('*',)): - """Return a list all Python packages found within directory 'where' - - 'where' is the root directory which will be searched for packages. It - should be supplied as a "cross-platform" (i.e. URL-style) path; it will - be converted to the appropriate local path syntax. - - 'exclude' is a sequence of package names to exclude; '*' can be used - as a wildcard in the names, such that 'foo.*' will exclude all - subpackages of 'foo' (but not 'foo' itself). - - 'include' is a sequence of package names to include. If it's - specified, only the named packages will be included. If it's not - specified, all found packages will be included. 'include' can contain - shell style wildcard patterns just like 'exclude'. - """ - - return list(cls._find_packages_iter( - convert_path(where), - cls._build_filter('ez_setup', '*__pycache__', *exclude), - cls._build_filter(*include))) - - @classmethod - def _find_packages_iter(cls, where, exclude, include): - """ - All the packages found in 'where' that pass the 'include' filter, but - not the 'exclude' filter. - """ - for root, dirs, files in os.walk(where, followlinks=True): - # Copy dirs to iterate over it, then empty dirs. - all_dirs = dirs[:] - dirs[:] = [] - - for dir in all_dirs: - full_path = os.path.join(root, dir) - rel_path = os.path.relpath(full_path, where) - package = rel_path.replace(os.path.sep, '.') - - # Skip directory trees that are not valid packages - if ('.' in dir or not cls._looks_like_package(full_path)): - continue - - # Should this package be included? - if include(package) and not exclude(package): - yield package - - # Keep searching subdirectories, as there may be more packages - # down there, even if the parent was excluded. - dirs.append(dir) - - @staticmethod - def _looks_like_package(path): - """Does a directory look like a package?""" - return os.path.isfile(os.path.join(path, '__init__.py')) - - @staticmethod - def _build_filter(*patterns): - """ - Given a list of patterns, return a callable that will be true only if - the input matches at least one of the patterns. - """ - return lambda name: any(fnmatchcase(name, pat=pat) for pat in patterns) - - -class PEP420PackageFinder(PackageFinder): - @staticmethod - def _looks_like_package(path): - return True - - -find_packages = PackageFinder.find - -setup = distutils.core.setup - -_Command = monkey.get_unpatched(distutils.core.Command) - - -class Command(_Command): - __doc__ = _Command.__doc__ - - command_consumes_arguments = False - - def __init__(self, dist, **kw): - """ - Construct the command for dist, updating - vars(self) with any keyword parameters. - """ - _Command.__init__(self, dist) - vars(self).update(kw) - - def reinitialize_command(self, command, reinit_subcommands=0, **kw): - cmd = _Command.reinitialize_command(self, command, reinit_subcommands) - vars(cmd).update(kw) - return cmd - - -def _find_all_simple(path): - """ - Find all files under 'path' - """ - results = ( - os.path.join(base, file) - for base, dirs, files in os.walk(path, followlinks=True) - for file in files - ) - return filter(os.path.isfile, results) - - -def findall(dir=os.curdir): - """ - Find all files under 'dir' and return the list of full filenames. - Unless dir is '.', return full filenames with dir prepended. - """ - files = _find_all_simple(dir) - if dir == os.curdir: - make_rel = functools.partial(os.path.relpath, start=dir) - files = map(make_rel, files) - return list(files) - - -monkey.patch_all() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index e51314484d3c106e2fbad4591ead1acd430f74f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5705 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/archive_util.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/archive_util.cpython-36.pyc deleted file mode 100644 index 3b3bd81574bfe5253d535000f7c32bf2d3b62864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5168 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/depends.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/depends.cpython-36.pyc deleted file mode 100644 index c91e03a4f7330a8367b0faa135c60aa9a79d7c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5838 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/dist.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/dist.cpython-36.pyc deleted file mode 100644 index 801281320b9079c20f293027992bff48859b1531..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32178 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/extension.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/extension.cpython-36.pyc deleted file mode 100644 index 3c1c845c7939c2a7edef36dfc31ed81235197200..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1985 zcmaJ?Uys~05VxJ|zufKiXe$J?5{6ckReQTvD%73?s8XRw2ptl=2M7;QF81zbFPjA0 zxw~EE#KZO#J_7H24EPupZ#?xY@Wf2Am%B<8UU@vWC-!e<e&c=A?|VP}^^5;!n~;CV zmF9x}6uK@!2qI`g{CcE5t>(;ks?ptyt!iXRd(rVbln6(-Nq5ond!V;O`z7%`>G@l- zC!P8ByuYUY;A<i}qWhAFt{ki#zYp`C@L=xAKFqHP`hpC%UI7AfFr?O5g!wB96VUrp zX@VlnLle!Uh|mNZ?ruSU23>ywLeO)vylF^D1e;Rf{L1DO0J$%SOAI^q)B_41QSu{6 z*$)5|E^M#%JPz%9X$qC{Lsdu~Px!N?nPn-D!jvDu!XnR<kz!PtuHLJ6M_<O;6edpe z=%|Pj5y&%RdyNXXyAzcy60kaaK6I=X1oc5dpjv>|_P#ocWNzXt9a4WQs;)$n<PV~H zVDN7`&Q*L88aX}*)p(L6LMlDp7vm@U^ZmU~_tS?W71Lv(PmhA-^l|=V585;xACB`l z->s1BN|6K)ALX;L1`l(SWr@D30%n<NfH2CJb~~7bCo-s!Y-3ahAc*Ty#&)Pn2eeHU zM!ZP@ZZqglp=%C85@d|e1O<jL;Q$j{;ffZFzzYa?2i@M>xq95F+{{A53oSLjH;V4@ zNt}Qhr#w%>Nb+m~%lYzbvk^IP6*i0`viCda`eP8KI|mvFwq_*>s9|%bBqc4`#3`NM zS?T_Ugdl*!Ik1C#86@!{hRg<G9zP$t*2%M6_2C@IR)fuUA#-VLf?(LPu9nHfx@owO zwxhE`MN(TgR8wu)@oAN}T6l1Z+5vF~x<-)18PL`B=Gf82sSy$x8yaD+2z>yGA#0*M ztc;S(X?|U>b6V0lTSLViGj&(EDHE-8W}LZeTJyGOmu&5vJEmj0C3rsXt=XDFBzjeK zbyj~@46X@ZM|R@^KaI_dV~DxDNRQ?w<FD<TndAn1m8Ll-3Dap2PUYoiBYrrGHDAbR z7N)UY@GwcTQ_UO8uz=!H_31^PC(GurT*=)iOHU+LTXXeMVGs#yPNV{&$QtJcSzVOq z(t#x_C%S)s<&L5}U$IfNYN1DWhhD{6+r5BbTYyL^+nW?=RMmv-<e@Tgm{_Kyb#!rL zU94P%>{d5G3|;jW46qCy`(7Oeta)`CO|W1u6K`(^8$SX75Nx0ZCJXTEA=qlHFVb!^ zmwNOj-Jz?Gt}x?&K0X+>k&sBhAizguk%=NfeLDz#F2ZE9(+L8RMex=j2i5y1E-_YG z#ZZL7p=<b4AYJORZd>8nYbA~ZeF|OUS+AEkmXhs!8y~4qEmxm^Q)t7J_*n9gD>*Ha zQ1QmE2OLw0?~>u628*Qr4C-7P8HxjlF^3z}2Pi&7aR<elaNmWEC(tz}s7n>jhdb&P z4C-AFb|9MPIm#fXy=Lz3H0nqy1yr;*uB=?p-@kSFWR9>XR65e}*=UiSNL}&5Z!fa+ zSS}S7ZACHPt6tE2spOe;@!l$!>KYm##5eh3yPwrL`~u^w-v-g8n;+X|+fMhI3v%b3 F{{UU945<JB diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/glob.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/glob.cpython-36.pyc deleted file mode 100644 index 0732b047b8270c487805c57227c4548969685495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3853 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/launch.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/launch.cpython-36.pyc deleted file mode 100644 index cceabedf09176c9ddf26d1a8f76de6f82c842271..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 864 zcmYjQ&2AGh5cbb*vfZ{^5Td>L8l+}hRftBa5E55ZRlq4NS~+VcakBARUT+{#A`XEg z55jBk7`}4qD{x}GL84>Lw`0%j`1`c8m&eEH-LJ31rxc;z=#deK-+<SB0D*=`U_nYe z#O;#|iJ&6-hK5u|BAyfbLed?=NRSVx*ID1C?|7q&DRWcFZdYzvX;v3j8OI<Bhefqm za4lG=v}Anjq)lt-8sn;}teL9WsH$A;EH_39wp5&{g{iFTrw>2~-4p?Xb--irx8St} za6rT184>stZIPoJAQi~|pj*5@7xX(h-Ph0%Un3W}Sj4Wgqg%2e8??i-?hb9~hRzbv z5#1fxM($t}L9YaAVwY~>4c-wDOhNF$`Zi@?@0-22e^M2QUe$eWC(FBwPmF`EF;k9B zxoFErQfj93vYLZL&0S-8S+4qR?g4`opXB+1E1l;zJsLJ+RmwaMk>-mKb@N<Q1q4xL zq+Un&_Fk{az4np(B8%RkKg#n_qe`cA4OJBQ_$Uzakx+&6-HCMEIqMS#EVNon+YJ{- zR&wFHR+^F*(s$u=8MxafknDB*;a*|O!XE@KwFz}`V3GUIK0Q3tm0jffjgN{-$e+kQ zhZcY4nXzigoy?ZpX5*?9($?8PWLJaP;QZx4UkEKGb5VaD<*Ugnb9D|j(b>n$D03DR zi8Cq6{NmC~v;TwhI4s)<?3<ORw$aCMYkdNM;s~dhv@0Pe<OuJVJ%yZw-vISu8-~h0 l36KV8Q(?$j@{b@i^vU(25=|*zN3g5I3sIclgeK1t{1+LV?d|{o diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-36.pyc deleted file mode 100644 index 9d5b4d79c0822d4ffedb977797221488068c6c76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2443 zcmbVN-HzKt6!!QpjyL<$?ZU1W7OYZLiqt0k5n>l1v{K7fTo4efRAdBJl9{;nI(9lU z*=D0uT%@<~2;B1;JjO^|am6e2igPB8H?7)&7;DbV*k@+W`OZ0?@2#)<Km74?_-D;9 z{xVjY4fA8@;(HL(2n|Z8nUSFxS_J1-W)Gdv(Q`X<hqbUa^g>Usova?#9~#u9wdV${ zvD(}UeOP<64(mFzU~N+8JEQ4OFZ}ysA&X%$Wi<FInI!pLS=<Z6cr+@w{M7e@TS1pn zv3wH@3Lf-}{G4%_<Z(cYzGOlQ-}g@+Cn6XYbeyq(cN4)x(9MG{hj`EzoWs5%55BpO zk72mm^8W_Mj3!a_>Q-1-SrIo)wfQX@bo;X4aK&j+WNJ5NG8!Zk#zi#X#V{Im`)A#l zb^3V9vY9YBhAysyU`9v)I1_<;ZiE)Ks12h{9qPj9&>8^Xsl5k@kYkx-;*~r5cp5eg zg$4a<=wb(iG*U7n12QvzGk-Mzasy5xou<iAO*ssmZQ9BfEE_0mC}L%Ic`TH9_Vjmy zH$dq{(H`;SyenDzyvy5zBBS71`-rv=kJ6*tA0Op+XinoZDxUVDi};h#;caMf-ac)Q zlF_Z+ILYWOMziS7z0u>gU~)W?fRk9AW=RiY8L>%gbfM~iY@{vQMnAN3WP0sQ-nT0C z3I}u!`$OFSA8@dfd{8tk?twn9qwrCn`wOuSGqr{n4Ve%S&3E9%(z5GswXEFmzio3U z>y6`oHBN)3Rrgj*dpl@az0-7+7e#q@$f8L3QM9NFm^Y&6$+(*>zVHnMV+#dFWd$3J z5(30s5LciJoOr~uJWIdp!?J1^mt*MS28b&2>(r#ya{{>!S+8?nQv&3^hsDn^2~PUB z7aQie1N}a9!9mQ76f&KXvpV0x9G?-fhodx83r|k%8JUw^V@?R_I&-K67+pP@yeDg^ z$8%YScmA9_vu0MhHiPrvv3~&?%Nw$huFv4yxmi|`(>a~iPLPJ;-~|bQ3Y@1rkt|$a z5=~U(*+p|hH7L|APkK<gMIL%%!6M9dU4ncQtXFngB)K|>Dt?I~T{jCJ(XkO~fAuq) z^s_N#CDADVvaZ4%KF;+8aDTM4MaMy{X<jPN^LWWz5cKL|<t=wNZCwt^86+7Kp|?Cq z5xx?99rplyIDjrN^$e>)Z2jyI$N`wS#3$S4bi2BwwY;NGa04_9F9uZyv<DLmDEBdh zG0Y=l@_{6&`M~&b=NZ9osU>wtF`!TO9_gT_E;S$lewqZJ;iT>xv`-#YG+5(kHh&*P z`0kQ~78sSREtJb9lI4_RzHxLg++0SmL?74`i9?amE5L+TUlYd`s0yqj1Aswr8e|9h z2ALjQ0`!`F6;@aT6;>TsNbsJL*qB=y8^B59aAQVN3y^>{qBOZSBY?>MGjnFbTl>uA zH*rjzng0IdW{Hd02{&F&FJOoo{MEWr@&y9B6#_3S@{hnAjj3`u8y4rR<gIYCRHP+l zp?{f*ucEdU!H-}yy$|73fiz<PPzaR|&vbtku9r7-n&hPE@~dbK(mzMK<^hU*6z`$9 zWcN!3!#u=nC>hMZ;w`ABxu$9n78B6o29~q_4YyEgYT_TlCRMM#EPk(BWlFV{mBuk{ gi%h~>bWy&}4&{BeVBya(v9#;9iLP&%p0&0152JxsG5`Po diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/monkey.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/monkey.cpython-36.pyc deleted file mode 100644 index e0894b9caae6c6933802ad902bb7514547a82ad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4533 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/msvc.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/msvc.cpython-36.pyc deleted file mode 100644 index ca04e65a3d9e4c2d91fd4d30f3b348b7e5c74da7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31286 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/namespaces.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/namespaces.cpython-36.pyc deleted file mode 100644 index 2c3f1eb4de98b18bf8997419ac3624c96f269ec6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3201 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/package_index.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/package_index.cpython-36.pyc deleted file mode 100644 index bb87cfaf640e267e17109d36d103a4dc71195db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32500 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%0D5($+LG?{Tj`u~@F`cf-4aK>`w(vQF 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 TjHL#WTL(7`?He4$mFWKg$~>hY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py26compat.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py26compat.cpython-36.pyc deleted file mode 100644 index 19836e7137f70679059091a4a4a99f206aa22ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1073 zcmZ`%PjAyO6t|PMOVf6m;KBhRUn{X@>%`WgX+jztCZP#25ThVvY3-(7lQ`JUMyE|2 z*a?Zxf%qDTPmwF9eFaWDyB!Q99KDzK?C0P6^Yccl<-hs%VerL4=m)y7ZiD>@M12B9 z(Ew3Qodgf?Yy~VgaZ-2SV)P1Sq=Hyw>dS46%x6!l^V8QTa}E)$(CQ@`)EGWqqOECF z9#W6i&5p(L6ECd~>K5zn0_$>t)u2s?t1obz1JqtV>-xJQ%_Gf+JmGpq4vIV%Qj@We z<k?J5L`J%uO%i34ut+AHN&gCZK>KZ6dMbxII*LcwY{7!Qt?a^It$@<#9DT%ZoeOk< z&k<zAXWxASYcC^53;bTUw??)nTIUagU|7VeliS1{A>)86RWK8=a}?hHQ_+^G$O0vi zW|Evnia-~m38O>{Lb;MGjwCn}M#eIVQ<iCRI$;?}qbbi~^78ppBH6owDXlsd>9MfU zDoWwXf7_qOwy`w5ww=-~WKw$9DZV0Eh5er*$R$64(t?vn24j&>CRNa<L9c(@UwhEc z)@erLDOIP#a29Xny){^I7Q6^@p05rIp3qfBlW=__p9G5OBG*DB>ZX~`x|<`*9n7m- zR$B5ryso2V2&jNUwI-HJ@V_$kUK#5*TZT0wmMs%JXK3HH0Q}<j)|#stoR{8q5~V{L z?c4!Rfgsrc1+gujns*bXf))w;D}_O}DVD)74}#(tp8sd_0Nwr43&RXX9){*cjipEv zt~A(w7%ni)Nn;LdL;tBtHUak@h%zlAZ2h()J#b_lRNF6?!jOtl7?!S@sj>;2C4AV) zBdM4rvTW?x`kzQCWLcY^+qsp^6QGWZEacf(l=XQ{aNDN2QHtSRE~YducE^P+WkywT SJjcN+cp2YvJ>SO*&-n$k!VD1r diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py27compat.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py27compat.cpython-36.pyc deleted file mode 100644 index 68826c609ceca1a1461119cfcc27cb191f7013d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 622 zcma)(!D<^Z5Qe4QZFX4_O5Z@Iz?R0FI0VN~N+5@ZLPH=vxd$Oz%38K82}yR@5a^+O znZ8CJW3N5s6?*DuZD@`in12T``u@@E`O#7N<=40ACydZ<^db_duOR(f5RRsZW1c8H z#XRNN4>U~#UZy->A$QCVb|*Z!M^*7SEU(SlvLI(t$<UJfjkU%F@?adfYs125G8~Ku z)0_zAloYOf1`l*QkDf8&H|8~@FF~Hr5<TJX82I?{rX&y_<yL5bkekWm?z8ZoHR2s{ zB5WKSD@7K9ap62!voK#s-4I5a{?1CYgC0@gE^kDj&|M{6zTQE)6dHaa_X>RfnA$qI zWkJ+i=IRHdBC;Oy`f|J+pI(gh8P~j7asPEj+h$}hPazszPiiae$!sGPKM`Efvva$s zJq%}qG0MLzZ95#z`-Kf`+r8coMEBztaRvQeGM7XBoPzw{qHf`RCE)g?Dsl0y%c8`` z?c^X<k^Ba7=Y%WlqHmRTIi=jpDeY3<`o66@+`<Z^(Nt>qqyIpC6=_}Zer@<hi4W1w MM^cs)X_1%7Ujd7ma{vGU diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py31compat.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/py31compat.cpython-36.pyc deleted file mode 100644 index a0a46857dad524490ac6bebd697cc20e8241185e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1903 zcmZ`(TW=#Z6t+E+WRkXNTFOdgmolsn5VYHDDJ!<p3atbP@sgr#wU^<+n#4{ziRXgt zv`tkBi7v1F1fJn<>~G)!%_~p+3p{a-lU}xfM{|69eC%`loy+#pQsevAKSpVlkiW>a zu?GAT_|2a{1QAq`Xg1S`3MRZEi`aAxc6{Zfe&nZ>s6xqelHK!(td1M{1ts`_Mn%<} zMi2$Ct_trJi7GEi#$J$V3-)WOo;IR}JN?=G^skqvsal8@oCo!&{tXd<sJ|kjE*H<d zs4=@m($P}X6w8u~mIW1yKeKh>6OW8({#vxgB=Z?~618MY{~?w{6YMty-6QRlb9f!; zmditFc|Xqv$&eq$+LQqbir5~snP#A(Js@+wY`V><J;*bzl3t(UB`|PCy)WT6cYvG% zI^&vdSt7hM`V+MjBy`Nq&~~L;)(RC{xB-}nmcX36*NsydrW0eso($*GFxTN+6I`gk z#Tvo|?v#yZv6{%Qwa&HnQAA5WgByM)x(>^~^G>0Y!`R9Wys9(Em5|zWc0}jV&S>Ys z!<}qPWMViL=BUS~!_SLH4`2+l&VHvziu=7uqQreE6yMq|4mw8KNn!I`nd@vZ-QMcw zDPXl(OdU*%VA-I9ga+_|PpkVfEpi>}=~s!CeVglPANMZ?BK!n?^Dz)fAi+q)1dTjQ zGzgY2d{M!qf#j*dTonNTSl0`ne)3x*oR4QxPeYTWg_5DYuo#L9lOY7y%3~X*aTX7y z-n=~cJW(pNaM<RdkV;w^#se$$QLM$ius5;c5o*NB<Y6+*axKH%y)e!MT1!-{FK?0< z3KQnp?4BgguB^O~C-`KSCs=3#GKCXMN9@dTg23}=x9#ZwcFO=CGf0#yYw1|v0^@9? z8n`IWNW*Dzo@9yTJcO0Oj3Bg1Pj3Gk|IG`{H@w0Oc3xrlPRVHQ2X%h5scwS!rp-F% z5^&X=e*n7%A4cfOo&PjBSL{2_Ko4gOqO<uaFw<2_Mo=Xq2>% bwHU)`NcX;jAOf zD&8T+98Rpe-}cL@Ihfc)l~tWuE#(Zj+U}mKjkfPRFKhC+Z>NQf0$>iYbR1`O+?O|> z6~MEO5z3FiEraM1%IGR>{y(5I{cgKf!eJ~!&dUbpX)Y!T`9;oun8a$nQ{!CZea`hV zT&-J3-bR9jdySxFm+0%j7|e&D;<LaHJSRQ(Kyr?8J4fXE@VkKv+}efTd;&z!Q#!8d zjZ-S<I%M29&>IeGSU)Dfu~TwNf5Fbgx>3VQW1mj4OzO5*1`|jsltj&aD4_kzz0yzP zB!foe$9ibW>KH0!Xl{64E?pewsQnN<nze^D+MxP<SVLQT2PS>{8jlUMy;6E+YV^Cn zmjGC-6yR6~(X3ft_2zQnTWm4b#k+h<B*tPsn9VC)Og4?p$pNQV@Xl)98$m<T8z@Fk z%Ed!ykx;i#NP|48@b6x3Z(Vzki_Wap9?t^%1%hwx0)cMF0>;=HBuR@ktBkdPL+Pzs JRd$#9-aif@#47** diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/sandbox.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/sandbox.cpython-36.pyc deleted file mode 100644 index 882f5abf2d98a96289fce42a45ec8e3ff569e79b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15543 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/site-patch.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/site-patch.cpython-36.pyc deleted file mode 100644 index 60166dac89e9887d275327ea132816588ff8516b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1516 zcmY*ZPjA~c6elTJmSx#V94AYL9efxN_>eeVR-`F{phG*XyJP_xAgS9xQ%uH@EK3T> zIDbH4z}#JS%5M7#+eavN8ulRuUbjoHJN7W_QAUf72A{~s-+S-({=i#}hWFz4@A_5^ zp})`vi@^C2Z1D*QiYR`C`iNmlMue|0G({M_K-7AMy7mAN<yr#ShW!|}m<JCOQ<R`$ z_QeHOI3}@0$rKkv5sF5x_*|jbrWSa8sECjF!yzh2>MIgg0PPs0tSUt92u-cR0<<e@ z3OrEs16f6d4JbGEWF3%|>(|PDf=+%d9ObCWh=_@Dz~_$_6J^DgGTy4H3UO=vH&u;& zS^<r#+*0#expBj2FgidNlbcS-zFE{%%^;OC#8dLpD!igz_(v#Rwvn70dHf#?wZQ0V z@*Jh)7%9)>#s9sS+_u3IJStDsl|QvHI)X|nFP=BmJ1(Offe#A2zQ=NbR;l|6nGBzx zDF$YZGV>b6ka?40g@V@gvLcXSvvB01$p@o5d~tjPRyK-Ts=18_pk!Ow6t9Apm!z00 z<|!%`psua!Waj<k6zto^9^My=wrZ>S5xK+s54B*}n-f&I1soROtub=$u=w-++uy1c zFU_K-Z8$Hh1-KE60O4&zEa3DraB7)oFgwtxU63#<_5C+yQnYvQ{P5{F`v+efKGl`0 zDBb!@FXo{<52A6Namjcv2nXj(+ai+e_S47NWkS<6**S|++L7n1!&#Vg*39c#XPnW? zgblFq49iTe4f`4Fa(ahQos)KfB~nmTidKQk8TpA^*uV(CF?L<7-ElZ#hC`QVvazXc z@IC$oaSxu~X1$z8lTfnWB;>ubETN2x-VW_O*ok*G@9(7dXiA48Dy~k0o8fl;U=!9b z?H%^=C|^Ilj1s!eXcFAp%Fla($;(`3St9;-gm~)^e{jB$-@Ns9lSs%xHqQ6DCJ&R8 zgKj?#g3~OM8@ow12otdfhj%bt4+1tEMyX(2a>pd~k+#H*&?FPO%F;>1vs7C{CbgR< zp*+j@SXV@zL{e8x;)3P63eTaGT-!#Yt%RkzN+X_zW2W68IExY%1iEe-5zGp&>q!>A zzgW;gUH`gl<CmOgTvrB3CZLrx8c5y%UfK&OHLU}`ylNCqnCC2|+L^KMF7YO)`J53Z z^S+fwgML*=YFPCv;~QfNe_2So?<Ph&h6dx@{9$QFNEneZUpAKtWn#c}eUxTbX;7xB z9q3^Wg~7B>QrfT0A_pN9CuLV9NaI|SG%qJ$ChDc@Sr5$Eh;Kn4?848-E7&1E@o@|L z#KTQYum^hBaI*=4^9pDUmS95Kpmm4~Umw1JCrvVsZ9w{9-!?DUw|vm^b%?<$Aojbn gi)n;uNDzF$&CDq;3A($p#_W|8%_O*Ax!A$~0Ss7-j{pDw diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/ssl_support.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/ssl_support.cpython-36.pyc deleted file mode 100644 index f0adcc161c6d2d6aedaaf974c65f7058755485fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6369 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/unicode_utils.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/unicode_utils.cpython-36.pyc deleted file mode 100644 index 6b20628d32874272884c16cdc8c2ca8ed69d33d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1179 zcmZ8h-EPw`6t<l-O|x!-Z6L%2%Ebig#FkAHqLmOrV&yU*4Omx%s;qX~bg2_;XZ=wt zF3QXB8azgB;f7b>isPhg6^?w4eSGZXeBbAsY;HQAetd2JG7$QS)*6BFE9kNgh9Zh1 z)Gj=3W0;eOjEuH{5jCj!4Yf^Lq89iPEmIr3Me!M`Rer;6<kxU!$Z*oddInAV4d}0- z%a33bnj?jWWJ$yWWeiP<=V(dJ&~$H(h9ydtc!6%?3&<W?Mf4o;T@$JDl_TC^I2fY~ z#7PS>;Pr;zHvBiIvr?*h2lbkrIiU=>Q~~cYp)1TPicM5UO%s-Fq&)1#l+i#1S%t@9 z6hz^SWfo;RoLP+LzWSlaYYGtysLV_PHTaH%F6fW&5)obpih0+8@Op7XnUG$CdiBPz zarCUgk1419D=NpAooWAhQa^&$=iYlS36q1%G>qs0qfzJhBpG;;sWee>9Le?J>N7j3 z3L|-#OtXsqz)=!QW@|jR!600PhhPWn7CaUfn-IMrz=TN^dQLzK25SV|(a>qImneBi z@dD2=#XYhhlfyYVMV}upjH#n(nHx*s7{Ipxe7^vHynlhd?6;twgGMw3vkS+C*5oo3 z%vFOxfnjbxyk^|h(7B;>3yA5{Jk@{eH{J07mU-;5Ny55{Q8!0F<b8J>iz}HYu6Xrp zWdZU<Iio_C25Oti>|UR#UKlYLD>nMKUzByi_KL*QoZEs*Q#i2HwtBJy$(hp)I1ND! zOlAfIa)Jw^q06>bXLpK^--TF#y;a2~sbZTrIRjf*?7&)A>rFT9Z^XX`lN?Pn$15~3 zp!ujkQ{SN$+&#dN%siC}?ylIsg(KuDb_2JU@~#SF9z?E)K^mO-H6pYiZfb4j`YmcD znI)9~IE9wW|D`!fOf?1|`zNq0^)ZNOIYBY^VGM|uz=<s|?Yp-+J%roD1TUD-ipxvS hx2(NGS1)o5?H8k%rV)Fo{|HjUZv$>s)2`Y(e*u?0ALal6 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/version.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/version.cpython-36.pyc deleted file mode 100644 index 77833e9dc86cd367d6154604541410403fb5134d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmYjLu}%U(5S=|R91yH1^b;s>A!y``F*LR|ny6>70cJgqTX)ypJCMr4&Oh-t{ETg_ z`~@pVL)15UFE2BBlQ-&gS~qV`=?eh76MxYrHzE2X5(H!lQdoB-EEq=53}F`*QChnM zy;BESFIsM&!S`S-tzCnTt|)U3z4`~`;ViVgEGt_YqkL#oy3l5&dt0Gni%dA_P37j2 zE>1pFxs#!>l+Ncyhqe$KD@16XKF*~rY5xkYNq>LjQ*rC^<+PN1Id%NjD5Nk?kdKo^ zGB`-|5H)56`qfOVvqL)`5Hig#xXo>UR^<x&5|tQ^>>dB>`QL6j?AdjQkM9juN}ez( N;A4_FiddIzvoGMrU~B*Y diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/windows_support.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/__pycache__/windows_support.cpython-36.pyc deleted file mode 100644 index 6f220604b8118ff3ad91d0b351a935a2df71890a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021 zcmZWoPjAyO6t|N!&AN?06Ch3~M|xPZt^!sxO>DH&CRH6;iz<afmd0+IHjRVru5{{z zM0ewp@HIH{5pw0UufU1tRD%kh<oAAYo_~J+`MI*WS@`h%v-?9s=qFk+9q=0%;yE~i z2#%1ujM&9QBl-<;HL4MV<ZjRcyE?%wR5WiP8#M#00+@=xjNZZ!Pr*qv#0y{>>HN`> zrG@4QRvOJT-w9*FrXqm6%+yN7;K2|EIHEFf^BXE^sp0d!NX^kyMXt)t+%M@QJiPQJ zbuNAG^jJhF7fzKpd(~le=S4LxlbG~JL`=Khtp6(6+X3sxPTNVsWV<^FBeG3N<drMQ zz!6kV63JL3R^fD6rza*!!niCYv((y;{Bf7~2YFR140QGEE{(;}th67oz>mZMfMp^a z!Ac@u_81?hrkDvy$3>hPy-6JWJq|a4D&1J6%BdaHG{PI$!h9XjAHkJMN{dYJ1^@|S zFEB<D54E8_G_EnA+|bN?zNgKxXJvQ|P=RRIFf&JUZJ}N3b6uRkzx4(Bf{Cs!>FR62 z25V7i%K^0qAt5xjeJOd^ok(gk_^^9n1c=)t<TQ|s&q{@C)iGyddmv@<+Hr*RgAu!= zyce-)DPUvg<Ae$svRF9f>dW2Ta;4%dmt7>j99-DriI8@e+LC^frHt?DejsNF6(vw7 z1GlPSn#GN@;CbO#U5)3Z<}xWYm4;E2S|iG18dY}PEjY$8)OvVVzUa8t9hYl1-gR2- zb2nG(oSoNF3)(E(#5Io2&KhZ+L%FcKYjwi7&N<^nBQ;d1?!*6h)5piBjk<T(Zl9kX zy>HjOlhazQ-b{5)<-d2m2BK0=X{at%JOGE*EL^}_xS$zY0UMY<fw`i=EeQOcaw;{O cU17_fMAkmm{+N+TL=V(s%38<5mTsB90W<yzVE_OC diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/archive_util.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/archive_util.py deleted file mode 100644 index cc82b3da..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/archive_util.py +++ /dev/null @@ -1,173 +0,0 @@ -"""Utilities for extracting common archive formats""" - -import zipfile -import tarfile -import os -import shutil -import posixpath -import contextlib -from distutils.errors import DistutilsError - -from pkg_resources import ensure_directory, ContextualZipFile - -__all__ = [ - "unpack_archive", "unpack_zipfile", "unpack_tarfile", "default_filter", - "UnrecognizedFormat", "extraction_drivers", "unpack_directory", -] - - -class UnrecognizedFormat(DistutilsError): - """Couldn't recognize the archive type""" - - -def default_filter(src, dst): - """The default progress/filter callback; returns True for all files""" - return dst - - -def unpack_archive(filename, extract_dir, progress_filter=default_filter, - drivers=None): - """Unpack `filename` to `extract_dir`, or raise ``UnrecognizedFormat`` - - `progress_filter` is a function taking two arguments: a source path - internal to the archive ('/'-separated), and a filesystem path where it - will be extracted. The callback must return the desired extract path - (which may be the same as the one passed in), or else ``None`` to skip - that file or directory. The callback can thus be used to report on the - progress of the extraction, as well as to filter the items extracted or - alter their extraction paths. - - `drivers`, if supplied, must be a non-empty sequence of functions with the - same signature as this function (minus the `drivers` argument), that raise - ``UnrecognizedFormat`` if they do not support extracting the designated - archive type. The `drivers` are tried in sequence until one is found that - does not raise an error, or until all are exhausted (in which case - ``UnrecognizedFormat`` is raised). If you do not supply a sequence of - drivers, the module's ``extraction_drivers`` constant will be used, which - means that ``unpack_zipfile`` and ``unpack_tarfile`` will be tried, in that - order. - """ - for driver in drivers or extraction_drivers: - try: - driver(filename, extract_dir, progress_filter) - except UnrecognizedFormat: - continue - else: - return - else: - raise UnrecognizedFormat( - "Not a recognized archive type: %s" % filename - ) - - -def unpack_directory(filename, extract_dir, progress_filter=default_filter): - """"Unpack" a directory, using the same interface as for archives - - Raises ``UnrecognizedFormat`` if `filename` is not a directory - """ - if not os.path.isdir(filename): - raise UnrecognizedFormat("%s is not a directory" % filename) - - paths = { - filename: ('', extract_dir), - } - for base, dirs, files in os.walk(filename): - src, dst = paths[base] - for d in dirs: - paths[os.path.join(base, d)] = src + d + '/', os.path.join(dst, d) - for f in files: - target = os.path.join(dst, f) - target = progress_filter(src + f, target) - if not target: - # skip non-files - continue - ensure_directory(target) - f = os.path.join(base, f) - shutil.copyfile(f, target) - shutil.copystat(f, target) - - -def unpack_zipfile(filename, extract_dir, progress_filter=default_filter): - """Unpack zip `filename` to `extract_dir` - - Raises ``UnrecognizedFormat`` if `filename` is not a zipfile (as determined - by ``zipfile.is_zipfile()``). See ``unpack_archive()`` for an explanation - of the `progress_filter` argument. - """ - - if not zipfile.is_zipfile(filename): - raise UnrecognizedFormat("%s is not a zip file" % (filename,)) - - with ContextualZipFile(filename) as z: - for info in z.infolist(): - name = info.filename - - # don't extract absolute paths or ones with .. in them - if name.startswith('/') or '..' in name.split('/'): - continue - - target = os.path.join(extract_dir, *name.split('/')) - target = progress_filter(name, target) - if not target: - continue - if name.endswith('/'): - # directory - ensure_directory(target) - else: - # file - ensure_directory(target) - data = z.read(info.filename) - with open(target, 'wb') as f: - f.write(data) - unix_attributes = info.external_attr >> 16 - if unix_attributes: - os.chmod(target, unix_attributes) - - -def unpack_tarfile(filename, extract_dir, progress_filter=default_filter): - """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` - - Raises ``UnrecognizedFormat`` if `filename` is not a tarfile (as determined - by ``tarfile.open()``). See ``unpack_archive()`` for an explanation - of the `progress_filter` argument. - """ - try: - tarobj = tarfile.open(filename) - except tarfile.TarError: - raise UnrecognizedFormat( - "%s is not a compressed or uncompressed tar file" % (filename,) - ) - with contextlib.closing(tarobj): - # don't do any chowning! - tarobj.chown = lambda *args: None - for member in tarobj: - name = member.name - # don't extract absolute paths or ones with .. in them - if not name.startswith('/') and '..' not in name.split('/'): - prelim_dst = os.path.join(extract_dir, *name.split('/')) - - # resolve any links and to extract the link targets as normal - # files - while member is not None and (member.islnk() or member.issym()): - linkpath = member.linkname - if member.issym(): - base = posixpath.dirname(member.name) - linkpath = posixpath.join(base, linkpath) - linkpath = posixpath.normpath(linkpath) - member = tarobj._getmember(linkpath) - - if member is not None and (member.isfile() or member.isdir()): - final_dst = progress_filter(name, prelim_dst) - if final_dst: - if final_dst.endswith(os.sep): - final_dst = final_dst[:-1] - try: - # XXX Ugh - tarobj._extract_member(member, final_dst) - except tarfile.ExtractError: - # chown/chmod/mkfifo/mknode/makedev failed - pass - return True - - -extraction_drivers = unpack_directory, unpack_zipfile, unpack_tarfile diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli-32.exe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli-32.exe deleted file mode 100644 index b1487b7819e7286577a043c7726fbe0ca1543083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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[c}i<OXTz6k>I#RErv3nvcIClH@!{vM)zJ_weD zu_-L8NU*G<xQC7$Bg`f~d>lC{d0L!!VW10^+~>qmNB~Y8H+F}!P8_d(PpvjzMJQmr z)F<LB!IdzF`7%cck^aLb_J<@DD#CfB0B$E^bzV@-Vr`q!&`=<s^68_Wa_GZ_v^?aY zU=VZGXAzm5x{LcyVkUd8JxnNsqtS!3fw-nje@5tui@0AmI$b-*P5O7)s<z9AVj!{a zusK!aLirXkGmKBs9|=}}+<^)RB1ao<^{^>kX;2B~<|3JfJeWv@IXo~nTtp$}Gjie> zs8UDG*kid(%i5QCBp~MA;#I186PI-nZ&k7!k8BiLJSuR>h7ArSYHD~<iO|JiNP|OD zR=9Lm@@Ua+Eq87EAwAZBPGrH*)zP)xEF>B0I<PUu3WRluor4HwG59U@*GT3C4#)*> z=T6L{zqglekt0JjG5z&|GWb4?+B5+{p^fgTufl_KesA{@I&g7rNq==^SGc5GcM%$N zDBG2)qExz*Z;jGN_-iD-y8i2BCq)p}2lKcspLg>w-;qwg(()HXrZa3jd!}spuwBVX zwmX!iwU<Qo&ds@10tJ4pnneT?LI)M|HS1v7YY$x9Bv-SsJ$Cl+xPAV;6Eqk-srxG9 z{LT5_#k!V#{GO}ibh%Xvw5jxHs@yzGY~@?`(yJD$GqsX;X$pypI5DT^o5eVu9#Z@z zw!tumU}_j8#vZXTB&Vb!;K(WYBw))aIfHo=I@urFFfxYS9PyXWVFQN5U;5Dw%tIz$ zw`nTQR_c;mZr;Y5QwPf3_^KR#GvcZKkFXD~jQGWdi~_bGh!>?#7uoQnunw|OlU~+c z^L5Ak3zWhaA4B^FhMMboO0k*O2GL)lD9_<$5b>czbCvKcSt+u*gA*=%dH>Q-Bc11h zzO7jbXN)&5mBf=w2anK6P$YcJZQoWa2#E!v{hFKxxm7Fc)Fc9iC35{|Lp7bIDjrhC zgMiGf4r2yquH{U7WdMio;XS4Y%Ry{q7#kv#gZ07i`7eo#MMh_o68E*Fd_#nrri^4b zX+slbsv>+8pmck%oLDU<yTk`c&RTk8mVQAOK~qMQ#2raos*zaqlvJZo>L()8NRJ#Z z8DReF_eq2zsjEXGs)yS{k}ykS1B!ZrY0f6O65^lslJv3g&wfpDg-&EwF8wrc=hSwm zPlV&n%%yE_@onOwK?)`GNJ6MQ0drMuBYWCH5dkD)uErh@*k}#GcFl<-;;TN+5vb|b zctkCv;*zL7f)A;QuO%(81r0)&aUz4EQu;kA!k@7i8RZ)koMaWW`5cC6n@{w!!J$5d zx}l)4VP4xL=BKi&c^{n_Qi`q@G{vimblcVR53b#<Dz&@nl0LRIeY=p^I1%{g=J)$y zJ4tny{}tcKG0i7qLLJtU;jl;LnJu8bQak(kB&;UDjom{#=dp=&3s}YXYz3C()*?Ie zpOr>*X$FUOQFm!A8JKahNSiBdY+x3bJZfD8n{--FLUM4+Mx@{vM<W!B9QJEa7>_ep zkk)U=K8R(rhU(X_faI*ZO}cn`5t*O}lx^j8|0rt-)o=Axn^DGcQTi!#7hxLTq?|HQ zB;T6(nrsCeYK0_o%)IO+CP{n#+|;w1ZmvD2c-J{i88bp63RjyKOE!B!D3U{RCs*Zh z&^%65VM(J34230U4bHS}M@SYS9TEK}c%)2<$h1|T;##zRtjRt@#1T%J=kAhOiw+Z% z7DpyWVK@6%9K^uVD9LDKj)dR^aZK6$@Lt)l;sj@`QSzBm{TlLG{JKM_^60Zr2w~nr zr>P-BaV8OjjWm?hQ3$ZCx+lyD%q`~4iNF9xWKi$t&pzBhwN9Dq-o^v9@=abLR#|<P zZAhQVQAqt{KX8b!o72`jV*h~V{I<6~6`|CSYi!tcFRq-OP_ri!l#8;keBk$FyRh37 zh-vx<nho1V<uSlQEH;(ry7_afSZop_PK$8boQKoq+i)shoyMOs4}aFK<j<xGJnq14 zb2)CC*WtE#b4An68qy4#ciQ16Pbjcq3r`~(syir#2qbbvYtKWddcXwdfk_9bi9C9n ze)1pT^3siP-~5MsCpR}_o2eh^LneJBm*p>KZqkLal4YCRR9VNhIM|rBqmzzcImvcx z66fD`zj4}M-A;gyA17cSC-oI$`q?*q&8~)Qv|C#(aSFd|hYbf}FFVB?n3Q?Svt+Td z#AW4x=9X}?aizE|`r{}3l-H&b6-{_j#STR!lD001vu;K>KT;*^ChCevBwCMFpg{JI zv``4YsjK1&142Pl%%A#u3rbGso1<_fngd1`+}!pMu@z5Me_5UFxiPYKqFL4_`WXmY zeWJrZUKzrrMuBcHupOq4Wr12sE*T-*CXh;FA=)Q+BMN(?DJ!kq?%Ww`xlG3e;lz2t zY?tl;i?gHO_79VwJ_cThq^>FqRUPlqS?IuI+CfSbNkv_1l~7eGaCwRmuOF|ic1ac2 z9ldo$TN~LhX~J01P75nyi&d8=Y@QNZ5e<=6v_R3rM}nN}5ae`^LV&sAD<=;*z=!~` zvJ0@i!orMuT*5kyXNzJnxfU!+#FTW(syy@yj7XX8#zD_9TWBSg(;KZ25VO;is;-&R zf(29n3U}agkC`j4sjX{=`D1EkCC@enOA~v{GOLYQKAdPN6+?W+QE4fLMhrW4RG<SI z@?qI-KY>bH5^K(rm4T}`=ra<6GP2}cRBE9K8^r(O+ZvKpJDL~qNguPmwQZp-8m7V@ zN^KFU8@Q*E7UJswZD=OYtct4KqA&NDKSOfc-#M>@o#)4;YLqtENdFS^3K9&dFBr|M z*loqE3X2sMmi8hv#7H5<kgna*Z>rqGc_y=ShEbHT^m7S`?4d%B+(-6dYGI-*t5E+< z^P3gqvBIHjFQNKiDKj-p;Y*MmMAXOK^8{gVhrBn?Un}%9(JqaGPiann?Ll$aX-{n1 z!AnT<v!xN*zo+dH+)yR$d)}fNUUOcJ)Xz$%vH5mur0%L;@p((;IW$raH52Q@7``Z{ z?rO>WyjwZ7y=hrziEYVZVX)-}D^!8a+Bc<5#*3h1xvWqS7I$WL>iwNNvp;P<;TX`| zOF6ZibFB4T(YJC~mj~?Ev*ln|9sgYVFTcLiEi{YE;!ZWj>X*aK9|va;HulW-D`RH9 zw=O#R&of(j+rwMS%oCi;+oFskQ}@q2q4x)O3<fKs&%WtzzFD};-G{Hxx)V?F$WHWF z7(*i07&g=2&}`P4G>k5e6yDx`kLvQs@M`+D)vGA+`X6%Dl9YOA?Qrurfg>XqT9E@^ zgWxOT&hX+yo>7=HCb!3BO$p54I3{j@qbN!+nu>Ti*O~vw`5RU!f_JXS+*x#-zFp@m zr}GGVhgT1=p-TFp#dtAVjM3QdpDoi{l*z?1s=d~(E;Fkn=*i8+oB<M)E&5W?I^M)M zknOw+hdKDcP%Q}tuai)WoEa!7&-Iumsf3KA>cJ3Ib?Vh+rZWNZ$pO`dl8LcBv_cAA zc18lYB|rc<0u%wEdTGEup|%_S`L>@ui4LTkvnNApm<q=y*er!iCv8V>#>+b4WIF<} z^J}=w7L&$J%unXCb|Wy{z3WVlMDNhz3o7S-3)6oqjx)7WX0HTEH<C-Do)>{-=9>q+ zXXtoVPHKfVJMk8bt&h;MII}u~0l79^#`5CdW6Ef!eb|E&Q{UJ$n$yP;^Jd)qhw~ej zB?c~nN*%0zm%$}MD%|<q*x?^2$-sGY)_qDIsjoQeKH{k^*%_~Mm`JG>VZuS8W+Qtf zS+Uu?;oSPL<h#s;p3UgxZ3c;@9(LZhh9?&RH`z;Ufi?^GL|RbrQ|i$u#k>L}G`jMH zn3`(J{6K%B(Gykos(!d}z)Wr!%sjC6=V@s)qG1MJN~uoVlq{jeI#XKPMI;@L^`RBZ z<X%K$e<C_&9&p~HQ%fuI$-p5?U{jDsR}QoVqzzw}E77mP5v&U`27f1F&0F8zlxE2) ze=M@fh-;2;q_!ewec2frY%fKQkh6Y#Ck=~JBu;z6vOFXzd7O1mkt`yaC)8Gn>0Fhm zEI{|uQr0z1gk4W{mj*%4Z*00DBL5ko{4X}2{Dl0wAi#aSmq_r~FBHL|;}P&0k>OU! zhx64h5vSKwffV0W4JQs2dFBrfQx(B{AK=BGc`U!}S&BFnE6QSvw?`~m^}8j(4$IzQ z_WzjR?fD!VI8Aa=N;O96$f<JeDN}@@k24)dnpa7nV{o~|y480HWd%qi09M-w5HA7H z5t)dJA9OeU2(Ddz+nofIxgaM#sfN{v)}n+p872aEFyGb(<(TUTpJ(1Bv9RRP<lWbe zn*X9W;yA^EqlAv1#u2Gg|1wrNw~{@z1W#o_GFNuVYLs|BsZ*hkg_h`Il0YDiCHm+W zmS~Y0wwCC%sMd>IWzW@IV2KtfOm4MwFVU~FM5pwL+-yY-+$4mvEEjvjP+5JUm8n(w zTE>U0(q9W!VAi2soP~_07HUw%Pt_tTYxD^79a6Fw-(PjP4xwLxv3Ycv!%RV}m`xvC zX`nx*(H@IF+EJ)392Ul)-t@Oj>L>VGb7%C~V}eWde6yYkCcYR2>L5_BFiz*D#3I_* zY)|v0XvW#xv=Y0=d;t!!=&NUW2H8t2>2H>>rUwQga=@Hd8s$Z+x+rNk0%K7J*cGvn za#2GFTwHgcx}(hY&AoeJJ>OtvvdouZfGLkWz?5@JX6KrhfDJ0`xz(qU+f2hY)2ykx zl5dMrs#`m^OO;aljpVNpXHI7j?NBazjFr-P<5NZ{lysyym6ILI!i}auR#r=s8-sHH zo|F}x&aDr!mLdRfA3dBON<#lrL!uSm7=o9syd*hDuX`F0HkX``(5Ixonj|KOyUg3^ zQc-Q1zi|oXoEJ7t`z@l)r8HbVnV=3@R147(4T%Z?MF>|u+vhb+dmd}f?PMV8SW8Om zNGeF;<~ukE61hiT7Fejt`7XmU^|R{ev+p#`i$*Qly)%e2TjDu=LV)p<*h6u5gyTBv zF2X}pxW+%<Fj!P}AZas9RZ`k$Jvv1owwn8%W?{}x!+bkqQCghlz9l!;d?w_cXMXg@ z&=}JPT7tF@L2ahnMB72@q!wG|Y3@>;eRIVAvq#45Tg=WlQSFR|)0f>5G`p(9xM7}| zFKtPEbWZkN=1qLjD*3c&W=C5QZ78nOyIt7^bEIKqkTQs5B8y0Tx?-c7F3RU`pPOs` z_?hl<U&@p~CMd0Mfz5AN1#S&Vwsi0NvWloHbK|_KEOMjJm}q8E=E&9JuvOv6IZ8ov zcoQ8$o#cQM?=kPAi}LePW480inT%^k+4bRRjjowT_3NF_?RV~cwfUrD02;pIjR9GK zQO@U%q%4cq2SOIu>A-(AYe*|k@#n%-mt4P66m+?M)nmWXqWP-^>As_PEzQPQQFQR8 z8-h3Q39C3Q91oVz2*#A-KL%2bY;8!cmJ9uHA`|<v{z~0`eQ`+GHZb5=o_|mCd#>C8 z$NX`>3!Xc-34zzMQ(s0p^HbkPL0@}t>MK)QkhQHnsYONA8Y3sjLq95yD8o_vXX;;L z>_rtUVz~Yrx{&>y!BX_$%=h%m(WLsmNbc^@hvIY`rx=`G3p{Y^ZC06YKwy@l-|)Hh zU=6u>PjJFvP!kJ(Tc+sbM_EIjrY|G=W}4NvvWB>k^nM4`K&TNt=8t0byviN1Lph6= zm_yLKL?eam;`vUGWXllNQpvgH+$3sPb_yL=Bg|EjmK*vv&mK-$JqW8%=|ASK>2#&P z_Hr|Y5Dkgu7#^X*C_?v-?p6bh!n7?WmSW!JeSwnSm}M7T5((zV1Sgd@d05#6N@`iq zIof-m%Wyrh&Os_zmvwFpf)UBIy{<8BeDtovo%NaL&_|tBV$bJ-C;E$apFPY)zG1$1 z&owMVml>CDJKAdL5zE6EYkt$pYmLfF?wDG0`I8N*#DQu4-A7E6KcN`U27=18Fz;s6 zgRIKZJ=&bE;>8osoUL9Ryh=TbC>SSDx$a_ae4Sb3Y{(ciQKVJ&x*C=an(TMl4xLH2 zXX$$5{C?<{&`X7#bw|C!?@WU>(wf=M60Egk4C)t`yyBd`(C=(qFld4VoFf6R4+pHN zK8Ll6cJ>?zJRuIOK|)?8A%{uGgm6egv3W?S%i_2=V{%GzdHk`#X)(c}lhxAXtow#+ zFHp)}cHUdTEBD@=-@HTIVx!PQ#~t7^T8*<#^hS~|xc9~6%di^At;m{`IHO;U1JyJ& z?$6LV#Y%45gWjnIu3a5-`VNydN5;meS;L)mKjUK-hMMbbbJA&Cbq9~|S=gw!q$wS} z<Z(t^y7;u%;xGk;LG3lcOw_zt$NHvB?!ZTuJIo+vtIY)W*7UDg7nZYhgoJ`|`U@?# zf&SRW>>!$M`UNJWuIMmgl*gmkLk_ZS(?`c%lMZ(&XFK8NP#)0^vSl6vFEG>}Yt=qY z>WCarV-#iQR(@uObO3d9Zj~Ae<}6f(n;Hky?Oz`=r|lj-I0#^gmZN5;ee)19uN-uf zbLW7xnioz$Qqpv@afoy00q1WU<dahvrqv*^Tb#kb-RY_O47=@EAgz1AjGqJEU%$BD z#{P{%{LcENgC^i$Gs0h&&6#v8aM9Ug50ykMQMk~#qpD^cswS=IIHD-)jLMD@Eu?Zl zXzx^j#tYp#^O##HK)x^gH2Y8oBzw6P^DLtqvNE>|&pEgH8343To6masFPXZZ+i2fw zw(TOJh6NWV1zH#tgBTU7eP2E-U^0`E%lVvRweM3##v6R|Hc)r2ZWu6UP8uu_SKF^7 z5Ei+b&tX|(bW>KeN_C)b7q?VhC2@*pFT<#gaK20zQb%f_ppm8Xf&=AdHBgp?2g=0N zzUt06{THYVS>0fh!O|&%MP5GTWr9DpB_rmtxWJV%cw()<Th-`+9pNw^epR)x<&H5y zNn}p<5E>yvDADh1(g)ek#K;gD6diD^_G>B>y~3*2ri=>?y@k#|fr6r^y=jEkKl3E7 z4M}aqf+KgXac<4$1&vT`xA250AV##H0=5ek@I!)vK3Iwme$0oDmHS)WNy*wIdYTYj zZRu7LFxIS58JMfP!&x-K4>+HK()5vW=nSz9Me#w3T`4{giqU44ixK<NS-`KgQcF~+ z$)Xx~#$%3oPu5N7C1^%ShRb#_>rd!tunBaOeaO;`@Gg0VSi}FyYeUlc*jfuoTFFEd zOR8Z4RTBHrnM_v=qLS_KTIyGvYt1|?i!+C4y??`sV=b9MS0Ju6Q)C6T`W3;Z%o85d ziENh~l0#_RtCgzGELP8JHB9M!#^AHfT3W1T^h?P+q1$V+gEe9y%{FPzuSsRs@Ay-r z&&$%MWa*cg*GZ8R;SHL@d5gHczoSYe+a|;+l&uAZooROH4pP=g`GeNXPLfFzb`#S1 z2_-JE19Kg4B`^wb`OGw9drEbu!t~n%qeIJiU}$Ld55)5#)skz}?aZlPlQ8z#UJ#-| zYO^vmzd2P;V*j5ETWQQ}A;NIjCB|%xCEmF;jXrG6JdLv!xSAK@X@Sdl!B-26nk^;Q zowGGGn&>N2cRRN_tq77S`L(hZ^0u`V19Af$;OpSM*@-NJvG_<B4C7r?o87^iy*8Wb zMrpq6c67@_sMBrzt2>@@hy5J^v<IIiJ1y|!Q!YK$isdqQoTPDML_TG>d5CVZ8v5tF zwQ7lkRx1I6-#=R@`m)Md`q#Na+?08k)vz7fn~b?P7;2Kt8t}>IiMVUrKGxYujGZWb zLanz`MzcgG7IDuLahiX|7e$b)I}hh9p%{<(HOiH54&kp~Ytv~>ArTCn#S8~^$oQ)X zh^?`%yGTMs6NUtL_ntBL;MAmDP#8v#36b}%i_U$y`ln#i)B;*>S*Pvjco$ClL? z%=q~elnuXpj0WVh4c6?B5^b?x@W;C;BYJ#|yQV(-^BV8xS@qdyP_7}XGtF%KKWAjn zLectNCDB|O$s?N`pgU^fn(!runKLO{ZL*IDdN#goZ=z)9FDy|a4b+7tIf&rq{hz40 z&UP~#62@?Yv#|LPJJk&HQ3e)?F*x^tH_b5TT8Z=h%QKll3XntrekU{W1ucz%R_!vl zu6JTwtI@B2wku%k4*@aLHLf+aS<jd)!%M#cTQ)o{<ty6y;vrvlB!}@s{CO0_`ltZs z3fJ>dHs*_rgZ{Wh2W%`KXEPa`u}qU^8Nd`Gtzm`f-1-zBi0iySJ$H?3COIw5Sts}8 z<+Vm%m)h*yTBpLCW?Q^x1F!Vd+Cd-yYm=~2?%cW>C+BZ7&rJ<xIqNRtBg?sU36IuH zGk8uOY8JK)$4P80(iq7HrP*8qcI&NRs5o4XL)iMFv+i5c$~Hy3oMB$wp_-Th?yNKL zAangr28eU(Pbpw+wfW(1ey17vQuDUsxUj8DIfV^QQ0G0jGyEy5^P3)CLis=cawvai z-5gx4GVHJ%DF#_>{WkI2`jH<!Izhz8W}oAaF^s~#^M*_X2XtOm#D*kvo)l8G*-}>+ z<t5PsS#I^dD)cT0YpM^@RaIwOUV(>b9w~ZgNut<T7H`U!4Nfz|w82YY^r-kX#J6>( zRG;4bHiKMr_Jpiv$aIiF9yPwvac%awnv<K8gmQS^5Q443>2~cp8C&!2=C}j(2#tMi zjAaHm5bPpSUwa%RYp-#*{ngfz;(tXArj2S*S=&8{L(57D#>Sy>ye}&aBu|6{WXYoR zJy=+9jhe&f&&Pd^I=}K3&D!?hXM~&KKNL|-rI@I}J}9IBm%CT4Pr(h2lA`RU!W}#z zTt1O71J@X3uEEEm16dpYC#BMwiUd{3p3PQWl4fnzvSl_Q9@M}hNeE;-!hE}nWGGc1 zPd%s4GDneKLvjGcS1HB`9XaviNE~IJ5)rQKQ@w;(FbQa{p*Dyv{NvkHXAi;5a-v(C z`r^gH3Wfzd%G^(xROzgOnu~kNc%v|Y{{$u`D4$wu6mDT|WDAsPz{x$PmVRmi?cZF+ z-U3yHJ4XL3ya%Jx{3B1Os@RU`W_KkhwTO`EP<`_mS~KR8U+7dTIE{Ja&Tt#Gon$nl zE(dWJp-%nLFGR6dIAy<_TXIXDnE(n>ay2-K8OIy5nAx_qmLyOgtQ6Fj%*-=qe@HKi z0nCq$syuW4!}7)5RiQ;?m+>J6id0FQbux>KbU4=#b?)3Fg%G{}A@pSk=NYO@J@Gx( z+{gD5$inzGt&2vIBM=9%&Ys$We)D#=;$X>?T(d~*H3&8|nSsg$L4-o()4BCDnT9d8 zE_0<UD}u4Lw;fd;UFHK1Sw-$AMSfUDn)r(v5hd^Sk`)Y2*Ymsk6l$eaD9LZJB+_ZC z?#wseq9VdWMx##Wq_ehmu!z%RL@#$oFo~*F_DyBDl?uh~G*>`&P_=OS)^ylwt2<5* zvwCk}v{^^0RD(Mo4Ce-R%T811{Z?J%>mVhkZSqsZUab`AH#ms$5NI#mLjx`}s<cDr zd(bT?x#j~c4Ean`t;tA{$e7DliznxUyYchy8+U-d7c;x*N+iTJseQy>ob@d<%w|L( zocFxQ+iwIN$`Lbg(^wA>sk1CDaCHq1dn;88aoAtv)vqavty0V_rw}n1A$&%RTW^fp zY)}2T(vF=bG5SC~B*4=@Q8ksK&3H(1Umvsi=+-mqUO_!8b(bJ>RT_kck`^w4=oz2- zwmQq2dD6<s{fq(TOjQ^`MAUW8j=)Q)pKZQtBiUBnNhi3h<-*+j`^bGNgVvX9{sEGR zNO&hvNz2S>)<X=Yal0`ZAdBD?=G#SKJjZ;G*RVweNW@0_IHN=HbIvdd$%?KtCDDXl zS-puTv{HE}Vwupja?ML6W68l~ZcsT0fl8=k*}`^H<U@)jw_TZWQdA3@6ACGl0(xdK zv6O82hzlWrpNr9j5G_^2VwJ3Rizru3uw+-GLsw+ulN!^ZTID%+Zm>hOs(rtPvK;BG z{Y=ms-NO?H{RW<b%v>f<@R!l@1ap~PGv8k0k3-q__{PCC@7C5Fh^ikPxV*RPmYM_6 z0kfvSzBw?k$ERj&%~qlI8?ow$vto~Q!31rW=wT=8P}xDGS$oy?u<(xFOYiHeWgsP# zT)aFG=O0)ID^^KfcN36{h|5_lk9ol<i^Xs#!VJ1=)5TyRo4{4=Mm$HcD9|-JJ&<fh zkv<f^_enN#g)O(Tku&Sh7?;YX7>2Erhw1%VG`GJQ^J0PAl8jr?Yx*E!U4=K2it(Ud zQ6rhrtZtLI1dW*3;fTHQ-7(GY#w6b|7=sK8vsi6UF!k;QP1I`7T{{)D%r}j9f6JY_ z`axh=-H>^}`P?qy;<rl2GrJD5de^xKlln23Oy<F+EPK<&BrJD#Zc35s&LNx|Ji}&J zXm_K>er7j3=la1cXR(2P^}~G5U@)^Y9R^W~(Yf&ei6pNG>XS)n>Z@{y@SU?&+x_PP zwi4TIm{g4?h9h`GI^_u<CDQ?3teJ-(%{L@AWgch0dr;Ksu;h1GD-v@Vd?KD%8=f^m z;~-ZoK9U+x<NkT(4r1pAmLrJ72_nawwuDKdgr0<*Fp4!2$;P1$QjoiH>ccL{tvDS( zC7i=<#ERSNqK5joFl%3Dof%|KBvEU5qQ@ea%d`kN0xVuIHgfZRyPgfKsk;4%Cssd! zRZy@kcG~O{Xfb=dB)TDUpTCpV$~J|+y5e-hioLf6Tpsh<?=bFK?P5~WABz$q<20L1 zgK^Njk^zL6F8vdO>o_n_hSP(E;qsV|s#j?^8BAB(5Hf@{N#z(eFM>tMXu;~1uk&K# zE;Rzpm%)M=;(^<h1j!5clYZyCd5BydPFZnUI5nru$8oe_LALrZ21JRzsDzD_MOjK( zk00E|rj4;t{uou#?P7|O!p$-N?LHWDp|9zbIyggai<?WN4itPete-Y-G=orT;ji9@ zLZ=ymGJHhw=e8|l=poY$b}_LL$-0_PXX|5f%|!A;LiZHb1)@|=P1CS_a;kCA%$JSh zxHn`U3rtF09;IJZvp#yJae2*p+iYVjBMKEb-&RqNfxq_i50rAjaJMzrB+u3l!Dye9 ziMZoyHmr2-3XD;W@iY-=yLLglF9DNcS7U9=rn>O${@GT2SY*Q<WH6{6fu7s|*TK2< zT3P#Nn0GR%^BYE+f1!axn_2WK8jB`q6;Wudt(Y3NX71&$7WkD1)-24lgPvS-^RHD$ z_24>}7pOi8US|%YNHQuI9Dx}gPKACg9BY2xSRbtn$9iuY9oSBsmKgV3c(wEn=%-nK zD|%o2NhvE{vveJc2sn-K3I^M)_Ob0-oNJyT-AUD_7&*4H{_58PGyIvmsB7>#GLE9O zM_%Yt+6~?L-bud7E~=~mV~m!R6?=_4{MCo0O}Rex{k}23X2mR8`5ssCbIoY$sMFI9 zV=R9en4=k(1bGJ`JxbOSr0X_SY1>&{IxnuM;$(R1rZhlZsNjrRzXB)?&li~var z?B}%klDLWDf^4)nO#Q>nX4L#{frSueKHj{6e&Bw?L>`d{`ZHFsWS3ZmQoc`R>p!Zt z)MWNo*@Q0+(@KUAHQ#)n2!1ZmKjktmg>5tXOlEwvo@l;@bE{CFH1qfBRZ%~VD0^FK zYxkW_5R7B$+uR~XI@m1DA|0`t2h;L9#E9HeM)1wN?ybHta2K0&yD%+>v34#tOPGE6 z`4T2CtnhJRUgKcr&fU(Poo6zxgN->hy>T#X%%RSme-YWd)|AY6<Q>vM0lNYNQ&yn% zUR-P#5K5nU)Yx-dWQHOQ5Jo1y$g%9Mk}!8IeeMr47nESfX>;2=StXRpPm!JqVOg!O zss1JtXWbeChf1w%MT>HGxYweE6iHzp10k|K23P|lvUm(HB!wrCOfHOAC+sN2t35LB zOh)u5<f*#!IgOW4DXvp=1(w6XCDf~{2e47@U+w>B9syRTR=6tT`Fqj2nANt5guo2m zFRo1DZ{oTuaTy*M?|e>p@X=?|N4fNYq|h*m3`rtjb3S)K(tr~W*Ak!p*pjtM&|QE` z1g;w|3YQ_Trwmq5RfH^6ge+BrELDUoRfH^6gsiVr1gXj)W9({XO@BJWxitVf8QE40 zLOB<V*u~}OEb%~M+|m&GzUoKm-f$<4BQ9%Yue(_y!71{a^buyY_Xq#|XDDPs%>2Ws z#?1K7`D%?yj@5<1AMJ1LLKc%*@PGU7yMNKNXMh&qIPd`w1JXJYm<B8WRsu!9-9SC? zFz__+B5(jW4s-yHF5&^nKrT=M+zs3V+z<Q!*a;j0jsd5DGl2bbjG6(Xfr&seun_n< zPy*Z!JPqsx{seRYgCIwZ1g-=!fTchQPzP)SegOOo_$_c4I0bY7age!&1CxR40S|CH zPzG!S?gbtLegW(T4g>E39l%IX`-wm@a3j$7_kLoU_KWm1ZQ4y~+M(s#*}g5UJIHUI zPSYM7*7F_qSY1$D>MeBZ<?cJYy4$<HSa+`~FZ8-sSC+4FS5%g-@>W$%;b7krZdIkX zK=(%axhGU<{MY7`8>NNrvT{ksyGmSfD<~6()x~9nZqEk2sJu*h8hXL)rCx%Nv^H*R zh4Ps~G%44(vEA{?E4*bY)KyihDvK-hDHR(epUO-M>aj|vX=}79ZIxE8Rcc=TP0<Rq zQvT7GTA603_bVh>ZDN^GT57!tV<JYH(52a8w3uj@Ju@@2pZumLX&x2Wo$Og2>(H)C zO3L#<8gjb@-_RT@i&pZ}wDlG1`8fyy(bwVN;ozTqYEO+#*R)Fkeo@gjd%u`iNB_71 z@dF1rU4t(gk}&k*OA?0-A2D*&=rQiGmyR1h;j+soUUB85$yZIeI_a8gr%szb<GSRO znW?j8U;nkV^c&`6WX_$JHUGw&7Gy76<XOBVXDJptm*;=|=37?WdfUo^+gBBOSKm=o zTykgWnzHhWyDF=6W9_>28}9zb#_CO*6`47+OuE!lUR<VoD=E`WTBf!{Tgcx9+EndY zS}cRN1**Im-riy7mR8NJ^m;X(IbJ=tpwv+B^CI5UOH0dFN#shSOfO#Jb$cr-%PZZQ zHjvI;x?oXGj^!esTF(51^CCXAj78b$^B4BGESZrsb=ttV^fGrrMMY`xssg>3AyZUP z<z7?3uq?n`*S%{hbQ!Xx<pm7gBCmUnJDhiE@$Hobl^fi})VZ?KyGk$JFeT1Y>Mf}9 zGO)|^f>p#MMnvkDSGlW<ii+||e7pr~+^Z@4n(|67Y4Ey6m0*f0Jmr`2O&u6_l{>ws z7zSx)=geOaF>~~y;wpDRRh4(m?WG&sg+^s@*&XgOl3FXppd!U(#d>i;Y4P1E`M9ML zo;e~F_7c;5yKx8K?hWNeWn@{WxaaF`g03mA(%q%ScX~-(s#EE$GD>xK`D*v7g3?mS zjFyrzUA3xwO@*4`6R%!XT6u+gwNbW8wW*rn1wDl-tI{itRXUaDzw*o|EzK?{E>m@v zdS5H`R@1wz+_<C2T~$%Aij{)k41fZrb3}thw%0X%+N-<nUaRw#EVbHOFQU-pWvjeX zzIuB|K2o+M$zu*FN%?v*C=B^un=JlDnOb!iIXxlVMc#r6tF)wZ?R8&L$92UK5mmqS z#G7%!cvX7gm&BVc@hS{P+uGtv-6$yS=^*Jzm4TFtIdOruzpcDXmhGz<II?=Hg|)j} z*Q7|io_eeGlzC89PInc0*A}nx_Jj?!k#~Is^M*}9TBc`as&>9cwU0rLp)hM0cEx%T zdqSa%f;;<$zi_*RA{7?s1r%YR)#VY>Qce0w?_GwsN(v*Rd`W15p#xdT))X_L7<AI# zGTe<aqe>cZUBTaR%G35qstwOO?!9I7T6x(TZ<$UVB&=$~^M);`yu*-yRjR=yteQ`& zS;TaiuobdCcdtZ}ge-4fHG(xQyLeS)c~$vp-JM&kYB^`pr0(`uU@dwqPg)%FVak*# z+AQ|&J1SYt$_iMKjj}t-%GZ@$PalSwFjLm(v2k&1q7rPTTO#x0<g^R2zWR;gT^RfF zdm!SyiFdUb;*JiC?svpDyWh7(yu<A4cIU1@_xpDu-eYQN?y0G*VMDgvQ*+OjnuLD+ z*patx-AaLyl4?9P^_oMQczLoXuZI1WP1)nACwuqAn)(`IX>7|yMMVxr?D~p|brlu8 z_G7&NzyG<lzW*kIA6ftU`ke1O3ry+D{?%z;{MS2tt=97|O8aX6B2(C+_56#5xcycB zh2y*bzwdwT3;pj#!{h(q5fD||{SSfXuk;J|pggxk_56#D`fC5e@y|D=|6^`{Z3akA z3H%G^C|^DAE)ntm5B&Ou|7x}E3FXpy-mSN&D47H`wOf33TkrX1eM6)F-llKex9!{a zf9Jd3d*J&IKJ@TEJo1k}_~E15AKUTx6Hor=sUQE3pFI83pZ(J_KmWxqfA#Fn=bnGz z*S~r3rQiN;SM%;Ydw<{3x^Mr1mk<8o&?|?Jyn6JtKfeCPu{Ym(`}jZq>75fN-+k}Y zzx?@qv+Z94r~mDP58FTb_m4Y1Idiu2)4zPy#pTGq`9O5x1J74F5dCM@|35qbzq$SY z+JW@K{^~&bpI!f~teI=p%&Zd9gjUFJvOAlfTV6Ks)3UR#E-bv77k-{>O-lzj6LXGJ zM`vwe`P%OHMVywzImcVUk<<#1Zrov1>6&(<QL56o5nNf)O0TFa7MetMLFK9<o^!po zR~j5t#qY*~GWAM6lD<Z|lBPylk`7QtybY3u#Fw}dN6RVDjmkniB)!UF^|rLgsH_UP z<#`LsyrGY!pwZ%-U0$YqbBxflK$o~0@if9~gp)8D{u+n;5RD~|qiOlN99<oH#C=(n zw{p?#C7cuH_Z*Ui;(_0Sf+{_oGv-=I4i!d)a<jgzWVCE(N(Fa#Zzx}%t}V;STr&0A zDH#hOKaeL`QvwP?c_<b&wAzO%Q*#=CcAz<E6&i;&qN!*xX*hm!7A;(~Z0UGy3TIyV z4%3sS+^&+reNCZqzlFRuaH?3dq`X`*;Fo1R{+IsNT$HXIhC^v1_TlT;X^TN)A3A?h zkaeNtX&N+m^$dT%0qstH;qQHY{9hc`+y7vM|Bol6X)git3&+1V!hhEEG%XE?^zWPh zdoz3cAC8DG@qV7#+dndY@lTy?`OAAO@8NRv&1cv3R=5lKfBdxz`;SUb(^3HWT`2xl z^LqRDE$3%9_V({vzB?Cwx&Kc+J#~9A;{8~k_9|b}6Yd)k?|t)|p5Hsa$aLQRdYbkj zAir>ZBmJ+sIZe9;i1gppryTXS_V$nL*F@;USBGfC;q?2K?~0NO$CrF(miG4V8~^$Z zz5OHem-q{7zuf=oExrBw_UHKT_4e<Z{!8Ega{r~<d;9k-|I1JG_U}6{zx^Z2U*q?O zCwuz5Z#fqHtamzn{fl<@_U~KI0SD5wrJs^X=r>3MojVc!>izt0p32|GQ&|!<&s*lL zgt#=vqLj_iD@!xiLc4)ag`Y0mhdDx04|5>O?0E&n`rPu$94I-ZUTbI6zNgJmypm8b zw#R?6K}3&8G^?PjuoMj96G=6@ywE81&V^XJ5Sk64-_kOLVn3%6QZdB99CllX;qZc@ z7kCTSdcWZQm!4Ftg!43Ql0B!?3odbKG&x8?(hCbA7K8uvi;85TR7l)8<!jbZq6Nie zWZy1jwbFsHBXz%C(#X*ZEk}505=Y9rbVG$#n`QYHK*g*Oq##}U9hg(8msadkf$Qu` z!_>R(7W^M7e*=<zSs3Zivh2&sic|{~X0Bfal11&wPBAgY*eTrwy<d->UzOp7hJJ^) z(nEEn>)w|f1UFHnFHL(gIt%)yVs2=UsdtN!af>R6N2;LxK6<|NfDkslh4af`eF+6m z)0!jQ!9K$7ITAO0jz`lHq%{_0X3P5tN(1MlxKNE5FdyxD`_j@X0$BW%S@IR)qI^x> zyE!eh<x3T@LwX~k^goMeuceCoIv?ET`}REAT8$y?O!NZihau7+qv_X_ImC15+au{^ zg*g?)WmY%e6eSsE_E0u+bm3l9rE9w+&o6pt3oZ~NPph-%6&HHv6cto1EzcH8@eLbv zueSUA=`dO!SN&kk8ci#(=UOyz)dKmp#fG<XgU4H`xH7N_RC$>_CDPVQi&xzl8mB*r zXq(Ugqj7T7_*7`$Qn*y<Rchq&raf$1qL(f!TL+S>{aBS?iP!3mTf-#?^-i5iIkYIy zvkydkGkwAIZ-|;(YE%_T+BX=hS9>d&X@8DhFekg9!fHo)VvMc3EtZyt8%Q%FL(vv# z)_jt-m-$7!IlWy7(<b>ZP|O!=%4zS*IFa1D*?m7zHOeWzo6==yb4tsryrBtvuQggi z>ruM)a71ku8G41G%jkWeSExKKMrK~bDzG86%1Nf!ErdI}rlO$I+g;n--Y%5-n3OSM z9OV{N77Jr0UArlB$->M9oCgX^IV_dgmcUk!bT#ddR-D2`tF7<Lq%A_7EAtph04cpH zgwBAy-GGlqoBj9i|LzvpB?|HQ$<v}xh05y+JtH0nS_#&3!JqgG{P*v_Ti~m<z`{SL z{pRPxewXpD<I>dFDt#B-`T)nMV2ubY{4f4woL&rs$D}RvZs(Z@^aBP0$f0Qcfmk3O zaD<-XCf`y7@e`h0*iX`xxbj3Rhsr~yi?|I2E((F<Jr)r6>41EvhrZ{8zFFW^oFyUm zoY0eHTBV=QQ}SjxR_Uza=>}MEkw-%21CX*xJ)}G}fRwp5^xVQz{C$A<*8x%<xd3<t z@Pp9zcAiqc#{tRjM}UNT4v;z>0>u9fK>QPF6ltGuoAKJcHblus#4r3Eeullm-+iBb z{ri6ZweT1652y2A@9DbW&#J5Yg1`S7ZE<0ygjK%_6UF~))L&|G!66XZ$uBqr-2Zjj zfSUY2J`{?Ef`>)h9gnkNt=zI<%h*uoJo%3Gvi%9`S^L8iUGkQ;sYX4YB7F0Xw|2NK z?=SqVMfO#GX`$z{Uom`oDEv;szw+3r$A)YF@|gM9%~oO&f4kG)v|Ysz-BF9*y7eu$ zcH3JeZ(SP^(t52udhAappr>84$%<L}Zx-!tPAFt}4gW&KztLga@bq3O{H@<o&c0<8 zd)47zQ6Nog|1eFf_$W=QADON_Nd6LDp3>KX=g3d?)=o1`;TQ*b%AWlwPua^IJY^Ce ze?Lv_#ZU7T9HXA+5T3X26r5%}&tW{f{+y-_=ed{X2%h)y6kMT@=V+c8Jjd`n@h@qb zo99zJ$MSsURGP91=Hj`YZ;j^$9_{a?X?OEH!BYm?ah^e*2YDWXzWY^x;iK><NmuF= zT9h<tpA!21!H?6l?*iL^dx3hO4yXav0~J6Ka0}o8vVd7YGB6ED0wx0!f$@MF7zrc- z34jZT2kb!Sztbmx2}t-8JdXi~fxW<sz%#((z@xw;z&2nbPyzI}_w>2+=@jadL7(4y z#b1Zbp`VPADB?+6d4_+|PVRo+k#0QiPsT~)ucpF^-~N%s&+_Cfjr9Hxzk4$Nw)lss zmkZ@sGN!|sN4^W6LqL8q7E^(*12QhY4?GLJ27C+*reTtRg@9a?3CEd<Up}x7cmVhn sa1{7=KrVY;4P*nQ!2j#Nzb3L0-REZu{lfJw?Z8eMa0{>$=sSM?C)~1m4*&oF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli-64.exe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli-64.exe deleted file mode 100644 index 675e6bf3743f3d3011c238657e7128ee9960ef7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74752 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 &sjKl@1{;unAiW2w^OujNoW z+s1GGSx<J&+NxO_wZOh=MOmE@ZP49QvUKMZkCAB3K%I|@I?-k|+Emw|J{xyq05F-y zq7$V8l2oRcow-7Yh^cOL;xdHl)f~cwpX#{~ZSyaWVW!KqqDW)=HMWc2eUv6Y*DyJJ zd<PmpV>@Y{fyvVRn1*ukl8i(qo?7gm{xW32isz5Se(%>1j-a2k4wb|wT)GbP)~3cw z?6fpLj~Sq`9YkM)yDZB*We>-k{xAm5y?nH0Ho2{x^Hypsn|E~r0<*<Uahmy+U5m}= zGCmb!!{0-iAbH9V4jiJiWkbU(=Y8Ht#jK`Y2}?gSAwHl{38mHoTDRHs^TO;c0K(t; zJur}@Zp6KBL8hecMc8IO7nuZRlY>jx=2YhD6NHvl9yo4U5tiyIlU>#Dq@mTY2oce0 zScIx+t*YHbRIT2s&bjqw$p*oU67G{!71sDN2sxTN5)0-<Vw&&T>oL1Aw=ob$3lFj* ztVs)OQ=VuDG#Tgc$T*v=MF_RTL4A^~749wE!fzjIvze_{!i$bjkvG#thW==gNvR?q zqN9=c9sWvw6oprI%*YEWbx$CY=-}BgsJF|~&ojGDfwn3zlecP(M_rM)Yu~wcoB82L zZNc91uwxJ?*>iE0-InZ+zyt&|243NM1(`ag6+L8(rCNqjEnXsf)~Gdhxy%nxd<%-_ zG<2v%HTr0NH-P%#9@h8)$xbV9#5j)t>pPHUVJX`#82c>$e2P5Fi^z73?Zb3>4H-a4 zyZAo{B_wtgf!oXxBcR1yzjoPeO~Gr4i!#^3fZeu!5V{O<&s;;BtE4N?q(qtks-WJO zD~v3>0nlkN*NA*{4_W;X4Io~{Mogf@=VYQSm6*9^7%EIIDcl0W%13KjY>-_uHx_7S zBM3Ta*CEci_MQineL{VRdq*QvNnCS;!G7c3CFAYj=nW|}g_(0Bp(?@#*~8{BOV7sd zDcx0Cx7X;?l5q+PV%P#V+gK1b6L#Y@;%u9I)LB}a`E+cYYNlR9TO8fRcYr1|=D8ki zBiH!EGQ4k>xDX4mXDLK0EpVV}G7x2RQ+WU4iC8DJH7~s={+*}g@6kFx*BXyG1VJP& zk4O6F@~-nB`>b1#rzEqq_{;*!TY-&T3J_Vpd32D*-d(1cjk$bl@7z}+_r*QACEP&D zVFxw8wdzuUVu0Idf!4+O%DVgW6fJ*iFL*i=X9BYTeFhw6BWnKWO#uf<A%qV=u}o3c zRpkjdrpb(P0%2Wu#uU7F_=8fI=C=Y|;*J>j;l&UybT5BxG@`(Cv-v9sK`sc!KoDR) z67}ijJN2A5PZ=2nO;9zBVYAC!b*-{`Z+NXe^)IaaZ4aV@RcC9R2h0yL^*)jOMlF^L z;kuNyhRwFi!;OhPMzMU!#EV1kKX2Z=l`FMaf1;|ewZ-_h6!2u#_t&h(u+?gGG$|v4 zHp+zm;o76Nvuw8N0?Hq|1`@?JxhMxg>6-ocYeRWFIR4u4*JbQaJ`RvWfLCeik3W>a zk1T?~etHvy@Z|K;PCs47?)I7-zb!EfMA;h!J^hcc1Etvwx*tQ>u`yF0zXD5Ky|cd( z{fLlbZ3N_cCQ^(~lR075)TG6n=-@`+HY03uch$J?TI-bfw>;v2tg<_7eq)su?g_88 zNnF;J*6q=^gv|!G5@o0}RXt%pRsE9a$MydHx{-RlOKar0BA0%9D(ZTf<J#2gjGi39 zRMbT>#|5d^vE5aSOvMb88FJ;TQa6RBDfP#(RV&<!vCge3>1fQ<voKoq{n6{>Vf4>e zHMI8t#jeT2Ao(bv`ZIKiLhh=*sWGP#4Q@o)t1`u?Cy!7I+f(zogymtrMc5YA{HROq zusI`ak3LXkL3e3InX_|$#IXlFE;43MxT5JwHYitP({q{T)*Lh49jZgobClJp!)$BU zo+LyUZVj_7g1QsGhU6pWQYllhRv}>zkD+^~3H)*$Bbgb}+xSQ<;`f1gBW$Av`I&Dx z2crSD+_YWn2O`LmcO5N%w9$t&Xnp}X^Y{K2FlZ61txwY6v7?X$3-^|?qikzzmcLR9 z9MiKRfo}{Y64<CKYr)`biP!K;uZJUntwxSk{J4K5qKyy14N_tKok-wwnY4<MT4WN1 z_4Sd!hcfA9O8T=*qOiV7_KqDY8mMQBoiCQ!jf)T01ST630EIpZW9m>I#&Td&*J2qF z@)G(Q#-?r8cnF+(wfKYfq?__O)cV01?J&R5P~i~$PTG?FQe*<`E(kHnAuAkHCh49j zv-Q4HCK^~TjwGF0d;#q(iv}9Iw7}>3qzEuDHUfz%e^;dVQPET7kr#V6y^GJ1O|z5K z@-b?8hz1C*(E^=S5nw_e6=6G56|6$hMfa1OC*a<}hls*Jie9GWzpoWP?I&C;x{7ue z4C^ZOZaY7W!At@e)TQMgqFkb)@gi4uUE7eWa4*&6RO<)%AqM>~)Wx<YonW4o5f=5= z;GM7oKsPQT6cNCl^te&X5Nf0!#jHZ!MX2aHl=x6a3D88{pbTRyA2xz$><+)rww`o> zJrWbP>=VHYSyOTVh-4o>jF+`w;<lI@vI(}mOF)_hB(#yL=GHm4U`h!(1=rMR^J;!k z7A9Hwm=x_bc9;ae8q`3-P3QhFYb+gpuyo9Rgs~=+4&O^VQ}Eh|zo>M~ZV}s}Q7n`+ zG&RPDMJy0jI=n$ctPg^WYPMm8-O1k-g6C}7ed>^P%uQw8%8YIn+rwYAfad}1kc|FX zV`J{T&PK~JGLAH9jazaPx16@tH>-JA!1gM24+Cy~_#yxwn+_(hvVr;$8>q2*(!Fc3 znc%%1Z#J#Jd-TDqrWLVuu1EW#5jWp_A!Pxau4)n%il@8v;ewIWi)@}dDO+Fu2duNG z9yLwR?GQC&7+zE4$!MOQhiP#{xi900@{qmv8Y<S|pgHwtLouneiUS6~b1i^?sl4he zH{0CF>uFEmE8NS+f&FOMq5I4=Iml~YKA5&<J|VzCAUp!4aER?sqI^vd=^^FSv&z91 z-Oz*;+4LMLT41gskWZ>&5f2La2_um!c$45?Br(nf%0OEiAmB;b>LDvByYe@O3UNGn zod#vdJ2d7&`Y9mwTn!o!+ZafF&_omg>WA>urXil+l!bx|{Y7@Re@PZ;6$+q0ON#wk zLE#o2xP(X+!#_8*ljt6N1bW7wWB>yqS_FJ~eR@fxg=XXm`?M8<`eM16ywSLUmf5SY zxx7;AY@|(*@xhhxL4D`derPH4YL9g(i}z^Ej#Z&An4Ga$NEldp!t2s&?;<S9?N-FG zH(a<eT-T&G0?@*SCJp3k?zftvd-Zdo9r_rp@$+1Sha)^B6;=?=meI~=hfz<(&;u!R zu>(B282#MF-$QpncdwrWX1*xE1cfb#mJHv`n$^}TKeimt>>$O9V=L0p`Js>;A3_ZF zYL@rZ78&Ve+pOK9^l5FqiUB~1_Ykt7&b4l|k(lVC7a1NslEM%|tIrpTLz?@To5x62 zW)5mDgX+aLHE^ivOX3{`)CwkOPj=EJi2|r)2qZ|%tZbr<3~NuiWTJP;6t9s@nNy!S z8wAS^=y~YrV+iwglf`b|O@J?_h{M1bI=x~WJv=w#!Iz_BXzC`s{|2f23Xx^RB#~um z0UpVIKhyzpY9TeJk3_-qsP0nPm;!<=+@i+IGA!=^#8aQn=&Rt3q^im5y^IG-SQ~pc z#EuGl^1WwcXJ$_QD|9?|C3*trZgD+DF9?O|$3BK&-9e>p7hW;=D@Oo=uP0I%QYoog z>Kc^j?_}ZvO57_FyC~5YVI2emmK}((m|U9qH5fMb|61TwRSy3RWi8G$GLoNC1eB=? z|Ai>NpFc#;Sf=$R8XZpc{!}L5)k&`l@EXDP(-jGD9St3!(H)O9nVyhTQVlW*NU{#2 zaTbwd+;b9?#b2ZSe%w1$MrGl_|AeTOqyx^9h*^s@2(QMt7T3?g!3ZBJc$=HALV}8| zYz_+GX?Y7<NcsZyD``ETr7GCHRDrl@p!O#2#;#C=F=Y0{Y`l@GAQYcwPh2gMwhOH~ zqS(g7REm-Fj~nL`wp+2;;ZIGa;5PmrspnSgs_A`l>ixXb^I?z(#s8s5J|CuM-187f zke^M}#ax|7@u0bzlJ|swx2E(aDA<Z!S?^$tx?ZbrO+^3&kG+kDqp`M#Or=mKAEdQ2 z8CaVQp=w^Sme(CM-dsaceZR%&JVOc(7C+gADCLPJQK*kB{05<ua5!CT^GBOgOR$_} zU_1O<EPI4{8()ZpOz;@~J`_BB>ZEkmVX3Uulr@*Ks@+-tL0L1vsaEnRG^TY84`i(! zPFW@*!Sb%$EPDTU?7jJWK@ol(s~6vYc`7gQ8=gUxY@U*e>Pt~yLn{Y(zeNgIOeVBW z|3*xNxh_NTNX&IP9vbud@L-<7RORzuqC^)>gSvwT75EnP!ZR_l$sw!@TCgBiYeXjy zy`5V`ePlBseK}+u;#Z_AxD*Q!-p41d7epd-ROOgN^YgS=rH}Mgr_JqB_JF&TjS92- zi%Ro9>rkEZN=X#@Ji-!6-FxT=wEHow75c5+#g{3MKsy4$n3Kb%cSQni%ENy|4mSM+ zh0Wg}Y(D6;DN&LN&467W3jT^2P@u85!;ThfH>Q3)4fpbDwRV}UqWYdTW4vZgok_BR zem3Z48bbWPu+jr%{RDZ3*$&H_k7zd2six$2RJM!HKtIFmiXgkzSz1vF3dI%$@8iRc zeL@GmLogJ}yRQj@aV0Wa5M!Hi1D93bowy7mTiB4C7iJIm3cn2JTg4L>%|f?w+01Vv zfe)%KlijPnL<=0P%FzN{)tPEXiPL9HG6OcfFM1W|(#Ir+Xl#~$33~Q-XhHjgfQM2? zi)!tLk&#-OSoN|1n2Z}R9o}3JW()AF*23(g-qSrTmoD|^3f-X(D--9SMU3?mD&azj z{t8&*P7sJ@Hb5`F-*5u{f&7~<M9f@@Su7f}TpOWg>71TNGL%sfiH{veLS02y*qn00 zX5_CWLp{H80FW1Ro&Ym8uqaIjT|jP(IfTYEHr)>~FG&j76D`yIRG?+Ln;sA(kt@4) zW*!+7MSC!<Hpq1Z#!~QWSVx6r6pLelP|qprZqI{o_HOlA*k<y^K{i`$MV|E)bjKBb z5b7BGRph2QOIn8Ln3e}j?T1un{xsKSxKzuQ9A{2*TT47pBGkiBnW3z1OuCf~Tll9F zKx|OwJNr748I~i(qw4l9kBIfV#||x4<1jlKX6@|V;EDuolGr=J6+5hLybcs$UT*2m zx`PjWmg*1WIAYI1s!@pRKUAOE5hPG$r5a1<Ibm~&0NLI@c`2YMTu~~vk?b8bb2gfR z4H_*OL-<r+)GRvB=q~~J`{mrilm!4gegpt&|FkW3?H9YjP$5uX`7IvO;@pZD8j=Gf zvCb#41v79-nC&iQ3CxkXFh}AsE5zFIpgB^GzcT*95z8upQX}xLq4MWIe1!+k6pN{O zAAhx<%~tfZ*r@7?hAm$`O?D}FlM4GJL{Zh;Wpzx?3r6Ce_Fa~x)U87vT3-fu@Qi!6 z9YLNzi$0zd%3~rG4anGnj8L6o$25{O)TIj=%1a&5Ej6&cC$pe)K$hPl3-Aqf^tn{} zY$`oeD780|CL0=Qsm*@8kxD^tU8AdfAK?A5z9a$8kM%`mEr|=z7lD*x`m4belT@-} z&GHB7C!{j${T>%;4R!M8O7!zS)WxTTzC&G4N@&e$Q3Ky-Fo(X3?kkVBB1gQWZA$s# z0h+R5^E73{qwaQK!u&u<I#jk*tJtVjK;1m36-ke0<zh@5k2%rSY_?Sm>{X%<034`? zm1sQ{9TAw64kXh_@1_H*(t%&0S@WnJ>MI0bzus(i-Jv|T9PB}f)&NYiOI4z@qcXdu zE79FFnq4JIbfSovp+v`uz_t24W>>iq{aC!+qz^H>Zd0OUuQ0nRl;|H(ETK7xCBs;4 zZiZQBqdrMv<p{j1k5iR(A7?9X*s2Ho8hfQOl(OY-+|!j9fD(kwvV<EUjg5HbFzPuB z<&@gFsQ{hB)K}JhksW5Y*h&JODr;Vg8T616f&zB48+me(M~RYR9POm5)|AkQxu^&f zm-q%vol#d$Nqs_z@@i=pS@{}}k7i1!lr{0}pcr=*eHejC%L(4(Ky^h)7v4hjRv%53 zcv?IYr2rXem6R5&+3Zuz?ZFZZeq5%j?1&OSAIMfWU=VDH1qhm5cPfv1QO@l8$?{!h z*Ih~!FyrlBCHgNBxKD{bB?6WDon}|H68#SR!R#`W=ynmkM5%il6|Ff3Z^>(|)_I}g z{xD0JjTwO4_*%=~rtLYJ90kk}My_ZV7)fSXt)Zg+I(TR!Wjma|4U8g`U;;X@B)HeC z`$Aa*^09$4%vFWJR1*F8fw|6WnnV6bff~Q&oBEKyG<mHm1Yb%EQK7!csbRKE3_o85 zVF*(PEhy0?(0-^Ln|!)!UhL9jM(olwP7@1hq=71RZ5EotYN`>XC{>yC$f?dMO;J;F zq8M+gV-RWz>Y1g=8zo)IAs9bAaz$L9(h7u~C9DLhQsnWJ1~x8phdcKZY;IX`mZ-SO zQNkK9Jj>kb1~InTs`+teN#IC{a`llA7P7fyy204J0i;0HGknXKtw55dvYo26Qw?l= z$c4IfXf2R0j5*tRIKmp@(+bS4;^hw2(NgcwtZm8N<e5WNsBeI3t^6h^{;2)Fz-ve` zN$MdI>su2jP@)h~!7;X3NNRQzBu)SyMnAZe{KQaGKo+L}RBKN?ht%cgs__lCP^pSt z`~l!kgTK*}NT4lkCZvDXne3x(psX}0u@CzA7=oaFFoBa=1$J6d!L4}NC={YqBE;Y? z1bIzr^O_MHPgdp^s8aT32s<;MwOeH;3L9!at3jkbA{1zc0Kq)Zpla?G^*|)T#Itr6 zHVEj41-c9<N<E7y$EQAODV?JxaK1s~@&#zIiI#^ZY;i#}gq~3GEPuIDHxvC6gLwfV z&Rv~J6nK6z8*z3$mtOM4&LFnbuO<5<HbWO#d`XUBq~&`S`M=E1*ZraVPNe5xxkXol zuo1I&{_f*%!Qd<+2muj_-Ny&PvW={6eF%P?rxhsR&!GUS4iz@Qid3c>fv)BEYb*(M z6ogP>Bt$Ym+A82jT|=|o+NGJBGx+L2dPW!*GO7IpSJ%fyptzc!0^w0noc{uCh{<!z z_@e+nIYvCNCIL6W<k0Re>?5?@A+w{NAn0l7FoIei)SZXA`DKTwk=AP>5#r9!VYG4; zbc2@CE1AaRVnt#PX5(xux|3Rg46&Zk3W$}i&JX8;P?6NilL+vr6ak)TMa3tfQbq&` zA!I<mFbR1Fi=q$n9ENm~R=Oo$=wv}4VSO@w=j-|SU8sBTyV&?8(L{Fgv6{;l8nCUj z&}&Yz28<#%u^1Bx0bk-?1Xd8A_(GX-i7}|=A^Sx}Kllw~h^WNXNS;zC;xFuu|5iy{ zO7V9n(Mj|K%RPslV6-FY3C=o%o=cRdLQkxBnRwC)HCvEvP+7f0tXF&?c8rA`foAB- zfhde0kPlIkPx;QWfG9v6ocxs%%>ezLo?$pL0ON^YgO{VX=NUswm?5Sm7?KkI6{1U6 zXW}tDr^j<v(}Ep}>)P(bGLiC4!ble!p{BSa1|4KEONrlvBp?Tdp`-$8m=({dq4M#N zwwp2}Cd;BeT}8`d^b7EtuaCy>`T9Wo7ASRjvIciTNmZ5TBLnutNzz^b-I<9a6f(DG zBtA!g&{0W0<@7U)ezX$yA^JeUvP3iT@c(cTnUNP4=`cve<4dVp=VRRu7X4GmlZnNk zQt0ry_pFuJZ7hLb#av&?rd0dIN)Q=MRiEV@u^OB9b>)Z%#cyvVE5;!-6Jh&H3axOU z#c-22`XEta%$2|<NM+k&o>tloxop{_4BB5ky`=s@Sl_ZOwRw8qtdiJ+Ify92OK}!{ zCR0oqVj^L)sT^YVbG-{!H8Iam5rI{AssDB*8Wuy1xs0}zDA|xA@%c`zq9E+}ZoLh1 zN^zbN$rIcPE+O$a;Eu#EE<+8X4+Q^62|p^(@51)%6mtzlvg+6rbLAosjx!1Pfok=8 zfU7kXMKwPRIlK=}b@#byGjlbOCEjWYG%bySP)7U{ugOdRL-8uJ)WD(T%Qf>dOJ9KB zQ~I6Q{MzjL9D2AhnOHx|`{X}q@oLe-k&4gA9}L1b*3glq3qFR}?gta-LykcZnQSU# z1$P)jmb-2h_7!~Rd9q}tinT5$DMsmSAj4`2)5f{k9XP)9;Sz>g!8#6U3l5fRjuGb) z#Ad*v9bw><-lt}!yC(Ti^K^HuikWB85^Xkqw+8fMl>|OhLeLw3^$(hQ?HYNmTuCS` z5$fbah$g@<)nbLp>ISnb!=T!N$-c1t8BPS<aDGU^Iywcb%bK2(%mqCqCsJOm#erF2 zsn#Z7Q8O)v^5`{qXP&$JkW1l0G=c581NkEmB8X(M{r6$(4-LhG1*NQ_s9Oa<x@_oe zil9w~P2xPFR$=eznJuY_aybZ!0B|t%EbK^Oc7@)+b0bt`<Oc&^OwbNWR*Ko7L-Jbl zINIf9hiH8xO=CRj&m|JY+C<N8N6RwHJ6xdZX}_DA$MPJ+s)D)7?|%sIkR}2IQ;}d~ zL7IGXg_J-cc(k<Ai;xpUwXkpC-3M#O`6!+A(UQXf8%Z0o{+{<22%c0rNzX%^HnOSc zh!**4@U*;lz5;Y^Vf!ubwFptGn&k~52<1f%RAuhCmcbWZL|I28b{*9shB}9`!}k-d z3wz5C?BAi9g5usYpc6#F4uqloW#8~%9?GHH!y;hq*f7ITN}2)<R$8z$h(O7)!aB@5 z3xP){;LgZH+vNEm5ZcBEY2nsL5Gli`k(O@zcC4!BenKPyt9vLObO*BZe5)bs*ll*5 zU-eB~{nG5}zqrpDY))-WwT&TA)|$Zxn@9Vp$`vrsJgKr!qcf%NTP%Tvc{%P1d<u*^ zp(4sfTjOD9f<EwuUg;y#>4QXix4ovYSDxd5Ow=(5Hr8QCfHTuah$DnJBk{6a2pj<- z{#XVoA$4$Cf0g$47kU<Q3O;P^!0%4J|3Va(t~cY0U4Q)!W?vtv!Owb`SoiNZgo99E z#4i!Avg68(lYx^4wAbD07f=)snKH_BuMP9DHdI2VxdcZG$f83H!W5st!i4n|1VH1( z?}7l9YWlolS0Ob$nwoy*Z@rryE}K@B87I`h2?K?D8iy1~_RKT{q}}>)7&?TRNWcK= zF9Gm)Pv0kLaPbBdf5FBcQ0&CK6Hxp%g@7jzkBuUr_*M;kYi#&`fa3djPx}=Yb_hcL zTm}Ad+Cot8+qAwM{5~+gZeV`?S3*e|7<V@?->HG`jP<?9SYkt{#e{Lai7a843T0n} zjPITZY#-!7{uXM)938^1g$#gEfPWTZAax$ch7bnl6#1m-2X=Welm&$y@vH3oZb$|z z<8vIObqb8AA85BNyDL)h5tiZEa4NgfoYH2~%dTWOZ5?W!sps->n2f~h`&iA8FZ|~5 zK}#<{=1G(pxv(vUgV^D}5IuN?$;c153QCT!5m|VjY5G61S!8tZB_CT$EQo&wen<kX zn8xsT0>lL%fD|7|`4RY-npcQ{Kj3#v$uKVORP(S@+w@CVasC6jIJI&<KZ_i6*|oVL z)`HGoKiOu3bfU27dC`Uk6tnGQY<gZY)0~;-gM*~TX6Bj|Zqcj`1!OF{oAd<lkaL#Q zdsr|s`NaS;If37eZeV`8Xn{CeSyz$Qui8sHgJ&VCqsbxIdSHoc5XxGKb&|ng6@bn; z61&5n*W<GjVux`iLJk4-e`TSCTu^B2vI0{xaI!^-KY~VaHV4SvYZoKIZTj6XG;^qJ zO?@t`9y|BJIDzz6D4peSF+>-ua2GZP@nYg0Sb@i4{S2XTe{y(9U57CknKCer!(_6m zggOD^c-Tl5idqJJj*3sBVylG!5*q+HOr*S`x>4j?8ZP3s*rH)=x&uoUjhXNRX%e{; z8K|Lq?qCcF33-x-KwED6faH1zknBD4LATw2(`>VlTdZac;xw4-sdkW1JO|5OHqRI> zOcm!NI`bn$L+uZNAh3UFlTeP!p#wZc1dp6CAfJjB&Cw7x{hLTiIM@x#Y5Y@*k1*P( zq4WRxA(8BHja{nMb?C#*hun5J;S&4szeFiJ`BL&OG0#EsExB6Y<We|B3+r@_=s_RL zd;CQS8#(i10ueLq;c!yBEi{j=3~JJ`MPulmHFhBt!+ZdpbmK`JT!0^k(3`+^bE{BP z4B>f0q1?P`1m{?(qz&$-Hlq6DngjC3`F}b@s)wZ~F)^I1Ir-q)@t`5z1oBLAXN6D1 zON$L>um~$R355`!hqslooH0oZ15x#(KFL=oTtk+(BiOK~igqM(!?D>XZArLWZR58i z6?Ev?ismiv(|<}&XY~KHLAgcFX|Zylb6R|A7oGWV9MsGyhv10AN%IC)22rCw_Z}js za}M=POyH^rbqick9kBH5r<DMF@j~($o7M&mkrrsF_HzxOeqX|)Uh`Wzg;nYnP5IkV zNj`O!ri8k%n3-1F;ym=@8z@oWwG569zX56yFr9Bs{T$IYsKPNpULGlMvrVfzsK3(U zpo)_((n}xtLO>HC3VWd(+un2s#LyxN$d%}ElqK(?=r;(^@_K+AQ%0#P;E$;fBfS>f ziS{XvyhefejrMwbvtu$eIgn~f(Q{R;DYij$qzQ3KF@K3%D>C3pNxHG7n#nff6L=%? zND*9{izev<Yl>#W2TWwHzDFM0BL|wfgv6oA0jZR0SJ*{)C@)dF0ojd=9LRFP3Ok_6 zpE6M&oyt1C*@1&qa1cwq=bc$JKEtjBniu6ZmjL-MW9zUUvl$-n%?_f#G5o(MiUhAS z#|whd-?58NuY;IMrwe#JbB2f^$lirBz1Xv=?5N7x`IL8wfI|N9A!YSJHM-O>!WfCE zjY%CMud#aKXVc&xb>o<3;@HI41wC|oIzdHeN_7hjXBiQ5ImR?dHej}q?NQfa?F4IR zg&-vO<o509NZNvLN!%oPAniNEZiDZ*gu01c1qttNY$xieg1F~{uV~^N{{zXnBes8y z2WY08<ST3w<`VYH`OIo$g?<47?oxl5O;<I@@EBIA0463%!T}rTM<|4ig6mOKN?~6F z<;zI_RZcpRx!5xtt-=V5ragfGAm%DZo3wQiuVw>Sk?RvG4m&!f#9V*-lHQ_Xmxb4t zk=WvT1d)AdGvTU12<W5&V-HXPY|s%Nl?qo{-ahDD%+-#3ay1zZ)<kEMK7Ah9<DTDP znpxgGcrmALMJAh(CG#DF+THTLjD&U6l-O}RMP+I?5wJfZ7h|Hp5SrM4B@Hl<3npCO zUfM%Cp@Uj{S*{wN*+*4gZ3@M1apKR7znpnTUIIt@!+R)^e{zL$q?`dbRAa!v5QlS% zZ5{P-g|oOGzNL+t`8lQhAe$Gm7M465%cb*LH7<g}mAxMiX+EqJF^5?go~lsaSl*H7 z5}eS8t0>W_c*?P_tk1xK1#4rVsp`8GA^-JI#lpJ)=YXzHo~x|B!4A@H2*J5_u$sRc zO7bh?5hsoZPP4z_<FD@~7TA)pA~V`xyveS}5t~cWpj8s7uq&L{a!FE&`YW+HNcp)4 zlHtnbVxJqdAs@Rw2l<MKKFIO{(ku`(Myk)s5NpDDK}d6aKg1uj@x3D8V5b*>FDT+t zrJhA8+P)J68kRO}sXH8YJ*TE`?uzIjYLDy=jtqT3O<y0yplE$9VJex~ES}J@G?MSQ z*@Uf9(r&zwyqs2pt4073zf<EupV>8Zu^aWpr}>gOD!uhXU05#8s0U}stj55bRoI0- z>K7vf-Re8=u_5?q4541ggL(lfhL4B`pjX1h)yMyxMFZT$Qm&j&VI73x*Id&83WX<w z#-3b*K=R(T9z1v_7AGv1zoR&+1fB*XZpA{VhiC;ktKD>1(B;Qn!{4P^$+08Q3J;tU zupNVnE~X_j_A^nKxy})97|(Xo29HowCfgw0HfqCCI@8CuLYzzOu7vNvt@2DyP@X4+ zeTC<um*&`WG1qP8@l(dw7S}L@fn?0R$DhU8A-q4Y70{%3VzR_Me$p7w;%WykkU4Kh z&g5I>@e>BluYmEixZX;ov7j@#zMHWE+>|LB%pDB%W+4}(ZSKU((a(Rsg?`d(A<~1o zAPi=TvtC^|;|1@8o!kX+ERhFlfZTJzzaesLgMA>(Hml^=ZYwT=(is8Ou|4egg4{XG zqpqq%t;Hc6DN#BVT?;EZg}ablc@?|We>{UNLz5Ey3=uRf#qRl$RAjS=yy`4c`4Cs( zx9q^~YPmBuCnr>Vhu^0>5*Il_{&7XK{p0lWi^}c#cx82wvRbnTjxP4*??RoIjsQS4 zS<bNIt#JN!<2wMBQIu!Asl~52d+jMyP~&!o9h*cNyUJOc_&uhDKHf|?^|Q=`N6%FQ z+acODC5NqXV)021Ttl|qWX>9=8xPl-{&<UBkrRr|b0;0KInc2!&jp)X+Xq#Hza`r6 zEFLip3|6Uo6~Y#FGKqH(hw0MOGi>eQUAFKZV0Of=gGh9Isjj1?t~4I{GMBsuit_Xe zif**)6O`5carVI;*u9vHB^QoRSHLd!mg=@sY^h^=VD};*zcHg|sIe=Ib*0qtUTOYY z#(E&G_G{`JL8|-Bubq0H`L##SA;rM3^|Ej4W#87zzO5I1n*%T3>vM4u@=K@al=5mO zF}Zo9CfS%lc!O^#WOeKXNjnh%?O+o3-%Aq!lbE^+g6sBH@76K&)`62~2@wL@dhUdM z7TQgoOR_)vEloN|e;e=y2amvXrxJY(w6N9(GUT)2Z38hIA{=R^mm*$czm(IoRb3;p z+=xwSEC3@Pl;oVwHij5S<~qN~{Bz3OZrUwln8w5lc1nXWJYfuaKYrqCxTryYJl26I zEhc~gudsJK(u#5!N*x@?Z5^(&Fk)~+pbdj$1@+&O3)^&O%rz$o@Ta?Dt{X)lC+3<( zfqkTI!!g8{{sMwH=2`}4kFCn9p_#e!)L2xj$7*D4q%6q~W!BnbGy#?kLADj4p=V92 zkJ^3bb!Ym3wvDwGv4myAU^HD39ZG8_<tl(*o7`3=-^UDJ0O<g1%Yp|!^UT2u_0z=% zp`Ti8M5#!1*kvc0zCq{n$pL8`FkpY1GQS7wI(8o)1MmC>xM)cgZqii<w0^D93GHr; z0``TFfbJ0TTY-vw2y}Ml)Z0kpHU_Q5Kv?`Rep_5K5d~;z`4zf7uxGh1lbaS+J07V* zFVLVr0J)`w_-~+5zei&xDP~E3cbi#cGvGDLd?I3tKG=j1-Jb^pfiS9pzdDtwVR@(L z7}_gGsmwu@a(l1%@5nuknFXR`gFb^An}({2D55q&OoZ<dd6<T%H);@}<?rIJ%eXSi zhS$H!SE`0TE5qfK6nE()0b#`%X0Dx!7=rw5&@Gyv4BVj1@dwL=iv_a(Yd_M8XSC}B z;3rIbge>Z<i<eS9^Pw(U3E9=|UMYnlrNu`FmW|gjgef74_KGH)z!C$HVf%K>1gvPa zgaDxxl`CAWL@KnTsdtIOp7%6jWO`gJm*!#kLkan-xU8K{G2~*)MO9?rwCNJSh$RKb zRD0sY0W!ORJ$fzmy4|cHT-ZskjGidbCxI9h$Ku;Vb}a9`fDG9|l)ZqI?>#`u_Z}eW zy*H5a_7OTy12SaC0nIaj6me$)8M4<ClsH;LaHe%w?^3r^!vB;A>mPwJd=edtV_W%C zSOIW0Rv#J0%UDbT)x?GoXOms+U@?)vZp_AGg7eYcE;J)Z5iRTG3DMI2w9NAdlz``b zTIT7;w}|v78-S=}{#vp1K82aRQj0T+gTg6^uJY^AEV!o3@Nc5?wA3<a7p0JZAk^R6 zvHc(V6g;|N*|f$g6v9|oV?7k2`OG})P@#F$(mj@!(oN3`hyW47P1h16C3T>wsVq(! z#9hxn2Vi2gs{m7rdKQ4TwbT+rrBHJ%8A+x$*LKnac&XnlG83bgd?{aaiJ6jh+fv-h zi+;!+WsCIK`UaGMVw%i)t|Nkfn<9z{Wbj-tpOv!20h%2o$ced--roqAEpHp>j(PT? z0@h`Dhy9xHC=T0dam~Jt`~kSi1wv`c6f(~rsV%nK@^+vkrW#@gL*DxqBaeF_D9)Ve zhL$*)$)8RL0SkiAyCQFoHa;aU`uP2Fut*;Q9ZfF3e@Cw&67xcME_VyY#3)&qtZtyB zDX1TMS53Z6lyBwo%_rZ4j={wT$hS(F=9F(s<Xea69;*@fq-sBr5vwQy=k1@tLx{^e z5HH8*XTT`rZMKH8VB?L$5nJ>TVxb*^BLCcp=(L#Khd+UGD`ml}u&BsE3CSwb!>H$z z66grjURq$PAB&Mb3>B?^liKdm`<a*HBp2m)9m=-Uux5}CF;=Tf1h}(PtgdIC^5;SB zeEa7@!#o!&%U{G0-TEs?46Y9#3zO1a6GJRF#y5US71H4A7ckEoBrVf8_d@|hosBIJ zTBEZNIER9`)Htspvc_O<!?f<6(WD#gt)7~zRUE~cOKk6g@Mz^nS|O;!Z?&tn$7xn9 z78;abN`nFg$^(htp;FdKGIOx;6da#c@8quxO6@2Km|*=s{j^&T*1zVD;n^JZufPL_ zkSp!UffP%rh^0iFKf`q^bWD7fzbKMYN-%Yh*tM$IFjJCHabPPecdNG*2zA`xBIr2e z8MU(11_LUlVUT6~m18zz`%x}Vu+hylQm;cM+qv);@3pG~E*Lf)<=DMTU;dcpPB9EX z^)6ri0aQ{m^R$Zgj>d;!bb0?H5<L0>Y++h}Jbe*x)X@mXIKEM&jYeAX!$Pa05w7~N z2i+Zwxk{8eN=N+64^F`$JT@~Ab_%4KZC{(M8L(9RNjR2I;)^$6l%+E|M8Lb`+gx%) z&xV-$?*YQdA;h2(Y^33kPF4{mN_!CoBE2>@e?cxZqqrEv!KVAI*1*?rI$u6C1P`p8 z{K8ShN0K*~TYP{ZaXDzkJZ0%)%u}auPJr#ypyrQz2Vp-%cTfn&-z{(x$k~|81c5GW zK|fWuPajgam+i!6JA=oHiO{+%CHgg}7n3~~N{fPedvfsW01NXIr#O+7ZRW4~sOi8- zrEW8FDyxx=m>za|3!%Y+rj4vXr}=}!d=LSZ`c%5!3}*x{es2$|!1W)vYAN8>v*|jM zhFtUbkgCJ@QOvi{;#%x5Y`l63%^o=Pl1wh6<{}DA%wtZCV`GP;+mKXik<bipP=uig zTG)mq{`Enq0<!U~|3%}qE6m>JU9bj$sJ&<EEBV1g=yTj#O6A18TZLPiUDG~5otAg; ze~Jb#KvgH6rs_T8kZs*@;@E%uu?km+3Oy&FPT>78)VR?M*qyTI3Kaj0B9Hc`s=V)f zC}8}Zs5nyezA8G2qm5j@=tp3kgsK6{d=x>S1h0Z&?+3f(q^uRtH&eD!N5j=D)a>Rz z|FP_Ezb~-x>2C-Nxjs0QfDxW3!W<}Bi=7DA(fa>Ixa=a%b)oPZnV?l1gcTsnBJaET zSoA5(X1(v0_$4Ki2DeYtVtH=_7E@Ba5a<`C1o}BbE`tmpN0-i7VZikvsqx1v2781# zb=4*eHUxeeXa0NeMrlKN3L%mb(z1;>3>&{PkAEkOE3II&d^sspVy<&O1q3ly9z7ta zxZ*G>_M!6?J<PO6FP*Y^k<|}03q9;%-qbACBF~{u0KsLb6L<Vz_tQ$Rlc)){KOESk zJd72Xa1_oz5sBXi->H*s<>4se$i94pW*KV_2R2vFT4&3}OJJj>OxvwFc58v%RsAW? z8-N_DPAE%;L3D%8^Ln2ac&F+LN_&oa6=>3nwMHD|h@aI3r7Hg|)bQxo3;;ss@E;Se zNS*2CrcCmSr1z;h?nXCK8l|9|t+d0UDcf^vAIW4~@BuQ4cJ9ZGQUb>UKa!=!NBrt} zfFGZ_5|1A~XW1hOomTEXS#JLS+j2v8VM_#U9T1q!Uxax9j1l%k5Zl*wBYC>q#TwVj zgLiJ-K__-Av?;h{1YWttbl%R$StrlgU6Y3!=#DgPk5s5r;7=66i3LX^l*_?EaGNgg z1D&ibuLO#{v)MH{kiM(3nCf<Hgmhh{sH8@29A6UHR`nsZAO&~Gwe*kh2TMQPSO)x- z4sC2n+n-05<~L$prkHxnCz?kJ3;G-R$j;qnn>{6}i_7H17+g-{$4GPq&2G`1)}AEJ z(qTrX#slqup+Grq@h34uK?O0|)zV;XB-vW-fqM%GJ}BhaQGPq{M+$YKS?JAH5Z`3= ztI$rQ!qr!ZReOpj>jTNn+uWF|HMTi%T#;xrK~deW)lTHXjXrONaV1l9I;x4VY3@?0 z^Afz^x(JuyiNtPlLz{adK_?{;WjBOR+Yr&{OD|C8V*j8AyV7YMbt`pTz~MD^Aj(sX zU)8a-lx+<K_AEOu-1vbLo9I=@qLS*kF}E}}+up@IGbp#K1iy|}<Xrl0?c|^1E>yPu zWn?vST1<MH_)9LToxBn$>9|^oyS;WYcw2WIP1xjBwUd9*E3S^>Cf81m_lkR%;>OiZ zeymsABNR8Fb}~3#gOMfMC7Fr+f*=ql0&oT{Cg6frh>(Nx)iHsH#79_D!H~q<InxA< z@$~%tJ;Ijf75VsweEbs+!AId|j$mRHR4z33kc7yNL2fUp8%Llx7VZj_g&k~<`FVyC zCDoG%JPY7Npe7vvk`UuiqCXP>r(SA)-bbHc9<%GW@>Q_WNwtkON<ZzcuGI&mc5)AD zhQ=q8U}PQ}9%)bX%EXJP5oyPv@j}|Sc=V)U)F^GAOxxW%Eotx<sBiFEq>T*eKo<xq zTDb~^urUVp&fEq?>5Wd(;x|I&nIcwPHrHCkPkXI)QML@s`}l1*;yJ;e9EoPjWV7Mk z&GM@c6T9bN=5`|!Cc_T2R$BL^k)_5<9sGeNC_Ui1<c59jZE)z7=5aSPN5`}E{^oI~ zo)ZCwEeb(0s!U!GVH=3jBT%(LW%36KLvQak28P&bB9E3w==V|lC0(KjB^EQ!U0Xpw zduR*9T(=?YXr;*jJ)ZDJcw`j{VAXAPONCzn^AsUd@=YFV2Lp;Z{Qxf$;9YXavfgkb zbKsESVZWrd*e=z2JLzKE@CY1&4hV3&0Jkw95)-f@Yi1}Wpet-hpVfqeW_7UJNfS4S z2>Oe8ir)n(f<V>Np0J}@-gzr%gRmbP0AF(0)FCuGvc+t$ykn3Ab`%25`sCdd<i1Jt z-k0i0>qD?5^>jhG$lt);oS0`Wc1m<=R?n2XqaIa<;K8`wp|(hzqRls#<T;J8Ea;o+ zbNynd?wvY{9{r|{rbp&fTkzL*qYwWXl+W9RJkZU9!C(Il{%UzU>(A6J_U5Yv=F}bk z1~v^Bze)J?k9ZZF2pVOG8pDZBw;*xKR9uJv8`U;`jI`5n_-U<hz{d9(EbT&a!Cgf> zu%8GVr|ex9qXz0F*ujXq5XQBo`khqzHI%LiOpRCC_32v0SHk?K!I#cPMPr#%rYb_# zcgTIMJR|={#KTYCLUyyo4G$j8u^+V?&!Q!3J6c5}Gcb)cbL`i61!<iFqwyY0VazrX zn82Tcy*%Dba+kp1n8?ig$%2chV8Ra6{jfh^k8HKjKNn}J;gYACcVcR=521WeTS!xl z?(fyXA~V9~CU@bNHG$Daf7tuK46YuHl^f0rj3<lf`d9KC%v|B9&x9|7vbvB`cJgyE z7lDd_XJ$ZZ5Epa|#{~XMu;!Fc?}OjI#xqn&-{u)ON=v7c3OneUSaD@nO#nx;Y65)? zacdE-Lqa^b3|PR&x;q@3;wSJ_t53=fo1|>;zX;6MQO9WGlIT`r1pF8J;UKZSrf4*( z!96Y6<m+G8fqt;|J&9z0Tuz4e`!r|bLS`J2F2OysMv}-wzZ%Y8?kPTf#+1JLbRgtX zWkV~EU?x+6;pkz%734A^I!^^tct~a=2?%MTIDrGJDRCplBh?NzC8C|gAjDBuTyVMa zBWIs8hZp>-ytjl%YYRL}!S+cQ1nKX^EG5#vl~g40sk5QFO7ElK=GpAJY9G=q?*uHN zps+gR)?!l^fkR<>5N2(LgIw8R;nu{d9CE@SEr`?+yiP)X1y0;(YXK?!8>s~jSI^ce zu))xvHmtq|heF{$w5LiV<!GGfTJBPyg>bg_)GK^WQ?>pCwT1*8$EL2w>{K!24WZbG zmk<`N>4b%{wCjj)OzyTho#9&>WS;xcWw-^xD^88;ew;7dZd_=2e<M0f`vN_u#T7;# zBI@KQ_)9>-V4eVC%&sL$XlKkbiNbUYbse(6L}GX?@6Fxi#j*nzPvGx34pfYR&fakf zfpd(`bl@v;R4k&O0xkczwg)R#Q{moF{AxR{z(6c6D7%A>g`7guS_M}FUqH7Et}*9L zLKikAoAe8Ms-SYB0$BSO!YhT?w&mT3vT9(Hkxiz$u`oS{*|!)c_zP2|a9pbn?9}_B z_ex!a2FhD2;>FG=IvEk6A|JT6)qtnbm3p@4H(`5R(N1;l5%#_=07D8_R9u7#5;l~i z%eZhwBN*C_v#Bkloh2#<Llpx>TS_dlbIFx(KFBpF4%!QM9mvTbDY4@s&y_(`F6P=y znm5dmG2~iNAbo;}>{{WTLpPj)Vn2kyD3%r>QwzG6`yb}&{1-~YYofrWy>a2QhtB^s z*evXaP-1mLnsc=wIk|{bUImu73Dppk2)>LUR>5%LLCbqlukcFBg4_@kWa45(knem^ z1akTsLMDAGA~I&bwx%%ETqJNPqJ;KGVk7QGYvIl}5t>h6p;(Y6tXP%BmIOaN_b0)z zWxo^btFWOIDtV#`x&UfC|K(LETf2$UX!)fwint$9AQ4Kvyb$u`hFcnG5ly;Nc~<sh z24e9~tle1i&7-Fb4_^d#7O7`T{zu)GB@+XlJAnA=al)h0TS<e!8hfj$a2KeuA>@Wi zEtnk5FBRS}fU(yBDOnwlK=CS8Ye)-1Mo9Zb@MHfVng+>|2U$wrDLlr;+G^515wIm; zaMFHa!kGabI;|e)+h6|wT$993&u=gM(+z3|v_D}Px9Q5fl`CjQ;0mc*U&u6$gx93+ zpX#~W3RW*%EC?-`JA$hfJ8>b^p75AAbq>>47s_3O)eQGHifgEf5uTI^k3x8ejLyO} zRBOQq?NGMi_mucODSl6g-{a!<nD{*^e!FNz@Ba@e^=z?g#h$14K*{zvcDuB%oEHLB z_;8^imVmjqBt#qyA+tf?ZDU|0uz68GEwDq+h@A_0`S<83y*bRjR=5^UG}c3l{QQ=k zDgVKqvpg{@E6^13DwrqWD{-I3<UvrOI_CaYhz)?Y)#3$%lsbq+aQ~18HibH99`3`A zXo2s*90Mm8dEf;~(|IRf_!2hAU!%$v@nsGEG1ZP!b>JAJbMDb9_wqEDOLyW?UDHw5 z;wk)Plo9@q-v@T{cAQkC%9N;vuJx`^9H*@B1HWSOFD2%m%J>=fc|@RTZFk}wib$!< zV}BM}b(PI@N+%lN1bS21Q&kuda0nPTy^A#%>*_-g=r`+wi)A^bP9ZSR=6}LG^mEI5 z$8uU`eyY@UQX}8TPvk}5XBT?$BOUyBTXzS4awgn#iw-CNn;Dv-`~#_wD{3;wKCm0z zm9#=|N{1^V5c6o;;-zB02c?FllpF<}6+^p&H{8bkHN@w&;P5v7I?P8>%{NI*LeC&% z5`&8MW*M;!u??J1?8-(0#4AXxdyWX1&y#$Kp90j<>6stt4$>MmfWL%X{Qd4oDbPZV zowj3xfe9M#4L6)rj}nBqwr;Dqi!XUMq*EL*I2&Y~oUNJ1+7?eoPws>EL@pV12Q}i( zM1{EZ(DH8Xf%(2-*A2*rD<=W-2nln(W*%=_L{@d4P4Hdz-@wO5ArVrf<*i=|L86s! z*-9ryl5cZ&I^jN<@UlptZm&P1PX*+%j9wikA^QT%l=uv|VIK(x8mh<eMikRVE$zLr zPvLUk7Gk=%$w2uVOj!690v|D!#sa!Xtj;@mlb{e98GW!8I9}bK?#qnlWD*jZ_y>O^ zxX(B;Ld%rEw-hILA%{4=F@{eTV9Y)pjKM@4WdI|)C3%H7IWd{XFg<}ed@DmakD%Gc zTUs#5TR9(3yPpSKIG&M&JHyQJ1alU@3)GH_b;jGwiaZ;gUXv@P5c32q(49p5!hQt0 zIDpb161WdM(E!DRpFfM%Q`!$f_dQI3zY3chYe|j+U_rf)d0U<>na7tuFO<jIxEC{% zP_>O8N0e+BGORrKMmQjjnpW7XDHx8PzJE75l-~yPbM!9=NjFp<QVPE;#8GHY8>Wf_ zU=hI*z((qc&-x%AXmcVT1~^9*2|M8TMpK}%FQBFE=|52<!j99mZ*kXq*t&%qPvOAo zXCrYsr9Fb_TUNTjDpyzNN>MPQBe?q%woDmf<77Ab!egg%_X~D?rP>ivU{><Lth7y- zm7c;xMqj^%ew^H64@0U#{Yz2*mCV_W?3wNwCHgL+`L!_5k-8fPrLkZ)V2qLTKajKd z#z6!GZd+26$D1tg&wolIsziT}QrJH9#a<5gKjFplE<h59HUcpmf=YQw-Iq#qF;YmA zQvSLJbyDU!Q^?Wq-d&Mhf^FVW+~$2g$A%70)^Fo>kH?!;bLkK`YWvg`p&^m_i2oM( z5rX=Vf3|Agfg}QRb}~%YD{T{f(=UPpqn6(kcHq+wuvq<k7qtO-E+mU$a`1~mnZm@j zh|=JBf0im41tt#V<b%=~uA>YfEF38n5+;_Ya@xh<z5!hQkX`{GrjB<Jp0K7%@qEk! zKsP7k$gP6#IVZjhEk>s3U=Fm>xW_@jPZ)(o&+@*uL}HY_dccmW`6nDp{lVge{)qA@ zZF2?UZ~{q*{*79rRZDXFVEsZm_wV`hRuB(W8;X};JCM`ZUA^U<o2vU$6ovbH#J==F z9BU5ZdoXu`gzSQZGK?Y0s}2msJhLln9=d|tQXa?EyG<FrvRtCPN;sN74*rk<WKrs% zoVCG&5Rl;_wH@;?142BUPBxZUEz}TeQu8;dfz8Upb}%MPbKGG8Y9?c49WGv4;~*kZ zqCdscJnmBJ?nHn$ZBC1<d_RJ*yu^N3-B&n7QLE)j7Ws~jZ7Y#0SqPz)P-YoWXQSGa z&s*Ma7a_bq`AhNs49J*aPf0W^<_8FVD`=9;pI-=aq;*n|>Ip>0uk{eM2DSJ<{XPhY zIM};c_Mm#)3Me|P%~P_B?E1kf&RfxcI8Zl2z(BC}s5Q`LtJ<xN0v91sf{NqwO`-e- zfZzrQbU{f_^g-C>wD{v9PkMI2j~0M~Z(oe@*U~j;`R!T-9a9K2E02=Nmu+50GbxSM ztH99`(&gcVLH$mwLMCDlN*!c-*|X8;nJD#ReY*hn)PUGGXAlV(%DmWM)og}mDE&2x zzj-lO>+o88^b~b-^AC4(RO|nso7({=O_D1C`j2+?T}U!#boFxT>PEzi(Ygvlu8Kp* zG<z$-^U?z~@wCq5KvIUU8uenM_?wq{tv&VvxNa5X`kt9iv%E4NA4tH1=J$0#HLO|W z@BHihjfH#nbcL`HNDXdk)}N2=;JPyEQ4N5jvzFacRIAvDVa_2^D8aHD_u%srn8K0` zXrcUOVgfjKs*8cocEEfe3Uoa5deUuq&qpNNk5}cfR**kCDSHe4pu+tBa38|P-;h96 zh}A_<mHe8B<^4&jO6<n9!h?y&kP-e#)q+AErs}rwr#GU8<wvm+!=ByTYfT91*=o%c z|1jLLg;ahK^0m;_{x%*)(DdOdEyU-ar1kSrKdpu2EBpyoRFdH9>AiLnEuOtEQ;{-; zw26qdJ-y754hvVf(&w-$4v-W5S^UFB;L(Z|@wEt~oJ6on5<M4MfkVop&ma^S@te)q zftXJqjC)eCcG995iBEkR(dMW4_D4tgOy=xVHbe^C<_C5opRYi5sI{WIR&jZ2FX`cd z2C*I|?*V$g8;iqzR6$3m0B0Kem#|GR<s*Ua<bn5xmk;l*hZl&NA*Uey4lqH8Am@s7 zH1{nkm7O@Vxh&Zni9hp6{H-KWq#J2sA5XeILRad;Ed}r}GObg_K>pkAT1kL_S{@op zrT(vkn5hqMBE&o^5OYX_gONbYSQF9aM?lQMa@@J`EfA9@5Hprv(_NWdT6&>m-Ww7n zKZQ5KhkiQmh@u@K_{-?|h?<Eg=xlJ_uZn2c$g;fp{X}JC?uLBe<zCc{BWYiup43oo zqnk%B1A4K?9K+x4PWWEipKlOt6Mp6j)ZnUgd45EQh7jM=+X6rTIjT9cg4Ep<&!HN~ z%!^3U-bXhr<6IJS59Fd%_MF_)7O6OlYBPqy*Ga>2JsmD%!j&q0W@EAzzZO>`ZpFRt zi?i|3q-nsw2q*c>Z^LIMKwVn?0Z~@&XoG3J25L$}Uq*5^^k9i879gcPd@tuQnhcl- zWhJzgr`sCE-Tenj13Qd<Vfpj6;X@}b!<#-N9C&-t07`U)>d#H`(!gfpa)fvcJ^kKQ z^uqgx|MqoIZ4()g%H(Yy3vk;<HIVR8>Xbb8`YVZI2sOOu*%V%c6=PdT@dCHui?Cf# z1M+e>nuM_7*7U!hhNI_j4ipzhuAt>mob*yBZ`LP@<6g<+xYMI^C|bvo0`GxO!njeP z55UJ-ijFCDF0l3xKB|Re%Wm8V10g9oBY}^qhAFF|#)mT${|ELLkSpk(xSd+yNcE>G z+mzo7DfqmS`U!qsgWj%#JZFpLN>GKOAw4X(k@yH!NdYgmjwkJluGZpu{wa-}LS58~ zB3mi#X=NAfraooO`7LO~7pkAwT`$C(l+)arGPIa@5><!l7v@{Z_d@mg{JYnFU}rDK zBnwHR8u(EWJP<U~ASTL0L?eV+NVFMCZ`9)Ve;>ZTz?~$8h11~62Yh@fYVVB$oZcbI z!|IfVS70Fpz$&a=r=>lHi0#4ada>!bINSo!D0WMk7BkAV*s{6U72UfEG*h@)i<RVs znAiD+&9(v32KaO-I}nML=7wS=SRTKLUFXI|E)>7l3I+BVSHp$sHi)JrY=<}-D8HO1 z*rVl*+zTECO>PN$I}|(rl?~A34!68#-$To+_c^>mXCG2R?}TFBC-4?wx8Ul6(#lX^ z*Yb;1wgn$3QS)~Mi;DEDuw!#zmvI>G<|=E<Z&dR)tAWO4St0oRhGM0aNnDEC8Y@A` zca-RCKn>88=(Pxx5E<4`40|4iNBC%l0-qU~xX(Pq<~lq7izW(gV#H~b;VDhfQhXTT zL$~U9+ww*MX{4en6o5P56x5-uhZUIqDe8uQ!%C^XZgb*(yqjsyKdmj?*+~Oj6`2{2 zT%L>Bjc*~vRRw1w7Q-ro!EbBlH_b*Z*n{HyVi4vdCHe_wNK58+Y|oOpJnt(SIpG!t zOEKJ^am=1FHPAEyVj`?0SJ=h?Zb<5_0IlVHZz0LIfkq`d6FJ#+HmozyX+f>XO5G(i z*Kv&d4P>J8v=!}Ypk0ZM5_MijmoR>qRUKe;HNb=#fb4@CkZj2D7_{Uzl*cw=yv9nF z$a-)aX-ZnU5A`JuibCzn=Smc4ogD%Nup>n-5hytCdnmZ!<`fE`DF_Gl>myqnqWc5+ z&@aiEra?H<z~Uw_&;*LO4t69Qbf?Vsc6SJXKnh1MA*92;us~u!zg%_%;Gp}k0qi9E zErJDsMkBi$ElE$hSE4gOr{$f5D!{GdGuuPO7Z@)7*m?{`{OZ(OE#6pjVh3=8WjMk< z3k5pKdIK`592AP-zU<eDyx`vstDl1{apDR`KHo><#_7xssS{SBaD**eLc>T0q^97# z@L(ifTFG{^UFeAH4X;Bn(#gR=4R@|16(25P4XCg?i{<^`ZX(TA5Wh1N*oIrYk0)|b z9m0|{m){QOs4!^=ZzTT>Nc%*pi!Z{lU{K_N#aTVHteGESk!s=_Zlr<v2<CL6&4c>b z)WGEOnk3PsaJ23jl~O0!<eh~FlV)i}BM=UOY337PgA50XCDa%!az%g-S95Bd&I8!7 z5+}q9XCdyml7j^d;Cn+&G$i<v30-~!s^$-k#CR-2LL0m#aP4;p*Qd&{8PAWvfSDX6 zOQ+hR(m;_Y3;Wt#DBJ}#NZ<$^k=n@{Q3C4@-PL&lwr2PM{tYoC_m<{qg**7+r>KkI zhYb9Xfgi^2^rhvuANZzACEZ>i&e~%QKA=Kfwi^|&sDBNJAOzXD0Z&?h%LoDFtX+h} zml26zfrju42t%7m^fw-_tME$Kw!DLPAHN#@6A(h?r<}Ft_Hx#)46~bavEIXBn~vau z50Les7jF*|Z!Z9E2Y)v-@OJdc^`B1x9KqY&A?BH|HsvQ&c(9bUhuAS(!X962CqkNv z!2saiID|lg2QH_-oDY7`q`PBNzeVqomssA}KcPg=CwP?{d}k=;*@w4KV5brtC+Sd$ z(xEr-a;1*^*_bgOA4SNd8$wy7v-6fE7`O6L);t`Z(?lcSxq?O<`z&t`T8vb*g#sT* zZlu0W+;;hVZB2^*J_LeTd?WZQT(eS?eQ}!6WOe6K1k3&GdLrvKV!1d*d|cjn+s$&H zCrdk6E;@)aqvMI?!fOGyiBL|4K`CXMh_=b?moNNJB5wh<V8d|aCVOydwYwfzK{eh8 zE1esHzZB6j(02o(F?R$fITw88(pO1*OAxmRu{$f#7W!#`Bx!Y>JLq&g(J9H%*su`` zp_|yR!$pvO3=v@tOrwV*@G|5|bz~ntHw=yqAVfZu0D&$Rgk^af=K&h9mg6)ncJUWi z6I;V1aML9C;#Xo41ThITOoB2@g52JdASLUjY!Gw1=Ri<iX~wssd^au28>(pz1ZfTw z5#b~8N%Wg&p5_28zVg;HT%siie<DN`5dN8`6iD(0rsO9q=ALGa?QM_6_u}C4tvvi& z&>Q?C-Bq{I$80X4V+YwQoLTsejgV$L8Z%%mWQZ_1&dmy)LPw)h_sA%xh;f$UTY8NN zmvM~@ICPxoc4lcJQG7zL9iQ6E#7!kMc1=z6{XDcG8bCv^KOzzz)T4jt@A)B^{=S|M zmRp=zbmGSGSy^tdXrC5S+amN?Jr>Gpr`Rs>ojny=V|**`Ei^VVL8p&;*SAuuJx1=& zRsULp3T;ZBGfT+}Wd*g`#u~f>j4yB?l5(sG;yuE0WP1^%sW1MnapPi)tXyg=53k`| zip!%oAH`udGzKZYjpCsnkE8&zS}C@jV!MnN!?m1RfIX5Pib+7qFZ->9<oo^p0|zU^ zj@B~=2;a?4kC7N4%}iwU8YD45h;w!iQhI>OdIrc$fU0SrVU4#N-2()!Ljwe*Uw0G# z!|@4abrB}o(J&1V&R^iWh8Q3qZjfw7#V1+&8*hu@sg}djGu~o+z_S+1@xfTouyhZT z9G}Ks;}c1>NBHd`{DKl9SwQ`)EE<F`r?@tXgFS3k)^5NhMu>**8VqDaLM8{ujmZB0 z-T17doe7=gY{P^R_o|V>h=tw!KVc!J!z(-{19`kg27G+642<XZ%0L0XQv|a4Eixj= zXUTxZXUaespC$w4yjTY2@&Xx{&(D#8B7U|ERC2EjEa5pKzzApDCd0%w`M2;S)EHYy zVJ^eOR``1|yo$oRW%vaOZ<67cDZEC8u~^yopJlj#!mDJsmBNq9@NNp%%kX{*FO}go z3RlW7r|=yz+)m+g8SbKRM25*(i3eqv4kz)8WS9gtK3<0ND14R-`zV|%!{Vs4Q-%vD zzUyVt_aX{^A;Uomx5+Rac;;`(a2bVLDQu?hPlU;CTF*G+dtIKs&%k=>;?If__<CEw zW33V~D`iYBV!o3x%e!k5G((GHPhH_WWPD3zyiOLyaSP8@88cnRj7Lm^jJZI@U`6(< zmN6q`Oc7%KEMq(}CWx44Wz6xv39^I^-Sec3Nl;9xd(!8m0AH~r+oXq-L~i2G6GHWN zUi6ogLgh@=5;R(oKhu&-da0Y6=q{<gWDby*+rawgQtSIC-@t8D_;Rjb?{FoALIZc- zB*{3aAeq058sx1`tFTJ{3(hLS{{>gD?#C5XaKVy4dxhrbasqD%fj58>q50_x%}*N8 z$EYf@DgFSU&%M+GD8A5%uT?<Aw~RboIuV9{Vtq!~+6d?-U}3WxpC@rG?rHJ(WC(|@ zMtu7BV`|z_QlEu}mAZN0T%xM%P<^Psg;NG)$tRofjU0QrV~Kl^rMq80fZ%<A?Z@Cw zzStY?EfSY%y&WH!??&e5gv@@x<<F_2(Lg}*U%=&7w0Zi!p7m6Ix{lWP;qrrZ_*&id z7(3K?L;72FpRVk2|2gBcb=%<Aoc?Ux8$F+^!-wkVdv#d++^G-NwIr4F$LerKg;w$Z z`8VqrooY#a=}z|JH2B3TIGVaJ2>wg<$<8ce0%^~zR>T=!rIt2hBt}VBWO|NFHx6s4 zdUykULT@D`l??q-^hXPzhMP4Uu+aiori=)Jn8Ts0Tw^MNn5ChtJOjGCMjw3!cn7Up z>GktB>GH!x-;w+ki8x7<Uc3KT4!-f*swrEb*pRLF_#F74_{V05zDiky?O+#-F3<<y zdJDexPidvG1}%5;1}09nhWu0LQvjrO4ni{m5wM7|545~TZxV)-zVJNQfTBrULxACe zKb7}qe?g_GkAkPZc3pFa+kKK$UPUA*LT}RR+~ohnPBDT{MjOIT(f>3!g*ILqDxL>H z21b1IXOeJ!O|!GNq2dUlf5=cVfq(FVFjTC=<A*H=yUCG*P;x)*pMkJmmWl!0mI}J3 z0MdPOFt6;ciPwp`HEF9L1DXb7#d-W*+2oAwjAt4vZb>ys$eRB{)(XM9e3q;2zo^aw z@>5O^p+52TCQzaWCw<+iPc|h7;ss}tr~42AC7DfRqJzD-T~zD7eKoarfUkerF9TX~ zY#bol;2U6v`S>?50&p?x(uzks{vxnkN6Rk^ZHMk5kA%BOIf0D}8Rs6wx&}g6jRZkD zCFKZELNz6TV&2*SP~+Y@kzwcmZtq;+qb{z+Kbr?EAz>3pAd%N1QPC)dhc*z<UD)VG z5{wW8TOSE|m}p4W<hKZl5Zqu1OImByTD3|kZShg{Rz<XG1IWV{;G6nPebirEt*MoV zFY^DM`TaHt0b1|v?d|8@e;0l^^PAs1&YU?jb7tnu8I(w;lOT57B^;k0wm#47`h2qf zd~mMy`DW|0tLt-`{``*pS<WM4`<+yi@E7%*QRMYBt6{7&bf#^zgB3|CoLj$3R`!^I z?-2*8Rq?xUVB>B#K-65zP(C#-7PQ7ojBwH;@&SW8qjf%QVvCajqt%$)`Kka+fLiw; zc=fq_t#YfE`nWA+FUfd2UnW%FeKZD6Vz?grBrS3VspjkKb{XT%XIW5}gvM}K%39MI z!S`|YcXYb!??}>e4<<pvNwIu2Z?HeGBKJHupXH0;V?yY|cGmo?#=c_Ez6+NT_2V2g zRo$U4VwNU_zK9JD4#yw34LXbq$9DjmlRlES(dKQk<Je09$lmgKV4byd6cU?(q$eZk z@#bYmkFbmgx<L)Jj0B&62q;E^Ka`4*RJgBG*tC5^SOzq7c-O~^)u7s2&?@JO#RR^Y ztJoej_dab=D&bKXj?K?_-4}m0!D5U{q!xrhJJZgV^#x|R*<u%qkIKxumUv8WC0)@A zW|`jK!t7Vnq0>;E5g)goy=Tqgyo_NzZ;q7;Q}mrUtz)}YKhQ(&b4S#dx6gePanZG2 zit_Ks3;(e&Y?^1Slw$~=7;%NoL5^1J3!Y@=YMPX1x)0I))uobsGrix{-cIY0TP86O z_jSyYXZf4CY^!(GSh1Ukj$3}q#SU-u%G_f#-^nc%`n-+#q-IvaMF!?u*XGJMEF-W4 z<Am9qo>f_*sq<vmx`9Eif(XWkcE&_FGxAMVu#fef>|HBog9n*&Bt749Wx9SSM(O3s z%Q13$gyHl)F0~ZNY0O<@BsJ#F6CbDe9PfQRS)i05IhZb?g99ZLha=_%!Qyge`&(iP z!`F+@JmEz;Uhn?T**p+*IjkCYj(1;c9J)}hC!Y_sXGf0l?r#-!Q{&{8ygS8nO2(D3 z%mqW6o<=#pVQ^@t)63O;#|GnapIJC8v@=dlvmL{!7tg+J&R_;_`L4XTS?avN>$?Bz z*e`4{{D`L1xr{Jz!QuRM1Sf~Lh1y~aCsw0StG*JF1y4ZrcC@*i?Yr$tq#+5%fil$Z zl02)nWyb8=GqiL6JF(yBs?Kk|NCLzdG5g;+!tN#G!iX-G@Z_*HD!ZHA+eg-UG?p^u z@_^`e;?<l@d#~#-v$VYlt$E=c2%VaL!!JyVAG(I)Dj0-M8vi4R&JjTKyl<rSY5Sh+ zi&{GVn9|r~eoSK!S-`k}K5)w~VR31MvMq?>*~X2yg9*7`1c&eQlyGd_e1hOwL6;85 zd_dx|v^Iit)`?pLhLOe5ZR+P|$qJinQ}bPv?h7~rgIK}sZrs~ElHPeX`T4_%&lIv@ zK5d&X!zl`Hi43^&e{SuG%YnCU(Lu&46sS3u!{Vw_s}WLscI<7fhD2g%Y2m#!(P14% z(nr%QVc}+qlRJFtIuRCD;nu>!d-<EbMyuhJZFqMH3%(Cj54DB|Ne?}P)m_Q<9=g}w zY2jN6?jxWC!U8E+dJX;YyY3)@_JPO%GrubdOFZ}~fwd|_k(I@XUEh0Wai*1pkfTI| zgDRO9Sv$*?Tp*gFNCn2RIGhGXM)Q-+`LHS1E$+u243uQh=bA^%Y=|T#_qc{WM$U*& zYJw7$J;S2V)R-Sbm`VujF)A5icJPWu^TA-E`9go8SkeZ|hy5>>tNA9~muSZLWJlLy zsr+@OWmEYwgJ~vAXzFin(01Tf^3s|1a1mYy76q>f9d{G{_<VJql~9*HASyumtQ1Y* zFl|8L^3Jq$i4sma(MHBVx;z9CKTExxX}1!JZf;PeG^$9-_V`g`NWY;XpK#<vQeZ1U zbZeSrYzRG771ihNdG@hLR0cYt7eK#a3`F~%n~J!(k#kxo{a4Bv0J~neYAPzZp^l)( zAIu?}=a9T;_GgP`KQ_fhU*5H$Z)J0==*#zN^;&5%a$naTxdR1k6#SZQ2X8?*+ZS#Y zBP?EyQ!UN*=Kf_#7Uo(}&&+)b{arQ{AL~a*8Nc+(eP>!R1lJMKVi@QzTP~6PxgGUm zJUMj^<JhqF(1^I2Cei~+*sg8z(Ri3Q{7f3uNhEs&e5H+jBMiRPsw)c*<Q`VzwrezG zq|&&A{c-4tpGzy;>RRC-<;XfFUns-0H<3VeKG`jkN@K@Rt-i4Pbwrlx+@!ugXNk5H zEgh6v2jOPh4>ev<!11HOOYgZCo}ALRGdMLg^_=C@cJKtI_32!fXe2_gV1~B!5lMU$ z69Ju(_(w58fZ|p&I9YL<hp{J!K!4}$(LTg{2xrJGx35^85z3X!XheyTcEqZ8H@+HG z@NCFUx?~M_UQXWxo|ofhLqR&dO`YJ$l{R7DH}nsp<a0LYrgs{i(A3)+1>F-5L3ij8 z&=s+1&rFT*HxxE8R+MiBo1fg)g>lT0FxJS*cp=R>&3v2Sl*-)D6)kcRsE^A{T6ZU? zpXe`RBQ5Cx+}M=vala-jxtsR+xQ~d{mT+7$w-4NCr&I$xTwD}pG?&Xho)A!vL1D3D z#J*B5+m<p-EeJ>Z<I~C6R;HQ}Ha@UU(1(^xNL0ZIE$8+#&!KO--g?iVp-r%_?5W$_ zDc1qLIQq*@--JX<Y#hnJz**Ad8R3EtL@3Ni?o9js4C#683YCKqDDrv45~E*g6-$iB zpqc{r-EkxekV-PgnvV06j9veS-KF5km%B*9AEWsz7l9|5_tU$}#ssP~?N8GPAEify zHehGnvXF_Q;F)9>>h!o;ZX-ZJS?4)n%%F%0uk>4zQ#PvQ2mJa9E37TKLeG=NzUde? zU2!+A(ACf<*DCfHNmzRz)<&;1I(L)Cp}&vg)uJ#vCKAi#MplIVcZ%-kzMu}yxtepV zlo3jZ&i*3r5x*`JfzIUiB}YLsrwil5Oh{*Bf#=3wgvUN+t__d%?~gEn%-{4)oal{j zGS4iCHN)FCwZ;2lO&^-f?nnj#A1W@CM-rsqXOT#|o5q-z`>|^UFP244p-Gl}k|Ra> zrmU88c9?sA3O~`eWXqJv@Rz*?7V(6_7QpUM{JV6ONKA>l*>I5?vse;oIA)v2iCqHs zHc!8VP)Q=~rj_hPG=6o{hw-wtjY&{W>P6QuE`M5d_*%DdP|tz<;zxj5(aH@IUt_{k zLR)pW^$zrdD4{hfvo$On6o7*~)&`w5Hwwq!wFE4zF?Ni|=x(nz68l&jVlk$(k7p3v z33Xu(eTN4c`)nVZw;_v3XFNuRs6SmTO-Lq6o;kCllXb6H@s?rL(i{rMdvr#kEyRNB z!w>K!FFZ=Fv)DsN*?bKYKw~KUk&nYZSQpQI232~=q-9Pz=QZ=`m{EYB;i=Fy>2Q=* z{p1_F|D9=R_UA_XbMUI|TnokvLVc%E!o83v#r)tdJcN>6d%{?zaD88d3d+>4YhSqL zX#2vuatJB=!nV4@6kFY4rYJJ3MP00Akt1?*Uidjw6KtiMT|IPesz5S)KqQYkSPAWp z?|`9szMQkMX4M0>E7`S%`;tX86^)8N6qM<cbkE9W@<>C5>OAywo;x)83q|bcNAg@R z$Mq$yrl%=WVeWndB^{BIwap9plPzN&>t`Uy+*9->kXW$~;TJ_7;vth`$!K4DGtf8b z8WlXbJ8F+;T9e4un>dNM*biV`VlKRHnc4g7W+@ZrnztL%j+lT&6?m;P?W41G-j;pp z!dpbAdB2{FaU!2x=45tHQQ}xWNhlMHH?s(#Pcao{%l>oCVqRM+{Lww<OD_JN*1eF^ z*V7W(7jv46+ThZMR%1$@YXci_o4qaG--|u-IB#f^8!ybD+di>)==JV|JO;XWU+&Y! zv%ajS(I4Bwx@qq@wG61te-2pJQplQklPD?sTl{-OuKH{dm@&1RYIfX+>&QzL@qFr< zd?5!$bqV2*WqQ9~)^eWoFXz2;*_98=1S~tWC{+bVBfr@9NDb$kmBx2_N=K0b*9Otc z5QWJYPF6&<Ct<bDt!9U`EKV+<gK0S7vp6)Rc4h79!lhfvLQmJ8>XeAtiJmefLXjS` zr{;;Q929e@!4pi!(Th9y$J`etMTrcTy^NRH0M-S2)|^KV8gU|RnK$FI`V!J+z$@pN zH-E;U@J}fyP*M>Ky@Y&>H}nKF6D>H4FU|2Az7GgJ<=69vG05P*)E-zjMd$Pj?&jlO zD+w7+62m%Tzo7d=jC=@*Ju`dEjGmheO+DXQy&XQ1X2GF7>=vWOG=f#f5qMybCyNOr z-Q)QfSooR_PulG{QgL~rMzm@R<q<B?_uh;*uafuN?F-ZKX`C`?YS3j>rTG@cgH72d z+Tx6`iWbX6BgZmKrRSMQbsY8Vu}+PY(slQZ+%uM~rvjoC{b*lkV?M<|bUorfU7tQX zcf477gT3LxVc%X1X<qdsP6TWa3d?mp!V<QHHclVu=%dXO{zmj%qDQWh0zV-YsMlS! zsuwf09p(xoAKhgYv}DGJD%F8n0%?0G+`6=jxb_jpr*MYT#aIu=BVLxMPktby+Yu}W z{``j|0iLl8^b_8&iu{78lWdV8&m&T>UnHj@h$dHKQLjv$q}2wrh|cuNEDSOU)n>OF z=F2@FMWM%J2I5$nE+b))rLwcj9LScI{w&L}*Ln!Sy3ZoahJjczKC*@C+7Or1ZbCoW zkfnvi4b^sg=Dzkn3T0`&MbY)J)5D)i<1E_rjoAKt-rUft%Q@1s^4`ow0*isq<v<L4 zUJFo<(PCA^ZLYoECZ#>;Ay^|{2qvM)gL1KKC`dB*U7gto4143aKLQ_Gi@uWLdOT%q zQMV`=6WD%nhtEruvAxKg{s%$D)ij>QDJSYSSb8@`l54~2Oc^3JwK@B5>MAEU;Y3y5 z!`3lqC>{{2G`1{l+3XO?m&ln{ZXdGx$ow!S&Gwi(P=b&amBAeVhgl+Rzn}bQOu@<K zda3YUY-=z1KEbjl_*hCnLgY0&i1v-u*964s$|nEvuXJCtQ7GgOEk@&iPyr*LunX7W zq3_oR`i_HCn4A+jc!XFY1Qu|$_C^QNkgR)*!N+a(BP?~lI@EfwD_bbnL+P%>Qo8GD zB~|8<rZf(cV2`QBnm&4@NE~ZqeP0$kX!b&SEiZFLA>X1a4>-rrILlenU^yN2PPwnP zGwp5<vC2fO(4#l2Sek3iTA>z2C=xOBs-6iIhzjcS61&GRTt+ekJX>=B#uuK|C0v}Q z`APO}`<oBIc{Z|Q{LjL4#RX8+T4R_e<3kB`?~%F}Mp{aY@Ycw?>}?++7s}#}RyhpE zXVrtgRx_l(equef=0i<)jtZy!22S(-PPkrl4!`g<=b_p87qk<dc`ap~xi4u&@^mCq z#33n+ZD_?B4=4?*e+l03%Xvs^jz~sl+8@rKA*9XiN|kjUWagJdS-3gPgSRi-vPSaH zeRk;uT9<sgH|sg>z2oABe)+Laq3ZZ)cqfMdHu*4f*KCCiuMj!bm%ByO&v&q!MwIUG zpGCuC-9`tDq>>&gkJoHN{QD)X&zHMx30Ep&!S8-bD)84pZ|=*%w|(K?i0tOejff89 z0AILT^mdJYWae6N4`1?fcgTEgOZ$Z+l$ZO|QayP)SHC>BG(iuS?H*ncp_8?k{O75f zETJAH9Ur<TIi~)loQt?TC2z3tjNHJ%625D)vp#;Z-?5MdIk{~k^1()_iFP?gJn3gr z=A~IW=IUt75HUH-2{&{{e%6lsZlS&M0~RoUbn#~{HBwO4;miH2tLbAJMt)Q<cP%YP zgHkKVTiW4sP~1GdOF-{dk{7FTq9lLXDU?zqb3-&XN$zJPx4n<8CH~hZVO&NeIKmYb zvA1cZ&A;lv0Rr130a17cH1+&bFX(or-LJ{!YWiHNBitgTk1k~$TA=F)7}Y}EE;PC{ zT8z(G$d0L>cZmM!xTDQ8E<M>U4FbF9T`seAPY0PN>XK;P)2@<qtDhR@cVU<3v}Xtu zgnmP>*m7^w6kY!#!gJ!ng|r(~-M97pemeLgAEJ2LC2#+3HMDD)+3j&R9`Kw=@mM!1 z2uFN0#s2wW&Qlbj);<Rc{nFyw_k?fpE<v;X8S@8!5h8bRl(k7QVfAA3sG^`nw<3rh z-i^X(7i*Xg6Ig^Mv1a+=*Ve3uz(RR%_|-##t|BM~0tqTph+Sp^__g1m<KW*Kq0`87 z+RfBz;8y8n)Dzn~ZgOXS31x&szLN2Lm${XVzWng><`cm1Hl`s=bFqzHBebZ<={4Cn zR9@_%<7(@9n?w@@@AY6Gw)D33_|m20Dm#C-2t5TS+}Gnq(Ysr@`$<c=`&;O^_QEAP z+%lRmCy~MSds2p@4z`;G3kKV%W-eQT)?mZ1#SshXVeP@T==(<>Y}*@k3Y{`(vBq0H zY4L=MlF`*klf`&evZ6!o-Jc;eo)PvqH9Z(-A%GrodyltrBRvv!vbm1DEi~Gh`E?$7 z{1y2xAoAZL1|v)NSLl+CkdxfQ#)F8=oVnA=1m5sla?~!<oK6PaCDuo^>|$SV9gOvn zu9{JWxgWTiUc&ttEruEMbLNB00fb{IK>#Demd>~wLTEzKgA;94T+4CV+pK`(ahTV2 zBNq>zwuiSMc>bAHntU#@r4j9oa1wBvv$M5e(%9hM&ekr|glj-c&mx#qZw-!ov>%C@ zC!k;@mNl@;MYk;CbZ9&M^;X8_JnWcl4ZdH{e5#1R0S4wp{^rvzCP#9zwm!VMpBR%0 zCY^Eto<_D=x!*cYcA4p+pjMgnvhwYjjbx^UXnj{H7ALXKlb8FAA?oGtXgiYTjl^LB z_RZCj!B%5iLGu`rKFBMp+D<{X-U<=1L#!hN6nTzUC;(E%4P4$XliGtEZ!ah_Mdmn@ zZECGIfNf?L!{LBq{NcXd#wGD;s;g-&$$E1xj91v8&=^v9eVdA0(R^CHq|C8C%r)<S zhiaCC)2mk#u3*vvVq7aR%Jw6t>{aHgQt1?^vS3opUS$l29ru!!1B;QO$J8tf_nq7H z$Dqk7N7N{oSi{@x3h5Oj?5vWbccU)sHxyRruq4s|Dj#0eg-UxpT#Ko<y{fQzY~&&` zb*&J=9PF-PBev!27?xpH%Z@`qS!;JT1)Q=9)#7V01k&nlRt~NvnK`qlRnVNd18&{n zBwZ@PAWI*1Bo<*|n34*IIv%zs4oKfI=D900LkW^K^7XxkPys+-XA`ugD8}^fvA7|% zS6eW%*e=on^RE1?m;JHDTxPfOB$iMp3H#QZfcx@vDb3d4fY7t(LxhBtP7+$vtJZ<D zkQqjQ&YaH+xH6Rdl;J>piY%Y@U-5ouKb9>@#_+>g<`mGBp`25E=CDU}5k$U4#pQgl znI~<b<uyH#I^5KJfMpcXce0l=Jk|`6$zk_Ci9P2pB0rg>u%RUfg-^H?5qF<I_wAt1 z98HP3X`%%LyMLGjWjr}dI(u)F+bgivzNl=yG11JKRPPLql!*uT#6lh`;wvIHN4K{k znA7ZEiBZ1^t_`xQF+2{&#C~SZ1mhOhhFI4lPjC98v;Piuz?0<Aa^!K>Bb&HLLmSH6 zs@<*?boNKW3AMQPN<LX<k`=B<-^rWNf9>3~in~gKe?==2Q_p(YtMj<*39NS?cdh>0 z#9#VNTc>8QFoT|vbd$uUMwSqp{v$F{)MH<f<(}RCaEw&ej>a5iY++0>uN^3<$-1%V z|0T=T`RqeG=y~49;cpmxlNWmkh%yuD$a4@Lf*IyUve0|#Kg40F%C(PV<%11%+R&#= zU~=P)70k>-@8O1PIOKw1@Grcu8+&qWsLu$m{!1fAjl^8QD&IKgdL-CK2x|>p3x}9< zNSWRBu{r}$erdm(&*4w8L(sGe*Lo~%Tq}v^zGl4WTeW0d4#qbLmKW3M-QDSRJ-JIZ z_tN;o)e~E^rJj32?;T|SAyRI?-}XYpo4d#Bnzjd4C?q2-%xn)1H8(a&u@Xtnd|o@H zYiXY<2&~RrgIh0hI?M-NB~nY$D9VMF*^F?LE)%z*W_zM97%%W{OdyKv`}?i^+EoSF z{k)TRa2p%`QXrPZFs)LkqLI9zXF9#HujjYSad=y*_WM@)vitcacN+7f0Z3sIDH!LW zk5;%cA?i&WIs~E|kSLS9jc9C)jeaD~WQjAJI2qk>tO#EaRpLyJR*c9C>?zY^635vx z?Aq~Q%To0&8F0&3-Q?Wv>dm|miq81^kKkm-WsnC0BOj4#hg7f>yV2FOm~Wti?QNOO zP-g?Yjn}AzVBbc}M8rkn8_TnuU-`>WRC}v1`~fG3WjOZ~<eIL~WIAbWjmNtxE^`Xz zF%t0baL7GLUwN9}`BZxZ`pFWH$KSbwk-uSRK5Ix=olOY#!%A&TyCv4OwLd{P3aAm& z1;k8<KIkW<w3HM`&MxkQ<D|G^S|KA_yRM$ZtiT9T#OyOWJ9`$;ZyekBxK1d+IKi_r zE1JhD>loom-?)B}v-5M`3c8}fg7Mp86Cx9AcCxbeQ|snMFC*gFX_3>mGdepBm)xTl z|2v$dO-EFaTb}80T`Lo}2ra3b&>oAPF_C^kD@~qo#GCbrFoJ7^tUTv_>S{89UTuml zKkJ=+v5lOGihZa3x59(r*CNTGFXNV_gKYgEK6_(dqsN<;^SDZ$=upOcbd1wnPc}K^ z4dSGlE!RZH8816_?LQ*z&eq(`K@2Q!#=vsq;-2{Vja;${eHpWo7O*5`Rcw?{_(G&f zp)X^DhxtyHl(P0jQf*@Ge?1RjrR+s>{7Xy`5L*kvk826voAuTUCP&neTST0n@S?UL zV{evJoC=?Edtq>JXIlPP+&j#HpstaAABOU=MK>`Q<&5~*Q#;vTwTS9*-LyUSljbGa z{&pc)?rV=pQ#J-vdMC|MM`7NXEmOu6Lg&!cU5v|`WoBjQ0KA)rUnL`dGFl!iH;awu z80(6Fma`9bv2IM|q-4#yaqXMQk7Kp%Uml5dWwvLrE@bBv-BU3(@9w9BlyyL7+C|LI zX|yZuBY^O)t7#oB*r{epZyr8N7p`*Bjrw4$F{83M3kH@vqSYjfjF+hR^zfP#t>Tr% z*^?u4h0jwDNh%m$**u8ZhShiaw{Mn#g<Yapv+e~XBOxgWy^+fSv}opOk;JI~7V&S! zP#~&+xgWZ&y-(Qw*l3>8zjU#EBKKH8X^XU)^L4dG8H8Gq<HXOKCA#LnK8QVo57>5( zRClJGb~4+WT--3!{2ePP)|h7Q*3NkFYaj8AtjI3l07&@5$bE3n%Y18>OED3}Pc(nU z8^hJIuDIR9vaS;ICMHdms>8hQN$f?UZ^f{B6uoz@1=sd@wC$N;<}?zY@CHX<GP-gh z#r8B<YQh^FfnEJBh~`fH>KYk%UlpQ;KP(9Ex9#(Mjkh=S{>Z}1-`56uXvPI@ZHQ*9 zX@VT-ZURIV-&t$zE`s^mB8`3fU8ITu25a-kb#p6I|19%vD|Sf7mZ4gT)HC)^t=N%T zB+<0D*%}f1KG<?`qb`zyu`V(2v&(E?8iZzGnmM@(4f9-`H1aIpL&RiD>_q(?YzK7( z>z&_;R(>M=Rf(u6TknS$__5Z<lM9+X>3%NE>M8he{WT?EGxwoJudJBAzTLAv9iNsu zNAsfFWouxMF5#jF@|vFGob{rO-VMo-zN{$+e5<%qtRS=4yla58IirUJZ}C9&Lab3d z_9s_;+Wu|I(-$Sm<x4V)6&V__c?qA(VmE7sN?Kg2ck~X~W^2sdWfW&UZ%js~Y@F$# zV9hz9{+;GvT)j-r=sciH)|Eo1_OFmue5e;@pla$goaCs;@e}XwN!1f!9r{b!V;e8t z$EEWKwI_4S1%F1%pA7lq3Vq=ThJCqThIhGc+{C@s;T@6wtN=y&grASZgm;CvJw}pZ zzrsIyvvJl`nN1lvQx(Y>Crwop#TYSFG4RV9jmS8DssbrvK<;K^X#1)30p9S(k(4K- zeMJ(UARx9QIAj2coZcrIc@?FQqJ|Nx;`=T@fZBa*Q>KaU`bKX{-g4TmRvIayd>&&k zrZGM_hCiPsho0t+bm9qKB$e2ZAm1=<fFEJqMqha!8tKnVG7Htb4AURY{5K(QtQ=|? zWxhgPS){%P*LEd5V6MR#=Bg1emX)JcL6H&2?}wDTd66o>W-Z$?jHHt0nC(Iog^T_6 zX(vhuOf-sWt!stMh@~fO^@g{P-h|1E=~~Cn)6`*1Iy_a-+|N}VB(2jWeJjyV#`H)u znCma=kJf6kOnVQpFP$IuZB=sg=3r;qIVb4hZxDqscd`u^&S`%R;xmKmOndcsJ#Z9S z>Fikix6+Bx>9Df(G>ORkX<ldA>7c{i8NW7z_-$87lrM6tOd9%l8+Upl{Xz#~gK;>S z<74xZOO1}(BXbNv`g>iO=>=3#x$z}@rV;m}cjH@WI1wr^<I&S@cC=hMjb8Mu{VRRg zZ(MO5x#nT>vUxMC=xzGkSQPHh=^PQSe#P<)Rp66K&M-R+HX(CD1UHJnW$%l0>Fo?J z>=<{et$J3X17^O$f*B)fI-5?OW4Lq_`PWC3CusnpD7}dsWU0=~BLnexKo>$|A=YRf zmG-{kFTrHkrFirvIqdQ00g;&g9pP=GH*pgO7@RYe?N5}~c>^5BTZ}TYcmrhe7N_)` z9dRl+X622#7mAF0)IlqgBw(L`zLo1NZ)dcdvKqasNpOKReO{W1YsJ01!E?t^>{ilM z9#@mx=q%1gV~GG1WxkIOLd<o`ByjG>3kQV0iCdTx`UY!}HF&w6T&?r6B-ik#-Yljw zZXI@qYlR$UWs}p_d61D)PRnZgL!D)EN`tPkHA=2p@sQ@ww4{sfSP!LC%AC*ovi>Ai znq<}5E!=ZCeWvfz-~FDOUwti}gT9qb8j<!liQ?kwMBmhdoveKwBfN!lVSdcIkM1d( z)3Lkq9>`1;w1T5G3T!!;H&}J(YWjlFJW9lNVWKFO0V_l#H}}(pS3nKdbzg%L6mfn3 zBaJrPMd^ONLzm9g^tR=x8Dh0~QjB1ZUTzVx2=?B`rHn9I*;XRMZgD<e)>d;S$7pq# z7k~>|ak(EXd&8a`l=b(lx>uLgY670d50*u5IqYr*9%qd+$6v<UWKZ=>?yB1gpEQ=I z<Sg4{Cbzcrb^20r<ZwYjaFiY(h90G96*!&lp3DMkh$fh~3A02u<FMQP8JQG@EziR{ zE)m7MJ1>gwmV(oNb*7CYk|qsiN*+Fz1a_E9uaNb(q1XV>rvc~#<QRZ1-n7Q@bmu{; zbuCk*_Gzqf>ta5mwNSr6f%Zkh6+BND8<!xfnYU-|5d4-u)hPM(SU^R0Cj3-$kskgF zn*DBV&3#^og||@2o9MToxAC+W%?q(CJjT2?ARU<&YkIA>n49V>sYtIvwlrl*M(n#e zePPc5!e%pmQFtk`hcDa{Du<k;V-YdIXD$?hr-LB=5G<{XNvzO}@t4uT$XXypp!CSa z(+zqQF0{0D4|OLVi4(<CgreG45Qg;&S}%!aCm1zn%i>QA@k39|6U%+w=bKpv+H5W8 zaV+a4!X9M_$rK$CNo9_#8olCYD0R!&Gf#9g*w4Vm$_{gv)9UG7#gYMEsD1E$NuLxk zKhz^6D{68g<TL72vxzA;^2)(b#4#ja>Oo{**$PVUDT3+EfqjLRamsKzJ1P0OJE@6d zLAYBc)e3a>l2?w6Z~G9sT3^mMgR9wIHFmP<m5&XUZN8jrW7A_7QU~TjM6<`33c|O~ zv#M`a@@~(C*&kbRJ74m154u*Y!QpM0JBeWCtd9k2uIC`YO8mud?47c5`kKFGUaTx6 zUM;i~wLA9M(5aBSDhp1NkS__Pg6QCQL8OO3sIfQau}WAVilPMDX@1mtlwjjz=cr|A zOe6{1SY||riCho(k&EG!mf5G8cQVkDgp~GpI-+EjuE-GE_n^z#G6J?_u$MlC3eg%d zX3ZVC1O+W6@v;Q`sF2VqWYbP!b*lkAvgs&j-Fmr1*=Zh2N(C(w`<lzy6)DX6lP{c; z-x4>4d&RQLK#S@P6o%t6x$jr5YOEqTnCkFF;u$2Tt@oJcp`A+*x$XGX`7*El*vZsb z7I*^JJRBKeW{^(-@>e5x>Z0xPG4~o`l}?ts8>Kqf*g(qIX*TG(VIk{6y(`r{5nwMx zc#z&#>z((!--h#gT5BJBkP|@4$6Zw%d)-7m${HaZv{8g#jNBw^-h;39;>`A2EL8Ye z(fh$BQ0q)<94Xu-CPP~0g3AuQ;rYgJsVlZkw+F|WGpSm8rExmWFkdc|R#PKFB_^9? z4+(h@-SbQ2SkIQn6on>Jv8L?{x3NH%pZktK{7Rmya68`juhqi`>)^Lom@FL{dBf~S z%AuV2V1M%+XlzMkauS)rk2qN*)tUCn2&r>eafcivI29ZtbFR5aIzuLBJI!s>niSI2 zR1ACL@$@dKd?dyjiMW4{e`u$F|2zK9UD~?iapuCVjLfiR6Rh^XI1DL-RSzaXO#?`U z#AW8U)2!}FT<&T>KSN*HK;K~L*;zHA536&J<Fn>W$y!F#WYeXyLFAHi7?D{h%95y@ zbp^58C`0&wgmZSLoloAf{Qz6_qeTuOUWBT*kEyrSQYA+?rY^(Cg=hj$6FE`|V$4YT zEN4L(9r^IPh{kz*FURupIloqTdFwpPN<TYomCuoLmTSX>4rffOclmqNnDV)v-0gkg zODq6+5cTE(@ioLEkjQ*v1S00S1tQ@2r!^KhoQ>%8Kg+16a+dS1&`8Yg<$taAkBOuc z%HdoVNsfL834C%IxyUovccbJLae4Q@KD6~X)vB0_frOOIDdn;E6izTVR|{RsGu@)& z2_1WEJik_j`lyV7kp%3MF&S%iz!`e~pg;x(y@@b;PL~mX^v~M}J)tw)-g0)FujNwa zoBMsMK4msLi1RkafTbxM$z0l3>(M;yC}f`MG3S#%?Kl_E8v$$nd>&Y|BMysk4{uIR z@PIdGk%Q^nHuU-}pFjPsifm<g#WXd$QfB2@q{*Iic=-D@dX;G}fCcbV#jq?F3HF*y z#I+(5Ih}CKvz^Z{k9kwf9&e$6EdS~XILH-x1h?xEOUJx&Q(J6HL3&(e^Xg1lJ!N0W ztQQ(KTdQWYa97iHM96&ytxx(Znb;R_cW{e8F2AKXHg4%$lv%{4R?F~<L90+Y$X2g? zs-_TmrZ6^ji+9yD=lbLz#;Wq!#A%L+^!2Qq<PRluQe<|Gu&?dRmtBrcJ#z3({?r)n z&3&^gC#<%=hb_&eLs;#yqf0~`AL}C@d!J-5$1V-qZ8Db?LpD@FGa8G?bkYfklp-$y z8T5Fei)!M~I<#h9kt06YT5m^$9en9fGMO>UT^(-%B~2+jJ(l@C6oRrSh&^XsPkxd5 z&^IwbxkmE%^Vk>5{WO>*!a@<Vwa&EHhDc=IWT9RX#%{lOl|8QCBK`E9Pp&BnD1_=v z+mHc|##_p#_%I_~hmY(%y3BXkc(eLieduWUQ*EHsB^b(Doac}|F#8NeINmXXB&>59 zi#Qs2)hR-qePSyZVXi8#rIIts?Np8Hk@!l!NsE|Q**wj;D*ggqVeXaFxIl$V&Go{- zJ|R@L2mm?anutKgDG5uP;I*5j32t$=Ea{8ZLM-EX&_sbtD2hlZm0%`Av;5}1^66MP zG;a3qDwgTiPN_;+7;Hz-7J&_oKg??)7I;}O7dd2P=)hptid6*bZfBN2vb~H7F(iDI zIYV%PhB@ArDRENGMTlX@m=o}iMcqPs{Mps?UEu=M9vJ;1m|bIC-7Z94OL<(h6d(G- zX}5k)gsWFsF<k#6NqRTC<=1JyZNVY=VHXN|<~B-K*!&$SSi7ts<%R$J;8b7Ecw@|} z81A5%yu}!4{`Mw`oi>B0c`Y^Zj{LH%+_jRt%Hf^7E%;VmcyE5$^N~|MIafH0?8e10 zlY=MaTo4;P&f9WU9CuCnW1letRto)e3Pzv!d<@3NK9iGSJmVFeqqi_w>x*skvFYjY zPYNpI1dAe*bTqv-z>%I-b1zaZ1IjF^G5@3q!9Vz7KZLDyb(vKa7WwA+IY+@vVg@BN zKcs?S9ZF~xmq)qLtj0;<w=1c+_I`A5G$S@xVC4s70XtjB;X@{1Lk`xFOHu_hM1zw2 z@W_I&Hf*PNpL1kc1<B!A)3H&DS*g7*s{No;&~ljzZe#>*MNEj@qjgup`UXuD>Dfll z4-cVuGCF3x<d1#TeE5;0h-|mmiMdHkry}J2!?svAx*~Ex2gQC+FqX?;=WUzbskX%; zu${@_3|EtAd*@|QSBR#&{IO|EE`U4A-j+`LkN0aT`D4E-5bDqHhTlY$3<g6?-sR7F zEkAaMISQPPC{xF2oC=j0{;?pn6_p+-<pD`5xY0L>7Ux=V1GM#*VU*iyAEX+7$=tc& zC`tZDi3qsylXXufIGATXe3YQq5mYxCX)7maqZT^CfTKm2BN1Z1ipWhMBHd$m{7f;+ z{T(i<l)vGmvU$>Mc4GMJF8D+zUeJ76VVCcZ@fEHuK)mHd*vokYTK?2ZO4!x6T}<a@ z*|@@VJ4Z!MG50~GkXxBMg<5*d@3orDLh`$y#)5m%{>@*&D?u)E+L)@Re6oiYKZq`A zhmLPHlSo)aPGFcCwccS2-?t^kNH>3s?{-=DRc4iTCJ95osO1Kxe_D>x=O{$JL(u&L zwlU~<MDJrlr+JDL1L@^-GfPnHeJhj5BBmDvk7ytvvP`C<Io?T&MAZXv@LBUbT9p;H zOi0zG>M@5MO>~{ujc}mmaU5K`s(;hd#=uSQI#K@UzdQG{Ao{sicVZU?d%*<#D$*zS zFMgNrD}pvX9c;~EnOXEsy3>@YJHl0ow52M9Bot4WXE2JkJE5ap?xUS0=NP%RKOB-? z)gs3WrrReI4^h7mi|{DVQ{7sDW&g8CM6##I@#^3dQ$djKE?pGe-S!N5@FhYjW)+93 z$k0h}+(}<bj&{)Rg%%ig@7w}8G9ZW7las~f9n1YQ*afac>xFNX{dZJ)b7v&ivkRI# zW8js2E4{HZQX?nI+u-_R1*Bg&R6LJ~q@oR@jrJ!S{ibn-AzjSOx;6}fx$!>6%HmYX z;uXoFZzW{sTV?;<Bs1H}Vz!mVY%7b|Ru;3ZEN1I0HuuQlMx8}v?hC<_D%mr^Y#vH? znH1AL%Kmd^7+O`pKB&-sJsz0GYK!UI(M6!1b*U?|rh6kvY7-i_Pb41J>!{XM4&*5B z<ksLmY*yxTbS*9?CHQ$xN`cGA#rGUv>+$PhPb~B?OCPD3Xp3Yz3&pfFS4|dV?Jjgp zd#R!zJnT4TjhrNWsbO%Xclo=jqp;;R)j_XA7m9C?ok8M?3=fATlZQucGGMCm5jwLa z<_(i6Cd(`rZPEU8$RCBCXe332)f_GBxur8<PSYcV$SC0#!cMLK((9XbyfA`%(CdT0 ztdP`^KGR;8*?u_n8FPV^IZ1byybBF0p|wXyi2J*JBH<;lCetgEN2TvD7aSf*+f_1) zkMKdq$nE-IW73TVOC-u1+V#EbgZakvXc@b)$JG@8DouELc@7<0E8AjW{`EjsDj;-C zfTel_+9&28RtZGr&hO<p2(g?Sz7bpYvKkhx1iSh?=1Vz;#1#K<VUgLm=?LB>_Wb#f z%C?SfPq7e)CNErIeHh*K;V`<e_M*(#uJ5|olK-Qufh+SP>5RMi%A<?R+U0jb*Z4(F zDw~5B)2hw(;^lRhFk<vxyo?Rc@r0i-f7`0l@?5lql>hzvKTd)5ayuKpr)>DT4LfWY zlWKiG#)jE8^xLq+hK3E7*zgB7yxoTP+3;~2?zG|CHvHIz2W>c5^e6b8WWzIT_+1+= zvf*kQuCd``Hr#2$w{7^54fokFX0Vlhq7Bn+c#;h#+wdG4&a+{q4Ffi8wBgM*Tx-Mo zZ1|)N|71fYqdLEI8;-Z3--h#TxX6ar*>H^wAF$yz8@Ac-&o(@0!(`dt<Ckf}i8egP zhTpYejSZLD@Om4rwc&j>eB6f5+3;N(erCg%3@g868y;)Ji8j2@hE+CPWW!Z9)X4sg zKUK%b{;N_`W?QiM5(}=s)PlXEn)g`#1w)VgJsQ5Uw7RCE+-=mkFRd`#6^p73cUfI| zg}bu8Zh<>cUsqPq&@dKNsP1rO^%bQ?MbB^U;~EtI^>2Dzu%_HyTPJB%l*t#{zqD37 zE30eE-9?Lys=8VoAZV1%uc;uIXj{o|^r(RTI+p0xyY^Pot@w3;idr4|l!mhU>VPpe zu-N`ySDy#+MHa?NEl>@rOx3A+Rl&cps$A9ZPpL7gRt2>iwFh~x4c63HPW|3TsXnZI zvN#^wNA-zGj?2r-i<jSN*{VoKaOV`w>+4kC$<Cfz#Ngw0i`=4|B~>N-lv)&6#Lr0x zv{0N*fRlgns(;Bj4qcBA*w7IZ8yDZFud`o5|HPyLuH=+~gHqE54@u8BX6UftBSyMM z9XmSnxZ_V4bK*%^C!aF*)a-HNCrmu;^zY<Mnw&dj>KSKxywj%p^3FQjpMTDbg2I{S z7M(Y1b}_qF^Dg-A_b$BX;!8?O=a-dNR9;$Dec9zT3u@~ESJXEc!G%{YT71>jORibE zOmD9XV)emVqk2JwyQ03nuHLOwl3gLi1?SG5ZTV`i+4(ci?(wR8=N5YNXLkF{Iz4;B z#H0jot-CZ3sHrY1HL9uVs?rAcf>PM36o130SP(FT<!b6mVZEvf_jGqO|C;Lg^`-TT z-PN^ab@lZXWk${7u?a;r6{QUoFlMb$T1HG_^ho`L26sa+5U8u?OGW7dcO?Z_P*-0; z8aNkd48}&wBlt~7N;t*s?M5R=+J&?83wm(AQB~dGE^TP2STMh4vAaB2UtN2tyOyLD z3K|roy0+S=F0HA)N++LCEaBm8DR2cb-SdN&^6p+-7p(7z>sWWb;U?&Ux(35tQ+;^_ zsY`L{D;k0|hP$rPT~=CCBbh-d!ReH;x&;B<M8}+3R#ShXyE0f?rfI5MXlXZ6wGBpn zu*{(F{MR3SH8q8$)wR0pQtt6mZrwC%>w=e7xf=qdWwdmH*VK{iAq4A5uW`NT)m8Qi ztMX<QTl6-nK)SBBtYYl9r$^6xvL&DCq$W6aXHqU<z<+#>d=J*@9s};_4&kn<C=FOC zNx1L)jdEUD-6Nu|yY6_WA2nWsQT{jLohI=DK{#$<b-fWRt?8~LsZE`M;6=MQ3jHss ztCg<zRG3G4VBINp;WciO#Op4%?gMEH4RusmdBwu&vI;A#v}5uaXVa--QGoVC=PuOg zZlMy&3a9B5BxgI^0$8xxsG@%_7mm2RXB<iQ==8B8m6sZ&-Kgk%k}Ou}(Oh+BP+xIH zu%bbb6Yig7cRp0AQBl93nuZ253J*v#2-XH0gs4}R{x^07lqXx$^@#1EqL!Mht6fl0 zYuM$H@S3hi3}0G*X;1<;bd_Gh>-JVjCuc~54%AiG8eKh=BqQBlh30Oi)YWD6bq#fu zhWq?#UE1kcSzUA~usTH{Xaa3v?AWnt3S;x7_4IbNrS#gt+RJO}uB<(SdbLTJC;j-S zgaige2{zfSYeP2KRIALTqCa*cTjQcHK$K?=d2iu8I(A90AM|?XtjHnXukZEFG5SNk zv&4DG`;U9Q_i1dru5o!I190qhjn`e<m>M6?2)ts&3J}lEZY*kCshn!e2{}b`8yR02 zgo}z+f|h$s<H|;2DTd*ysw$_m@1j89%0S?-@s}X~U;o^y_rEd7MApCFUyk(dM>6_b z|C-d{{|*hmTy_6*sBibLXA0M<?td|CPk)<#(fIEFuj}3_{Nc4)^*_x4j^$nd9N+R6 ztwDj;I=cVGIKJJ#X#B%V|DW~wdo4h6O66ZPM|taZC#!E+U^`gv@ZYYq-Jz0Ix7%_# ztcj}K5*n9Z8){l{-S<~EuL`ej`N0pb|IrOUzVW7;e{#!DZ@umIpWSiinxC)z#kybq z>euV<y8E7ce{<jc5B$e(AAIQH4UcSm^s(PP{=}2NZ{4(c%TrsoZQt?qGtWNv{LWpw zUwHAQmtT4HwLO1${f#%@di$NWKfe3k`yc%2L$m#($j6`j`O}WSeD>GR_wL(&;EON6 z`uZDmV*k+z(9tJ2-)aK%uP*<;I{$x|{(o-*di3vl0{X8mzu!N3!Gg&R(Pau%&hKP* zAwRb`7W30BrLgeS^72!ym!d*8F?r<Yt0-fRSW$1iDK)ch;UVwmG9#1Evnv8jd#!-p z;HAL^)Mw8L*675~K?axj-avh|tWgw})|XY;37%Ckzdp!>*nU;#l-BB3@|C<4=}X#* zG$lQrTH-I3v?Luxe2JrGmm0zPaz5}otG?QHDOFq*tZ(RgQ)+HSd2K}xk7C4h`CM36 zt3%BW+OX7+bR@pSQG}B)itifLvn!%&F>{#~*IhZ=(335N|D1-3`g7-B#@r;odxGw@ z3&{6^(gwrJ9Cu+wQC%Pyus+~#`B}-SLe`~9FRhqXx5$b)XLjDK3FF853JR?7-~l>d z1#;jBs!)JW&;pV`83+WOAQx1Fc+e11LQx?szv<`BJa<lUrW(uqTi&DVQDf)pWbj{5 zuKh2Rzg%OrnAyyNS#@=i$+!49MkJ~cMt?P;JVA{p?x#jfbgB{Kk7-NaJ-9VvWV}k6 zc)dz;tX6#}|9bQ_ixAQsN#Z{e|6$tSk)EK^iJwmVbmFIvPu)GRH90Vf{5#T=dY$d) zDO|-X@8Z6X?VU0Doy1=Dv*?|FsQ<7&Y8d{h_&YJEdq^B-jB*ywIwai;cONwXEu_93 z@olkzm~6o_n+@%hVex9%{PfnrfwYp;Y^7Fbi8`TDOEORyI0hO0j~0O(83`(5qDy7W zO6wTZma^N`niNPZ>0jjN6Qlan$7DNFV^r#Ile6{vc-~!c$~Cc%a*gjFNEw!(hLyY2 zu!#fIu=@0l!EILAqj|k|f>IxkVL8sut6xH#N|@MBCCus*h=zIOB<c;^ZY7LBN1Q{& zO#`|UmAgDexr>vPoAllF!#b>*NewuX`>152FXxVd;}csQ=*9FKAD`_=hyLX}#eJ!Z zK2jHfj1&8-Ars44^8T($?ikRPxI3ZM8R%Qmr^u?)9nh+uJ4v~p%1~}2ojiw--(cl- z3{)8%L)y}Ichjz9vQjlXLPzIRV82+^&+)j5fxeoKMn9E7{u$(-LH-%z(^?$~F)Cqv zpX?ODxx61ZJ5}<m#MWr}XHeEHJR58prAU1|m8de{%MAD`S}zhFR8?OeeG|_vJN(Y+ zN?pc#r~U3obE-6hr@XI91BbNnDXorFr%DB{RPaj0FLiu!Am#9IyQ4UrdzMl^<Vk<m z<`G?QPF-(SS_!1pkF-d0R&v1Mf*;EJ!xst4Ro_40NQ_a5jue%V*;frLe@G3S_@El- zctG_JSTqkXk4({N_7&Q6@xqhz=R;;HHPOyDV<fbih}>4+U2DSMIiO|H2^tyD2)br~ z3$*Gg!zr_r`j97@R*LX5{2MLfBj+piJWrvWmxWKCE_{U6tL7?o6Hlcb=5E|C@LU&- zGbm0Cn%Gwj8t>9&kT_#6Q0hXSXq+o>ujh%zv1pa7T*WTs`Yp5?;#5Pxe@HQqw1$iy z6wr0}a)0VEfjXovXQj01^7bt2__Ve`yHmRO=rMLvuP#yQP8&D7y%zPe+f%gMAC@Y0 z%zP&NgcI2N`y~9P@;E4qz?2~g;Fk<;E;XcnP)ACeYj;v>|E@Y~W7KS@RO*lK5`mvi zk9g7iKIdEPrI>x>yFkbAL^T}V9u990hlhq!zTx9D+J@|=t@PxhS<pt>f{{f1(jJPb zYxpapo^Vcwa!w<yC||-ulDDI8jOy#S&FVwI!7;E8yqBy7{&qkhsU)$;O1~d`>QpY$ zPtkoD@3^D*?hg`gp;9B?lN6Q8I2BwcUJ*OoQ5k!r{=+>K8VyZQL(2!Kp%atT&{;z| zteUZSLg;w%Ql&29nQ5n)lF~<|OiWZMvxJffCDFXkT*i(#&v)!_R{0WD!VP@_);N=_ z(&3wQ`or`atiCqml%%|oMk@IaqK*ctLDL8PHlf4W)@OHIYfO>V-p~hAR@qZ1JG}Q| z|3JpLq|-(l$!aA1_fXOsGGSo-fR4nrgx${8Xx}L9%!&uE5=QgufEYDke1bI|%!<kW zdu4z1W_aQ!-DP(SPEdm>!(h@ITtBcadG~<U#6bTNtL`4Q`6C7XNQOUL(0+g#euK>) zy1uP8nxflH5@k+QLuN@!=%#n<os6+OQ95R@j~utzq6H+e_+y}5Hu}V_@l5x<^d$y; z3H_(thwqNo&*ke-Y~!hj)}szTfbj4rc)*)_43+RP<kRv?r5@y2YKNbQ`-5L8b%*_~ z@q$mKPh*%=87K75%b1=@&zaQGzpdZyzOC_rxRTiHXgvy(>+$hgp!8?6Vv4MOoPL5n z#O^D)`h>sStJEKUqtqik`KdTXCA<hfrOKGVycim%LSx2ws~;~;gdX(e_3%h$!fAsi zq-^eujo_<!N@O4SDScLIM|Vvo6ge`W;o3vxiG=LG-%b*@DRl-<w4FFcC8$voGt{Wh zj_F8m8@xNUbzmT+BsnUZ6s4rbs?@c~0ar<PfAi^1rH1WNYIn5ENA7Pry8D~%`gg>~ zsQ8Jjh7Iedh9TeeC_zzw@Xr{{xYxUOiY%FHk<^XuzmlLIG`xZSOVb$I7AHaDM3s6& zav(iLdIak?Q}&%ZqHl-8f9pk9wEDMRghhvcwO+(*$JrIN74>WkO}BQwrW^G&c?;Qd zK`otchV1@NXJ@uc1E4-`ZfUh~R$cvUc3)~LtQjZ!8`HJ^f*s7O)I+heD~PGL(<D)U zX>EB8GxoibYGGY@u%_ZHHehG6&qC-oR9-E6RMYF({$+D-HnUhZxRv^IOhHBI!ivNE zzwA!MN*EdL)VSF-70lU>jUfj?#9Lm@1~6+7eH=ZN7_N}G)9V&20HcEHTC%?*c9u~y zr}j#w)Om~4=YqMFDry%(i8Ca{*+#kLNe?V32=>K`0~KnD^|h2e%79G0y{eV<i<$~( z+N(IZamCSnxGs9$qp=CHDPJ3%+N*-NIki=qUf@&45(l&(I|zg(M;zE4_4DqS{03hI zyX2Qv)E7~BsmME}bmv=Js8%7Bx<&j7>gp~J2F|i~zNr9N5BZUNnO+)TT|;<+ol`@7 zC^*Xcf!_X7>Q^y-_CC+5uRu~<tKHrjb~e>Tx-3OP1XV0<@AM+2QiVR}<`s(jb?`f% z{rz&yQ>-+o*Qj~f`Y)1wJPP=zto`(O_c+d~X&?b&u@>T$Hwa+8ohfe`jRR6=Jutk# z2UUyp)@yz_^(f&jRMl;9bEzH8gQ_E@fIUNdI}mPsEG9pyhtRtYy|v}D1J$(_V-z?f z^Stg|&Dn-%G&FeCCdvQs532AeG3Kh3adWH7E2dYK))&_m%8v20#YTnNa^!U2_PaIR zDRqz49;Mc4U#l%L`;I*?SW&;YsG?qLY@kA*@rKHmNu3l|mtAgi_`N;oWwRy(o2@xp zFToU}#o}$yJdaD=rSq9pVG(nMj%~MfYWXKU-f8M^$#f_mY^aj>(}I<i74@{rwwQwH zg{1+DW>7sNwyWI5bx~rdcYB7S+#aj737w_&5pVjTK7?tP{0p@5h1DR{$HE_ydz8)8 zJr@0{uL3)tnqE`aP+>Rk>n+Z(`!27#tw(9j4H|)<A)I{cA))4~1ZkH&`iQIS9#Jy& zs@aMTCs0~n(N)^>5A^}-w*<!?Jac|&eYGfMc-4%&Su^trScfaGVIi|Bb{47xk}mDZ zic@}WrS*Qi(88`jX`@O#E7)r!4489%5Iq`b_Rs#c<yrbz(R`xshwPFhN538&ip=de z`sc&GNO*bv{rfis{!M}ZIt9kBedm;)GUt8%BKM1xSYRnQ(b9MAYKxy+?;U@&AV+TW zuhG_T{IBPH<d~B0V4i6Ej<wx!z;vE?o+O?=JYpaK4N`5<)oDZVOXLys<XeB9=r>7M z;tF)}NFLHPiC+p2%L@7t|4}^RkGT&W&TGF<x8E5UbR3o`b-39!q<h!tvuvpIrW@Da z7XaNnbkvF?=jhd1_)9qipGF?RdASX*1xi^$Jo3GXNAN)(NQt`b9rpXrfr9Tk9x3au zc_iE;JW?j6)cX5tK>3~yQG`D72wkE-N7P}%-tWCWAJ$j@qv8Lv@&B{<{Abhe9lrN_ z@BIJ${?DL5@=<?QZtkQ0{u$W(&!>5G<qQj#qbmpe&*S>f%JHZyU`v%pWdZj;3!{H& zy8qi*VvIFkaKyyv;b$EKe95(ouN`F*^;hp$j-UV1g3Ir0`&wL{rHvY{C;X;gy#5Qf z_4%;B%MV&!9veRVEyH{5@EZufYwi1Mk5M12HP>QEqSvo0{iQ$GG0sCEIq&t0Uw5lZ zUcc=1@x4Mbp1-u`?Y1wJ8n@Jn`T0Rhj^dbcrv#qfE5`rSIO93x(0N-gG}OQPyU^ip z(V}Slk@4^N+M;ix!~Py?!QI&wEV9cTO*{IoY`zrXwkIt_wvyjGOgu@PsLV9Reis={ zeh0p=zDLF468qimq|_MuU1T!(9XMcx7nxIjyY2Tu)~i}$zl+Q(zbgAZ!+KR7`yF)< z{d3yyY-#G>?)_H!B5TTTz5PDIdQ~g!ceaD{&uzcE?RRsZ6@Qfd-m%wuKh}OPvfpLz zM1CIoorOjH%eLRIvfthIyKcnzrQ7dOVms~koLjAY{<|Q}S<eI30HtoC^?_6WqWtoi z-7bsbEj}r*q2Go+8+vRw#fCXH%(mee8@g?nY(r(k&*QB0O&h*%!!{efX~R7>eA$M( zZTOrGci8YL8@Af;aT{*5;R7~YW5XM5xY~x%^qcJWB{no{SY^W!8y4BnW5XO9PPE|| z8z$RO*{~lIxM-Ub!bjWVSgRVk{(9_oT{F$1(?1HA*}rIiAvj2$QCx&SqHSD|Xk>yW z-#Y$c^#et-i^coD{44VPWAWQ;dblT8^yu9`^?sLeMSf8zZfWzmJm2M!_WBc^hk0J+ z`74iXYi9Gz<XIqv=NFBK%9N71?3Fw>^E|}!63=Hm$%H+Xr;tai2mfFA{XOmSm|nkF z`xh;HP9LkDvTZoVhHe}7<h5v=|J9HV^+TRTeH^L-cmV_2jkrsI_b`}={{z66c@ok6 zX#+aZt-KfiWZ)+}k4s!&RNu0v-lXVURxk)A_H}6ZFz(L@FYpPT_i+n+gXd-3Ch#H# z#bUy9=3AY^fVd7f=eSh^kKkYcU$XsQ2BI#Y!^8o<%Ohbf1cq#P6L2e!q~l}2{56lb zMVDeLkA&X={FJ8%16Uovn;0mu_NHzD9zR;C9W<5_V82W&ZX$3M&y9px4Lt5RrEbT4 z0C?Q-R+ursQrle)yvlap2;9zdFX49p9VeiJG5|dp;DfgNA>bJ-6m2BTBH%kbf^!@2 zO4j>K@dvKr5&T8(<&;y{!^52obkIp=<BkJP;_={~0u1p;I!(Y=c>MV90iKWb-I9I| zH4iwIPUAxSJ-}1YwQR(l4Xor5`UHSCodIt6-vS(dCS@UR6>uew;3IIo?H2fF9?7=@ zc%jG2OW->^PZ7QiSmCwYRlp7&%~!xvrYZHN-~epnd0)Z<FPIL0QZE+*f59W^uLIuV z0|)R~2OOKHQ~~a6;DbC;#^-<!orTRE+yW2q2>k{A`fR1v;J+St&~KGX<)h!n(<=VJ z$9aSf0{hHhEX3alyp>1Nza6-&P^mq*8-Y`1!t=NVKF1?GBXIh8$WdII<O5>YKuyFg zu$)I|DDZ8DA1R~zeCnM?%D4#l2~RoU6X!BF;gRqYfq&wWtC&n+%{;4I0<Y(hxB|B_ zAZ#Se4q*OwE&l@GobRDCjQ>2~2Nx>!wWI?~x`eT!KkXejn@94({(`!hN7B3n__GqF zG6}N=_y~`L*$C|55!z~4YPrV%FSgxnz)|zz3F2k~&*oWz+Yc<~k#wqnr<Yr_EeF0* zNn0aK2k^K{p(*Zc;CvpzryTf89*K*62-Rx41%6s()oBOt_m@##;<f@eTu#46oo)nP zwt#xUT?5?6lP&(h%WKhp#oY*8$K%KSK5%xO#Sg{6pYllk-VS`vcDEvv?5<}HLU@7i z^9cWZ3|!k_)$cmsm4@YJBVP>+GG`!6D)47K!jo%&gBKD8|8(HOYoG(}MZmk3Qcm3W z0)M{@y5nvIUe!ohl4$S1tPpjC`($ACN_Y-;4KSt|TH}rb)`n>pxC6j1cy7n-`yuV< zN6-y-HgFM-v`2wSH(373z@PFwM3~!wSNzy=8^8~2_sW~-D{i)Uzzv-H6WS8t=K=5G zk-EDVxaOzS3;qH-c!X90Pruc2`+y(t#KBi4@Uov#*SKqdxARDNf%ERL@)8)hllDaz zfxqUFyw(FBUjtv^FYuJLv{~Ak2ly$EwB-)q?Z2SRgc0aoXQeN28_!DoJAjG5hF5S4 zyoBcf?h@b!cfnUK+V$PYS@&4!7Xk0#5j^h&e#mn&VNBrYdo8}r1a9S#w!Z`T)o-XT z!h8*^xgXxZE%53Gs4v`2z=i(-KDZYFXKkP##9a)0i%06Q4Y>Ca%Y6X2{&(O^7=c3` zxA-j`IN%9uyz>En!XtRz0vxgxJ|=uRaMd=(Al$2gt9HU;;JF&Oco%I1_Yz>rZi@#} zfj7NqkEg)wmuc^W5x9*<ml1gLE8vg+Ex^}!B;P&2U+kg(!hapG@h$MiEin0QD}90A z@W>eLe21O%HjB>5f25z`2}oT4<t)TRa26<M9*SxE0yo%hfxB$Cz`eFx^!r60U&0F% zy>@X66diVP3lzO`aSL2#yRQS@X}bkJXuDg1qPH#K1&WTg;3iP?pT%FG=+TP5K+(+< nw?NT@6}Ldqah31_e`34u06t>71&U6lgcmsMed+*O$?yLG6?YM| diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli.exe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/cli.exe deleted file mode 100644 index b1487b7819e7286577a043c7726fbe0ca1543083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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[c}i<OXTz6k>I#RErv3nvcIClH@!{vM)zJ_weD zu_-L8NU*G<xQC7$Bg`f~d>lC{d0L!!VW10^+~>qmNB~Y8H+F}!P8_d(PpvjzMJQmr z)F<LB!IdzF`7%cck^aLb_J<@DD#CfB0B$E^bzV@-Vr`q!&`=<s^68_Wa_GZ_v^?aY zU=VZGXAzm5x{LcyVkUd8JxnNsqtS!3fw-nje@5tui@0AmI$b-*P5O7)s<z9AVj!{a zusK!aLirXkGmKBs9|=}}+<^)RB1ao<^{^>kX;2B~<|3JfJeWv@IXo~nTtp$}Gjie> zs8UDG*kid(%i5QCBp~MA;#I186PI-nZ&k7!k8BiLJSuR>h7ArSYHD~<iO|JiNP|OD zR=9Lm@@Ua+Eq87EAwAZBPGrH*)zP)xEF>B0I<PUu3WRluor4HwG59U@*GT3C4#)*> z=T6L{zqglekt0JjG5z&|GWb4?+B5+{p^fgTufl_KesA{@I&g7rNq==^SGc5GcM%$N zDBG2)qExz*Z;jGN_-iD-y8i2BCq)p}2lKcspLg>w-;qwg(()HXrZa3jd!}spuwBVX zwmX!iwU<Qo&ds@10tJ4pnneT?LI)M|HS1v7YY$x9Bv-SsJ$Cl+xPAV;6Eqk-srxG9 z{LT5_#k!V#{GO}ibh%Xvw5jxHs@yzGY~@?`(yJD$GqsX;X$pypI5DT^o5eVu9#Z@z zw!tumU}_j8#vZXTB&Vb!;K(WYBw))aIfHo=I@urFFfxYS9PyXWVFQN5U;5Dw%tIz$ zw`nTQR_c;mZr;Y5QwPf3_^KR#GvcZKkFXD~jQGWdi~_bGh!>?#7uoQnunw|OlU~+c z^L5Ak3zWhaA4B^FhMMboO0k*O2GL)lD9_<$5b>czbCvKcSt+u*gA*=%dH>Q-Bc11h zzO7jbXN)&5mBf=w2anK6P$YcJZQoWa2#E!v{hFKxxm7Fc)Fc9iC35{|Lp7bIDjrhC zgMiGf4r2yquH{U7WdMio;XS4Y%Ry{q7#kv#gZ07i`7eo#MMh_o68E*Fd_#nrri^4b zX+slbsv>+8pmck%oLDU<yTk`c&RTk8mVQAOK~qMQ#2raos*zaqlvJZo>L()8NRJ#Z z8DReF_eq2zsjEXGs)yS{k}ykS1B!ZrY0f6O65^lslJv3g&wfpDg-&EwF8wrc=hSwm zPlV&n%%yE_@onOwK?)`GNJ6MQ0drMuBYWCH5dkD)uErh@*k}#GcFl<-;;TN+5vb|b zctkCv;*zL7f)A;QuO%(81r0)&aUz4EQu;kA!k@7i8RZ)koMaWW`5cC6n@{w!!J$5d zx}l)4VP4xL=BKi&c^{n_Qi`q@G{vimblcVR53b#<Dz&@nl0LRIeY=p^I1%{g=J)$y zJ4tny{}tcKG0i7qLLJtU;jl;LnJu8bQak(kB&;UDjom{#=dp=&3s}YXYz3C()*?Ie zpOr>*X$FUOQFm!A8JKahNSiBdY+x3bJZfD8n{--FLUM4+Mx@{vM<W!B9QJEa7>_ep zkk)U=K8R(rhU(X_faI*ZO}cn`5t*O}lx^j8|0rt-)o=Axn^DGcQTi!#7hxLTq?|HQ zB;T6(nrsCeYK0_o%)IO+CP{n#+|;w1ZmvD2c-J{i88bp63RjyKOE!B!D3U{RCs*Zh z&^%65VM(J34230U4bHS}M@SYS9TEK}c%)2<$h1|T;##zRtjRt@#1T%J=kAhOiw+Z% z7DpyWVK@6%9K^uVD9LDKj)dR^aZK6$@Lt)l;sj@`QSzBm{TlLG{JKM_^60Zr2w~nr zr>P-BaV8OjjWm?hQ3$ZCx+lyD%q`~4iNF9xWKi$t&pzBhwN9Dq-o^v9@=abLR#|<P zZAhQVQAqt{KX8b!o72`jV*h~V{I<6~6`|CSYi!tcFRq-OP_ri!l#8;keBk$FyRh37 zh-vx<nho1V<uSlQEH;(ry7_afSZop_PK$8boQKoq+i)shoyMOs4}aFK<j<xGJnq14 zb2)CC*WtE#b4An68qy4#ciQ16Pbjcq3r`~(syir#2qbbvYtKWddcXwdfk_9bi9C9n ze)1pT^3siP-~5MsCpR}_o2eh^LneJBm*p>KZqkLal4YCRR9VNhIM|rBqmzzcImvcx z66fD`zj4}M-A;gyA17cSC-oI$`q?*q&8~)Qv|C#(aSFd|hYbf}FFVB?n3Q?Svt+Td z#AW4x=9X}?aizE|`r{}3l-H&b6-{_j#STR!lD001vu;K>KT;*^ChCevBwCMFpg{JI zv``4YsjK1&142Pl%%A#u3rbGso1<_fngd1`+}!pMu@z5Me_5UFxiPYKqFL4_`WXmY zeWJrZUKzrrMuBcHupOq4Wr12sE*T-*CXh;FA=)Q+BMN(?DJ!kq?%Ww`xlG3e;lz2t zY?tl;i?gHO_79VwJ_cThq^>FqRUPlqS?IuI+CfSbNkv_1l~7eGaCwRmuOF|ic1ac2 z9ldo$TN~LhX~J01P75nyi&d8=Y@QNZ5e<=6v_R3rM}nN}5ae`^LV&sAD<=;*z=!~` zvJ0@i!orMuT*5kyXNzJnxfU!+#FTW(syy@yj7XX8#zD_9TWBSg(;KZ25VO;is;-&R zf(29n3U}agkC`j4sjX{=`D1EkCC@enOA~v{GOLYQKAdPN6+?W+QE4fLMhrW4RG<SI z@?qI-KY>bH5^K(rm4T}`=ra<6GP2}cRBE9K8^r(O+ZvKpJDL~qNguPmwQZp-8m7V@ zN^KFU8@Q*E7UJswZD=OYtct4KqA&NDKSOfc-#M>@o#)4;YLqtENdFS^3K9&dFBr|M z*loqE3X2sMmi8hv#7H5<kgna*Z>rqGc_y=ShEbHT^m7S`?4d%B+(-6dYGI-*t5E+< z^P3gqvBIHjFQNKiDKj-p;Y*MmMAXOK^8{gVhrBn?Un}%9(JqaGPiann?Ll$aX-{n1 z!AnT<v!xN*zo+dH+)yR$d)}fNUUOcJ)Xz$%vH5mur0%L;@p((;IW$raH52Q@7``Z{ z?rO>WyjwZ7y=hrziEYVZVX)-}D^!8a+Bc<5#*3h1xvWqS7I$WL>iwNNvp;P<;TX`| zOF6ZibFB4T(YJC~mj~?Ev*ln|9sgYVFTcLiEi{YE;!ZWj>X*aK9|va;HulW-D`RH9 zw=O#R&of(j+rwMS%oCi;+oFskQ}@q2q4x)O3<fKs&%WtzzFD};-G{Hxx)V?F$WHWF z7(*i07&g=2&}`P4G>k5e6yDx`kLvQs@M`+D)vGA+`X6%Dl9YOA?Qrurfg>XqT9E@^ zgWxOT&hX+yo>7=HCb!3BO$p54I3{j@qbN!+nu>Ti*O~vw`5RU!f_JXS+*x#-zFp@m zr}GGVhgT1=p-TFp#dtAVjM3QdpDoi{l*z?1s=d~(E;Fkn=*i8+oB<M)E&5W?I^M)M zknOw+hdKDcP%Q}tuai)WoEa!7&-Iumsf3KA>cJ3Ib?Vh+rZWNZ$pO`dl8LcBv_cAA zc18lYB|rc<0u%wEdTGEup|%_S`L>@ui4LTkvnNApm<q=y*er!iCv8V>#>+b4WIF<} z^J}=w7L&$J%unXCb|Wy{z3WVlMDNhz3o7S-3)6oqjx)7WX0HTEH<C-Do)>{-=9>q+ zXXtoVPHKfVJMk8bt&h;MII}u~0l79^#`5CdW6Ef!eb|E&Q{UJ$n$yP;^Jd)qhw~ej zB?c~nN*%0zm%$}MD%|<q*x?^2$-sGY)_qDIsjoQeKH{k^*%_~Mm`JG>VZuS8W+Qtf zS+Uu?;oSPL<h#s;p3UgxZ3c;@9(LZhh9?&RH`z;Ufi?^GL|RbrQ|i$u#k>L}G`jMH zn3`(J{6K%B(Gykos(!d}z)Wr!%sjC6=V@s)qG1MJN~uoVlq{jeI#XKPMI;@L^`RBZ z<X%K$e<C_&9&p~HQ%fuI$-p5?U{jDsR}QoVqzzw}E77mP5v&U`27f1F&0F8zlxE2) ze=M@fh-;2;q_!ewec2frY%fKQkh6Y#Ck=~JBu;z6vOFXzd7O1mkt`yaC)8Gn>0Fhm zEI{|uQr0z1gk4W{mj*%4Z*00DBL5ko{4X}2{Dl0wAi#aSmq_r~FBHL|;}P&0k>OU! zhx64h5vSKwffV0W4JQs2dFBrfQx(B{AK=BGc`U!}S&BFnE6QSvw?`~m^}8j(4$IzQ z_WzjR?fD!VI8Aa=N;O96$f<JeDN}@@k24)dnpa7nV{o~|y480HWd%qi09M-w5HA7H z5t)dJA9OeU2(Ddz+nofIxgaM#sfN{v)}n+p872aEFyGb(<(TUTpJ(1Bv9RRP<lWbe zn*X9W;yA^EqlAv1#u2Gg|1wrNw~{@z1W#o_GFNuVYLs|BsZ*hkg_h`Il0YDiCHm+W zmS~Y0wwCC%sMd>IWzW@IV2KtfOm4MwFVU~FM5pwL+-yY-+$4mvEEjvjP+5JUm8n(w zTE>U0(q9W!VAi2soP~_07HUw%Pt_tTYxD^79a6Fw-(PjP4xwLxv3Ycv!%RV}m`xvC zX`nx*(H@IF+EJ)392Ul)-t@Oj>L>VGb7%C~V}eWde6yYkCcYR2>L5_BFiz*D#3I_* zY)|v0XvW#xv=Y0=d;t!!=&NUW2H8t2>2H>>rUwQga=@Hd8s$Z+x+rNk0%K7J*cGvn za#2GFTwHgcx}(hY&AoeJJ>OtvvdouZfGLkWz?5@JX6KrhfDJ0`xz(qU+f2hY)2ykx zl5dMrs#`m^OO;aljpVNpXHI7j?NBazjFr-P<5NZ{lysyym6ILI!i}auR#r=s8-sHH zo|F}x&aDr!mLdRfA3dBON<#lrL!uSm7=o9syd*hDuX`F0HkX``(5Ixonj|KOyUg3^ zQc-Q1zi|oXoEJ7t`z@l)r8HbVnV=3@R147(4T%Z?MF>|u+vhb+dmd}f?PMV8SW8Om zNGeF;<~ukE61hiT7Fejt`7XmU^|R{ev+p#`i$*Qly)%e2TjDu=LV)p<*h6u5gyTBv zF2X}pxW+%<Fj!P}AZas9RZ`k$Jvv1owwn8%W?{}x!+bkqQCghlz9l!;d?w_cXMXg@ z&=}JPT7tF@L2ahnMB72@q!wG|Y3@>;eRIVAvq#45Tg=WlQSFR|)0f>5G`p(9xM7}| zFKtPEbWZkN=1qLjD*3c&W=C5QZ78nOyIt7^bEIKqkTQs5B8y0Tx?-c7F3RU`pPOs` z_?hl<U&@p~CMd0Mfz5AN1#S&Vwsi0NvWloHbK|_KEOMjJm}q8E=E&9JuvOv6IZ8ov zcoQ8$o#cQM?=kPAi}LePW480inT%^k+4bRRjjowT_3NF_?RV~cwfUrD02;pIjR9GK zQO@U%q%4cq2SOIu>A-(AYe*|k@#n%-mt4P66m+?M)nmWXqWP-^>As_PEzQPQQFQR8 z8-h3Q39C3Q91oVz2*#A-KL%2bY;8!cmJ9uHA`|<v{z~0`eQ`+GHZb5=o_|mCd#>C8 z$NX`>3!Xc-34zzMQ(s0p^HbkPL0@}t>MK)QkhQHnsYONA8Y3sjLq95yD8o_vXX;;L z>_rtUVz~Yrx{&>y!BX_$%=h%m(WLsmNbc^@hvIY`rx=`G3p{Y^ZC06YKwy@l-|)Hh zU=6u>PjJFvP!kJ(Tc+sbM_EIjrY|G=W}4NvvWB>k^nM4`K&TNt=8t0byviN1Lph6= zm_yLKL?eam;`vUGWXllNQpvgH+$3sPb_yL=Bg|EjmK*vv&mK-$JqW8%=|ASK>2#&P z_Hr|Y5Dkgu7#^X*C_?v-?p6bh!n7?WmSW!JeSwnSm}M7T5((zV1Sgd@d05#6N@`iq zIof-m%Wyrh&Os_zmvwFpf)UBIy{<8BeDtovo%NaL&_|tBV$bJ-C;E$apFPY)zG1$1 z&owMVml>CDJKAdL5zE6EYkt$pYmLfF?wDG0`I8N*#DQu4-A7E6KcN`U27=18Fz;s6 zgRIKZJ=&bE;>8osoUL9Ryh=TbC>SSDx$a_ae4Sb3Y{(ciQKVJ&x*C=an(TMl4xLH2 zXX$$5{C?<{&`X7#bw|C!?@WU>(wf=M60Egk4C)t`yyBd`(C=(qFld4VoFf6R4+pHN zK8Ll6cJ>?zJRuIOK|)?8A%{uGgm6egv3W?S%i_2=V{%GzdHk`#X)(c}lhxAXtow#+ zFHp)}cHUdTEBD@=-@HTIVx!PQ#~t7^T8*<#^hS~|xc9~6%di^At;m{`IHO;U1JyJ& z?$6LV#Y%45gWjnIu3a5-`VNydN5;meS;L)mKjUK-hMMbbbJA&Cbq9~|S=gw!q$wS} z<Z(t^y7;u%;xGk;LG3lcOw_zt$NHvB?!ZTuJIo+vtIY)W*7UDg7nZYhgoJ`|`U@?# zf&SRW>>!$M`UNJWuIMmgl*gmkLk_ZS(?`c%lMZ(&XFK8NP#)0^vSl6vFEG>}Yt=qY z>WCarV-#iQR(@uObO3d9Zj~Ae<}6f(n;Hky?Oz`=r|lj-I0#^gmZN5;ee)19uN-uf zbLW7xnioz$Qqpv@afoy00q1WU<dahvrqv*^Tb#kb-RY_O47=@EAgz1AjGqJEU%$BD z#{P{%{LcENgC^i$Gs0h&&6#v8aM9Ug50ykMQMk~#qpD^cswS=IIHD-)jLMD@Eu?Zl zXzx^j#tYp#^O##HK)x^gH2Y8oBzw6P^DLtqvNE>|&pEgH8343To6masFPXZZ+i2fw zw(TOJh6NWV1zH#tgBTU7eP2E-U^0`E%lVvRweM3##v6R|Hc)r2ZWu6UP8uu_SKF^7 z5Ei+b&tX|(bW>KeN_C)b7q?VhC2@*pFT<#gaK20zQb%f_ppm8Xf&=AdHBgp?2g=0N zzUt06{THYVS>0fh!O|&%MP5GTWr9DpB_rmtxWJV%cw()<Th-`+9pNw^epR)x<&H5y zNn}p<5E>yvDADh1(g)ek#K;gD6diD^_G>B>y~3*2ri=>?y@k#|fr6r^y=jEkKl3E7 z4M}aqf+KgXac<4$1&vT`xA250AV##H0=5ek@I!)vK3Iwme$0oDmHS)WNy*wIdYTYj zZRu7LFxIS58JMfP!&x-K4>+HK()5vW=nSz9Me#w3T`4{giqU44ixK<NS-`KgQcF~+ z$)Xx~#$%3oPu5N7C1^%ShRb#_>rd!tunBaOeaO;`@Gg0VSi}FyYeUlc*jfuoTFFEd zOR8Z4RTBHrnM_v=qLS_KTIyGvYt1|?i!+C4y??`sV=b9MS0Ju6Q)C6T`W3;Z%o85d ziENh~l0#_RtCgzGELP8JHB9M!#^AHfT3W1T^h?P+q1$V+gEe9y%{FPzuSsRs@Ay-r z&&$%MWa*cg*GZ8R;SHL@d5gHczoSYe+a|;+l&uAZooROH4pP=g`GeNXPLfFzb`#S1 z2_-JE19Kg4B`^wb`OGw9drEbu!t~n%qeIJiU}$Ld55)5#)skz}?aZlPlQ8z#UJ#-| zYO^vmzd2P;V*j5ETWQQ}A;NIjCB|%xCEmF;jXrG6JdLv!xSAK@X@Sdl!B-26nk^;Q zowGGGn&>N2cRRN_tq77S`L(hZ^0u`V19Af$;OpSM*@-NJvG_<B4C7r?o87^iy*8Wb zMrpq6c67@_sMBrzt2>@@hy5J^v<IIiJ1y|!Q!YK$isdqQoTPDML_TG>d5CVZ8v5tF zwQ7lkRx1I6-#=R@`m)Md`q#Na+?08k)vz7fn~b?P7;2Kt8t}>IiMVUrKGxYujGZWb zLanz`MzcgG7IDuLahiX|7e$b)I}hh9p%{<(HOiH54&kp~Ytv~>ArTCn#S8~^$oQ)X zh^?`%yGTMs6NUtL_ntBL;MAmDP#8v#36b}%i_U$y`ln#i)B;*>S*Pvjco$ClL? z%=q~elnuXpj0WVh4c6?B5^b?x@W;C;BYJ#|yQV(-^BV8xS@qdyP_7}XGtF%KKWAjn zLectNCDB|O$s?N`pgU^fn(!runKLO{ZL*IDdN#goZ=z)9FDy|a4b+7tIf&rq{hz40 z&UP~#62@?Yv#|LPJJk&HQ3e)?F*x^tH_b5TT8Z=h%QKll3XntrekU{W1ucz%R_!vl zu6JTwtI@B2wku%k4*@aLHLf+aS<jd)!%M#cTQ)o{<ty6y;vrvlB!}@s{CO0_`ltZs z3fJ>dHs*_rgZ{Wh2W%`KXEPa`u}qU^8Nd`Gtzm`f-1-zBi0iySJ$H?3COIw5Sts}8 z<+Vm%m)h*yTBpLCW?Q^x1F!Vd+Cd-yYm=~2?%cW>C+BZ7&rJ<xIqNRtBg?sU36IuH zGk8uOY8JK)$4P80(iq7HrP*8qcI&NRs5o4XL)iMFv+i5c$~Hy3oMB$wp_-Th?yNKL zAangr28eU(Pbpw+wfW(1ey17vQuDUsxUj8DIfV^QQ0G0jGyEy5^P3)CLis=cawvai z-5gx4GVHJ%DF#_>{WkI2`jH<!Izhz8W}oAaF^s~#^M*_X2XtOm#D*kvo)l8G*-}>+ z<t5PsS#I^dD)cT0YpM^@RaIwOUV(>b9w~ZgNut<T7H`U!4Nfz|w82YY^r-kX#J6>( zRG;4bHiKMr_Jpiv$aIiF9yPwvac%awnv<K8gmQS^5Q443>2~cp8C&!2=C}j(2#tMi zjAaHm5bPpSUwa%RYp-#*{ngfz;(tXArj2S*S=&8{L(57D#>Sy>ye}&aBu|6{WXYoR zJy=+9jhe&f&&Pd^I=}K3&D!?hXM~&KKNL|-rI@I}J}9IBm%CT4Pr(h2lA`RU!W}#z zTt1O71J@X3uEEEm16dpYC#BMwiUd{3p3PQWl4fnzvSl_Q9@M}hNeE;-!hE}nWGGc1 zPd%s4GDneKLvjGcS1HB`9XaviNE~IJ5)rQKQ@w;(FbQa{p*Dyv{NvkHXAi;5a-v(C z`r^gH3Wfzd%G^(xROzgOnu~kNc%v|Y{{$u`D4$wu6mDT|WDAsPz{x$PmVRmi?cZF+ z-U3yHJ4XL3ya%Jx{3B1Os@RU`W_KkhwTO`EP<`_mS~KR8U+7dTIE{Ja&Tt#Gon$nl zE(dWJp-%nLFGR6dIAy<_TXIXDnE(n>ay2-K8OIy5nAx_qmLyOgtQ6Fj%*-=qe@HKi z0nCq$syuW4!}7)5RiQ;?m+>J6id0FQbux>KbU4=#b?)3Fg%G{}A@pSk=NYO@J@Gx( z+{gD5$inzGt&2vIBM=9%&Ys$We)D#=;$X>?T(d~*H3&8|nSsg$L4-o()4BCDnT9d8 zE_0<UD}u4Lw;fd;UFHK1Sw-$AMSfUDn)r(v5hd^Sk`)Y2*Ymsk6l$eaD9LZJB+_ZC z?#wseq9VdWMx##Wq_ehmu!z%RL@#$oFo~*F_DyBDl?uh~G*>`&P_=OS)^ylwt2<5* zvwCk}v{^^0RD(Mo4Ce-R%T811{Z?J%>mVhkZSqsZUab`AH#ms$5NI#mLjx`}s<cDr zd(bT?x#j~c4Ean`t;tA{$e7DliznxUyYchy8+U-d7c;x*N+iTJseQy>ob@d<%w|L( zocFxQ+iwIN$`Lbg(^wA>sk1CDaCHq1dn;88aoAtv)vqavty0V_rw}n1A$&%RTW^fp zY)}2T(vF=bG5SC~B*4=@Q8ksK&3H(1Umvsi=+-mqUO_!8b(bJ>RT_kck`^w4=oz2- zwmQq2dD6<s{fq(TOjQ^`MAUW8j=)Q)pKZQtBiUBnNhi3h<-*+j`^bGNgVvX9{sEGR zNO&hvNz2S>)<X=Yal0`ZAdBD?=G#SKJjZ;G*RVweNW@0_IHN=HbIvdd$%?KtCDDXl zS-puTv{HE}Vwupja?ML6W68l~ZcsT0fl8=k*}`^H<U@)jw_TZWQdA3@6ACGl0(xdK zv6O82hzlWrpNr9j5G_^2VwJ3Rizru3uw+-GLsw+ulN!^ZTID%+Zm>hOs(rtPvK;BG z{Y=ms-NO?H{RW<b%v>f<@R!l@1ap~PGv8k0k3-q__{PCC@7C5Fh^ikPxV*RPmYM_6 z0kfvSzBw?k$ERj&%~qlI8?ow$vto~Q!31rW=wT=8P}xDGS$oy?u<(xFOYiHeWgsP# zT)aFG=O0)ID^^KfcN36{h|5_lk9ol<i^Xs#!VJ1=)5TyRo4{4=Mm$HcD9|-JJ&<fh zkv<f^_enN#g)O(Tku&Sh7?;YX7>2Erhw1%VG`GJQ^J0PAl8jr?Yx*E!U4=K2it(Ud zQ6rhrtZtLI1dW*3;fTHQ-7(GY#w6b|7=sK8vsi6UF!k;QP1I`7T{{)D%r}j9f6JY_ z`axh=-H>^}`P?qy;<rl2GrJD5de^xKlln23Oy<F+EPK<&BrJD#Zc35s&LNx|Ji}&J zXm_K>er7j3=la1cXR(2P^}~G5U@)^Y9R^W~(Yf&ei6pNG>XS)n>Z@{y@SU?&+x_PP zwi4TIm{g4?h9h`GI^_u<CDQ?3teJ-(%{L@AWgch0dr;Ksu;h1GD-v@Vd?KD%8=f^m z;~-ZoK9U+x<NkT(4r1pAmLrJ72_nawwuDKdgr0<*Fp4!2$;P1$QjoiH>ccL{tvDS( zC7i=<#ERSNqK5joFl%3Dof%|KBvEU5qQ@ea%d`kN0xVuIHgfZRyPgfKsk;4%Cssd! zRZy@kcG~O{Xfb=dB)TDUpTCpV$~J|+y5e-hioLf6Tpsh<?=bFK?P5~WABz$q<20L1 zgK^Njk^zL6F8vdO>o_n_hSP(E;qsV|s#j?^8BAB(5Hf@{N#z(eFM>tMXu;~1uk&K# zE;Rzpm%)M=;(^<h1j!5clYZyCd5BydPFZnUI5nru$8oe_LALrZ21JRzsDzD_MOjK( zk00E|rj4;t{uou#?P7|O!p$-N?LHWDp|9zbIyggai<?WN4itPete-Y-G=orT;ji9@ zLZ=ymGJHhw=e8|l=poY$b}_LL$-0_PXX|5f%|!A;LiZHb1)@|=P1CS_a;kCA%$JSh zxHn`U3rtF09;IJZvp#yJae2*p+iYVjBMKEb-&RqNfxq_i50rAjaJMzrB+u3l!Dye9 ziMZoyHmr2-3XD;W@iY-=yLLglF9DNcS7U9=rn>O${@GT2SY*Q<WH6{6fu7s|*TK2< zT3P#Nn0GR%^BYE+f1!axn_2WK8jB`q6;Wudt(Y3NX71&$7WkD1)-24lgPvS-^RHD$ z_24>}7pOi8US|%YNHQuI9Dx}gPKACg9BY2xSRbtn$9iuY9oSBsmKgV3c(wEn=%-nK zD|%o2NhvE{vveJc2sn-K3I^M)_Ob0-oNJyT-AUD_7&*4H{_58PGyIvmsB7>#GLE9O zM_%Yt+6~?L-bud7E~=~mV~m!R6?=_4{MCo0O}Rex{k}23X2mR8`5ssCbIoY$sMFI9 zV=R9en4=k(1bGJ`JxbOSr0X_SY1>&{IxnuM;$(R1rZhlZsNjrRzXB)?&li~var z?B}%klDLWDf^4)nO#Q>nX4L#{frSueKHj{6e&Bw?L>`d{`ZHFsWS3ZmQoc`R>p!Zt z)MWNo*@Q0+(@KUAHQ#)n2!1ZmKjktmg>5tXOlEwvo@l;@bE{CFH1qfBRZ%~VD0^FK zYxkW_5R7B$+uR~XI@m1DA|0`t2h;L9#E9HeM)1wN?ybHta2K0&yD%+>v34#tOPGE6 z`4T2CtnhJRUgKcr&fU(Poo6zxgN->hy>T#X%%RSme-YWd)|AY6<Q>vM0lNYNQ&yn% zUR-P#5K5nU)Yx-dWQHOQ5Jo1y$g%9Mk}!8IeeMr47nESfX>;2=StXRpPm!JqVOg!O zss1JtXWbeChf1w%MT>HGxYweE6iHzp10k|K23P|lvUm(HB!wrCOfHOAC+sN2t35LB zOh)u5<f*#!IgOW4DXvp=1(w6XCDf~{2e47@U+w>B9syRTR=6tT`Fqj2nANt5guo2m zFRo1DZ{oTuaTy*M?|e>p@X=?|N4fNYq|h*m3`rtjb3S)K(tr~W*Ak!p*pjtM&|QE` z1g;w|3YQ_Trwmq5RfH^6ge+BrELDUoRfH^6gsiVr1gXj)W9({XO@BJWxitVf8QE40 zLOB<V*u~}OEb%~M+|m&GzUoKm-f$<4BQ9%Yue(_y!71{a^buyY_Xq#|XDDPs%>2Ws z#?1K7`D%?yj@5<1AMJ1LLKc%*@PGU7yMNKNXMh&qIPd`w1JXJYm<B8WRsu!9-9SC? zFz__+B5(jW4s-yHF5&^nKrT=M+zs3V+z<Q!*a;j0jsd5DGl2bbjG6(Xfr&seun_n< zPy*Z!JPqsx{seRYgCIwZ1g-=!fTchQPzP)SegOOo_$_c4I0bY7age!&1CxR40S|CH zPzG!S?gbtLegW(T4g>E39l%IX`-wm@a3j$7_kLoU_KWm1ZQ4y~+M(s#*}g5UJIHUI zPSYM7*7F_qSY1$D>MeBZ<?cJYy4$<HSa+`~FZ8-sSC+4FS5%g-@>W$%;b7krZdIkX zK=(%axhGU<{MY7`8>NNrvT{ksyGmSfD<~6()x~9nZqEk2sJu*h8hXL)rCx%Nv^H*R zh4Ps~G%44(vEA{?E4*bY)KyihDvK-hDHR(epUO-M>aj|vX=}79ZIxE8Rcc=TP0<Rq zQvT7GTA603_bVh>ZDN^GT57!tV<JYH(52a8w3uj@Ju@@2pZumLX&x2Wo$Og2>(H)C zO3L#<8gjb@-_RT@i&pZ}wDlG1`8fyy(bwVN;ozTqYEO+#*R)Fkeo@gjd%u`iNB_71 z@dF1rU4t(gk}&k*OA?0-A2D*&=rQiGmyR1h;j+soUUB85$yZIeI_a8gr%szb<GSRO znW?j8U;nkV^c&`6WX_$JHUGw&7Gy76<XOBVXDJptm*;=|=37?WdfUo^+gBBOSKm=o zTykgWnzHhWyDF=6W9_>28}9zb#_CO*6`47+OuE!lUR<VoD=E`WTBf!{Tgcx9+EndY zS}cRN1**Im-riy7mR8NJ^m;X(IbJ=tpwv+B^CI5UOH0dFN#shSOfO#Jb$cr-%PZZQ zHjvI;x?oXGj^!esTF(51^CCXAj78b$^B4BGESZrsb=ttV^fGrrMMY`xssg>3AyZUP z<z7?3uq?n`*S%{hbQ!Xx<pm7gBCmUnJDhiE@$Hobl^fi})VZ?KyGk$JFeT1Y>Mf}9 zGO)|^f>p#MMnvkDSGlW<ii+||e7pr~+^Z@4n(|67Y4Ey6m0*f0Jmr`2O&u6_l{>ws z7zSx)=geOaF>~~y;wpDRRh4(m?WG&sg+^s@*&XgOl3FXppd!U(#d>i;Y4P1E`M9ML zo;e~F_7c;5yKx8K?hWNeWn@{WxaaF`g03mA(%q%ScX~-(s#EE$GD>xK`D*v7g3?mS zjFyrzUA3xwO@*4`6R%!XT6u+gwNbW8wW*rn1wDl-tI{itRXUaDzw*o|EzK?{E>m@v zdS5H`R@1wz+_<C2T~$%Aij{)k41fZrb3}thw%0X%+N-<nUaRw#EVbHOFQU-pWvjeX zzIuB|K2o+M$zu*FN%?v*C=B^un=JlDnOb!iIXxlVMc#r6tF)wZ?R8&L$92UK5mmqS z#G7%!cvX7gm&BVc@hS{P+uGtv-6$yS=^*Jzm4TFtIdOruzpcDXmhGz<II?=Hg|)j} z*Q7|io_eeGlzC89PInc0*A}nx_Jj?!k#~Is^M*}9TBc`as&>9cwU0rLp)hM0cEx%T zdqSa%f;;<$zi_*RA{7?s1r%YR)#VY>Qce0w?_GwsN(v*Rd`W15p#xdT))X_L7<AI# zGTe<aqe>cZUBTaR%G35qstwOO?!9I7T6x(TZ<$UVB&=$~^M);`yu*-yRjR=yteQ`& zS;TaiuobdCcdtZ}ge-4fHG(xQyLeS)c~$vp-JM&kYB^`pr0(`uU@dwqPg)%FVak*# z+AQ|&J1SYt$_iMKjj}t-%GZ@$PalSwFjLm(v2k&1q7rPTTO#x0<g^R2zWR;gT^RfF zdm!SyiFdUb;*JiC?svpDyWh7(yu<A4cIU1@_xpDu-eYQN?y0G*VMDgvQ*+OjnuLD+ z*patx-AaLyl4?9P^_oMQczLoXuZI1WP1)nACwuqAn)(`IX>7|yMMVxr?D~p|brlu8 z_G7&NzyG<lzW*kIA6ftU`ke1O3ry+D{?%z;{MS2tt=97|O8aX6B2(C+_56#5xcycB zh2y*bzwdwT3;pj#!{h(q5fD||{SSfXuk;J|pggxk_56#D`fC5e@y|D=|6^`{Z3akA z3H%G^C|^DAE)ntm5B&Ou|7x}E3FXpy-mSN&D47H`wOf33TkrX1eM6)F-llKex9!{a zf9Jd3d*J&IKJ@TEJo1k}_~E15AKUTx6Hor=sUQE3pFI83pZ(J_KmWxqfA#Fn=bnGz z*S~r3rQiN;SM%;Ydw<{3x^Mr1mk<8o&?|?Jyn6JtKfeCPu{Ym(`}jZq>75fN-+k}Y zzx?@qv+Z94r~mDP58FTb_m4Y1Idiu2)4zPy#pTGq`9O5x1J74F5dCM@|35qbzq$SY z+JW@K{^~&bpI!f~teI=p%&Zd9gjUFJvOAlfTV6Ks)3UR#E-bv77k-{>O-lzj6LXGJ zM`vwe`P%OHMVywzImcVUk<<#1Zrov1>6&(<QL56o5nNf)O0TFa7MetMLFK9<o^!po zR~j5t#qY*~GWAM6lD<Z|lBPylk`7QtybY3u#Fw}dN6RVDjmkniB)!UF^|rLgsH_UP z<#`LsyrGY!pwZ%-U0$YqbBxflK$o~0@if9~gp)8D{u+n;5RD~|qiOlN99<oH#C=(n zw{p?#C7cuH_Z*Ui;(_0Sf+{_oGv-=I4i!d)a<jgzWVCE(N(Fa#Zzx}%t}V;STr&0A zDH#hOKaeL`QvwP?c_<b&wAzO%Q*#=CcAz<E6&i;&qN!*xX*hm!7A;(~Z0UGy3TIyV z4%3sS+^&+reNCZqzlFRuaH?3dq`X`*;Fo1R{+IsNT$HXIhC^v1_TlT;X^TN)A3A?h zkaeNtX&N+m^$dT%0qstH;qQHY{9hc`+y7vM|Bol6X)git3&+1V!hhEEG%XE?^zWPh zdoz3cAC8DG@qV7#+dndY@lTy?`OAAO@8NRv&1cv3R=5lKfBdxz`;SUb(^3HWT`2xl z^LqRDE$3%9_V({vzB?Cwx&Kc+J#~9A;{8~k_9|b}6Yd)k?|t)|p5Hsa$aLQRdYbkj zAir>ZBmJ+sIZe9;i1gppryTXS_V$nL*F@;USBGfC;q?2K?~0NO$CrF(miG4V8~^$Z zz5OHem-q{7zuf=oExrBw_UHKT_4e<Z{!8Ega{r~<d;9k-|I1JG_U}6{zx^Z2U*q?O zCwuz5Z#fqHtamzn{fl<@_U~KI0SD5wrJs^X=r>3MojVc!>izt0p32|GQ&|!<&s*lL zgt#=vqLj_iD@!xiLc4)ag`Y0mhdDx04|5>O?0E&n`rPu$94I-ZUTbI6zNgJmypm8b zw#R?6K}3&8G^?PjuoMj96G=6@ywE81&V^XJ5Sk64-_kOLVn3%6QZdB99CllX;qZc@ z7kCTSdcWZQm!4Ftg!43Ql0B!?3odbKG&x8?(hCbA7K8uvi;85TR7l)8<!jbZq6Nie zWZy1jwbFsHBXz%C(#X*ZEk}505=Y9rbVG$#n`QYHK*g*Oq##}U9hg(8msadkf$Qu` z!_>R(7W^M7e*=<zSs3Zivh2&sic|{~X0Bfal11&wPBAgY*eTrwy<d->UzOp7hJJ^) z(nEEn>)w|f1UFHnFHL(gIt%)yVs2=UsdtN!af>R6N2;LxK6<|NfDkslh4af`eF+6m z)0!jQ!9K$7ITAO0jz`lHq%{_0X3P5tN(1MlxKNE5FdyxD`_j@X0$BW%S@IR)qI^x> zyE!eh<x3T@LwX~k^goMeuceCoIv?ET`}REAT8$y?O!NZihau7+qv_X_ImC15+au{^ zg*g?)WmY%e6eSsE_E0u+bm3l9rE9w+&o6pt3oZ~NPph-%6&HHv6cto1EzcH8@eLbv zueSUA=`dO!SN&kk8ci#(=UOyz)dKmp#fG<XgU4H`xH7N_RC$>_CDPVQi&xzl8mB*r zXq(Ugqj7T7_*7`$Qn*y<Rchq&raf$1qL(f!TL+S>{aBS?iP!3mTf-#?^-i5iIkYIy zvkydkGkwAIZ-|;(YE%_T+BX=hS9>d&X@8DhFekg9!fHo)VvMc3EtZyt8%Q%FL(vv# z)_jt-m-$7!IlWy7(<b>ZP|O!=%4zS*IFa1D*?m7zHOeWzo6==yb4tsryrBtvuQggi z>ruM)a71ku8G41G%jkWeSExKKMrK~bDzG86%1Nf!ErdI}rlO$I+g;n--Y%5-n3OSM z9OV{N77Jr0UArlB$->M9oCgX^IV_dgmcUk!bT#ddR-D2`tF7<Lq%A_7EAtph04cpH zgwBAy-GGlqoBj9i|LzvpB?|HQ$<v}xh05y+JtH0nS_#&3!JqgG{P*v_Ti~m<z`{SL z{pRPxewXpD<I>dFDt#B-`T)nMV2ubY{4f4woL&rs$D}RvZs(Z@^aBP0$f0Qcfmk3O zaD<-XCf`y7@e`h0*iX`xxbj3Rhsr~yi?|I2E((F<Jr)r6>41EvhrZ{8zFFW^oFyUm zoY0eHTBV=QQ}SjxR_Uza=>}MEkw-%21CX*xJ)}G}fRwp5^xVQz{C$A<*8x%<xd3<t z@Pp9zcAiqc#{tRjM}UNT4v;z>0>u9fK>QPF6ltGuoAKJcHblus#4r3Eeullm-+iBb z{ri6ZweT1652y2A@9DbW&#J5Yg1`S7ZE<0ygjK%_6UF~))L&|G!66XZ$uBqr-2Zjj zfSUY2J`{?Ef`>)h9gnkNt=zI<%h*uoJo%3Gvi%9`S^L8iUGkQ;sYX4YB7F0Xw|2NK z?=SqVMfO#GX`$z{Uom`oDEv;szw+3r$A)YF@|gM9%~oO&f4kG)v|Ysz-BF9*y7eu$ zcH3JeZ(SP^(t52udhAappr>84$%<L}Zx-!tPAFt}4gW&KztLga@bq3O{H@<o&c0<8 zd)47zQ6Nog|1eFf_$W=QADON_Nd6LDp3>KX=g3d?)=o1`;TQ*b%AWlwPua^IJY^Ce ze?Lv_#ZU7T9HXA+5T3X26r5%}&tW{f{+y-_=ed{X2%h)y6kMT@=V+c8Jjd`n@h@qb zo99zJ$MSsURGP91=Hj`YZ;j^$9_{a?X?OEH!BYm?ah^e*2YDWXzWY^x;iK><NmuF= zT9h<tpA!21!H?6l?*iL^dx3hO4yXav0~J6Ka0}o8vVd7YGB6ED0wx0!f$@MF7zrc- z34jZT2kb!Sztbmx2}t-8JdXi~fxW<sz%#((z@xw;z&2nbPyzI}_w>2+=@jadL7(4y z#b1Zbp`VPADB?+6d4_+|PVRo+k#0QiPsT~)ucpF^-~N%s&+_Cfjr9Hxzk4$Nw)lss zmkZ@sGN!|sN4^W6LqL8q7E^(*12QhY4?GLJ27C+*reTtRg@9a?3CEd<Up}x7cmVhn sa1{7=KrVY;4P*nQ!2j#Nzb3L0-REZu{lfJw?Z8eMa0{>$=sSM?C)~1m4*&oF diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__init__.py deleted file mode 100644 index efbe9411..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -__all__ = [ - 'alias', 'bdist_egg', 'bdist_rpm', 'build_ext', 'build_py', 'develop', - 'easy_install', 'egg_info', 'install', 'install_lib', 'rotate', 'saveopts', - 'sdist', 'setopt', 'test', 'install_egg_info', 'install_scripts', - 'register', 'bdist_wininst', 'upload_docs', 'upload', -] - -from distutils.command.bdist import bdist -import sys - -from setuptools.command import install_scripts - -if 'egg' not in bdist.format_commands: - bdist.format_command['egg'] = ('bdist_egg', "Python .egg file") - bdist.format_commands.append('egg') - -del bdist, sys diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index f480f7684d312bcb7f5da2b28f1b6fd8ce30a24a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmY*W%We}f6rD%rkz~?@(hwq8belypts+DtRfsP@NU(Ai)+E=NI`xb#+mn(N3%-Wm z;4{2s#V>S)oiwyqvVHE+eV<vc*IE4fj%I=9{q~-np~WBVRa^Uj2R;N4LJJ~@A%PUy z(19*w(1R1`!vJ2uDZGTUa)>+_!Yk%i0SbJFM=V64{a>?I6`{y-V-jrQyF}LT#-aqq zH=biQDU5&kzPAV#A&kCwleZ=+7%h}(FM%qJNm(AD6qSVyWq`>yZPEi2JCgv}62^te zNTGI^)=C$QnbgKwW6e!+q`Hp)GrBaf<hsxVrK;ExF0?X{ay3z`h_<$AX`-|l9Ao~a z>mM1llGMeel9V=(NYguXeNSuWgSw4iyZ{V*rA&M<{@CSu6W>I8*H05)_AP-zoBm<& zd8coAeLl6u`I<5^38YoYlTMmR+aws<$uLGE*Jz_DQ_~f%s-lMJKAk+XjwVz)g--1h zjnJGw`5Y?s*IZVG#*cvto%~OjxDbNW@Y9oHSKB=gO)eze+I8jILgs7EfJl|kA-|q) z=9lm0^%c}m-hsMb;$8V(TwmH#*7?_5P;s%B>Vg2nS2J;&KXvvTKK7GiD;m`pPp!1+ cO~s*M<b&ISa>HeQ=6C!o%=|RSf{w$%Uw=R3=>Px# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/alias.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/alias.cpython-36.pyc deleted file mode 100644 index 42101f17aba48dd6e814ce8c50459a4561204583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2444 zcmZuzTW{P%6rLGh)_ci?5}GD0m7%o6z-Cjmh(-cbXehi8K&e#86j{#B?8b@L-pq{C zWVI1exBLVC1pk0%egjW_<*9#RpEzf{Nz==$=J@z{E@!^;oilr9Zm#j`Kfi~gIwAj& z3(W@oK6Ldn2u?Un$$*BGqRvt_utLk|R%#EN&>6U)JE(;<u-V*sPD1Z{!d+f_PIyhY z6DzE9kJrK8;Ef#;G+)4~B%tNeR-$yFlT`gQ)JdLwCuJ_dZVlpLV3ke56CHK)te5o5 zW^RT=yRi~wvoc1#Bo$qXt3hMX(eVe+)jbf$*SNDqep@=FV>%`Wu5>jSlL_4+hwfw0 z_UQy<pB`B9?%9_y0SDdD-Cv4a3qQ{MSoVv7$h6<frJu%HNPiehm1KQ?_rzCwsW@I& z!!*%r!IXYDr5{h}lPSFs*s=yLNDl?TOJoB?z)D++p)4IU1zs&!zogy2h+Kg0Q`s5H z<Op`@9L2KJ%Tq3->TL4Pz0Lj2jn6l;+dSj_1FoL#MkoC*hW9q0^|Q{S&M+CacZ($D zZNby%_MPEgM+sdFb)Ki{qT0;|gE-@zI89=;K0GOFYVQzFi>|5`2*MiFqb)iQQoaN4 zT{NCG3zYlN)ej&92`MKb<21B53vF(N4xjH+;qKR#NeI#3_qg4spnJT=J>Wo{*LlNm zp~+kDZ1OpPe4%uVL!&!eqL*X<Jz$$l-7U1Q_hRiQ*-?HVl%K;lh{Pb5!k-;QjW+n3 zlk(Y=x6XJ}x>5}CBT-U0y;7<ET9E-{0qh6cBRc2QLW&{147FB4(Lf%g5@x}eM9fHw zBYEgH#NL51<)tJ`bOI}lL{za?l{Um%$#>y1@Z44+?U}$=ViC;pGKlNYl?#H<26gG^ zN)@a(*L%B%pTNYI9s<#syrnI8+7rr=?zgnV*@QlW*n!8^_6t1V=;4or(!LssZqhsP z#c|x#>4|~wJPFp$vGKEbAOipCp2+;dq(i%1;TX8p@fRVEuN>YSyR=e~$z|A2BBBA6 zS5QaxUjP9yz5!h!DG`Jv%IN5F1;gv>o`ZndkEoe2{R;{l83M)WghCAf7}S;qnqt`C zY2owu+L)Re!N6i`d(6gk!X}K8!?ni{+#RAFoC&}=2TcBn`V)G};OWX9C#Tlo-#7=V z%d^*4FtaW0j@jiIRdz`B5w5^%E98`MZ@;EJT{jkolRwxBfxYRer5j*tatbS32~E)V z*2F@xLAdJMWz7H~)M(*BmCgP)$X7J9Uu~m#Qw1Q;D@w~1fMw)w=hdrk5(ikCXHejZ zjGHodQ%WSnl={J3+2T;7WwHx(I?u|5zR)u=M?C3j6Uowns+H-o1vPRI>&SQ~ufh^l z$nE_+$)ttvSWYCysr0aTBZ<lymnV@dGRPalg=;wG5{{|OGW<1qlopKs6b7hUAP8+S z7fO|9Xks%gTQ2-Ox=3x-qArxPRW_<u<bj#nfo1%XOE6i!2O?;dUKF7-QB*dfXpr+F zMZFb8hee#uzSN?K=Up&2xlmo1m>VfvojHj&m4drMMQ7=vszhiNO33pHu&@giS;X0y z!6dvy!b?2Og`=9BFf{?ez^+hua4MVHmQ6j@VxHr92COco6E;K_u{K!{f`Yf-3VFg# z*{L;V8m{vR1ukFbV97o+7RUv#Y;YSatH$CO%eUMG3zTl;Ft8qYzf8EdOvcvojEinR z&3EH;wAgM}TD!WO{nEyBkLKHLe4bmKH1Eb~Nk((+_8A4f0>-@$o<cRi{0;2VM#v>H zp>$PV$gYq#;pGB42AB`P_7J)O28aMZ_pCFxz3}^X&<q!m#O9yIy1+jf$`qgQ>dPx~ zT^z&Ro~^6ocpWbWW%wGdTo^Hn^E#NIoEsLK02`kxW@CKJrWYJN4`b<lSrO}N%r1q0 O2wD)qCCh6p-u)kfQ(%h# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-36.pyc deleted file mode 100644 index 8f54b64fa1d57167f1b337e12d55677cb6eff116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13674 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-36.pyc deleted file mode 100644 index f1e95948be4f7037bfd9ed3c15691a6fdb078dbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1787 zcma)6L66%+6rLG7j@Ql7RtPEz5+kIg<lrRRrJ`G{Rz)CjVnHn@BQ$a{lf>!7c4zEt zlP2PjN-alz27iN};VWGF7xu)Pak5!hkQi%bp2pAbee=Ed`DlMX`0@9jqdyx6{ei9w z7wpF{^(U}!#IZyZJRy<u4dR45uMl^HGa+jyA{;+OZTBtsp|gQmw}XK37^bGM2ozzC zjCbVJ5h9nnyzvS}4emjNX0_Mni7uGRr|}RY6i^u7&4f}37ql1)%Ed4)WkE0fXkU!u zS&}JQWRz#tX_!fwohRw&QD7q+cIcBbrD8N<Nje0djEYp3st%dPQ$gdDQ^=!}ETu8L z$W@jLCFgVy%RwpQLhz1_b-zQul;`nWQw1UKC8;iADeuuzLp~aYW|Jb^#0tfWLZ}ox z=HWC><B{Ny-3Ef2!Cm9N6b6{4NlKr5|E)PIRMIaCK%(oEM*v^sG9JM7V?CzlNin8n z$^q^m1FZ0+p=Jv|EvJ2WMTfviUlfqv1m5NxWYat@l71qSVqV7|0MmAu-Bj!=nEEa( zOEiJHuQ5giRDR+tk+C^~T9LEL-xAt(s~f-ugV=CMUb&e{M#@C095`>|%GE*+e?!WL zvx`|bSIG=0?apG=g<_eTbdP!W;qm0S_ux1^<S8FL<NCbM=A$q2hdmghwEIIhPx7!| zCX$DOOLlmakGonFWnN^N)K|?7lI~@jbn?0KAo)$0+H^J|0a@(t-UH4{9*m>2nOcHj zc$nZdTHz(|z%eIlvLb~uaVHJK$;#o*65m0;fF_m%cKjN>#zSJe+h00gTc4#f@!kNN z+`EHTE^nGIRt-39F5P8gO)y$Iz^s3Efx`;3#jOMA_9Wd^_7b3>7UYWFg{gb6i~!<K zpILZTs%rv;1CiPtBxd$E2$GXu$#WNyc#DspW~Ca4-XnVO(nw$x9=zPN(5h3!YSI1| zhcbl%Lw|GjH`m*?3cxY+qSXUkJh*oBf3&gi4(xY}PwSnA=@od_vqNh&RjrLSsYs_+ zxe^!y+cW$9qs{)g?L4&yR9yro5;SIXaQczq&yeW_i*VNqY#KikOy^?2hKUrN6Pdwp zK%auK{qn8R%Hr;}Lf4SdwqLcbYPq^G62+D^)q<~;sbH;=oBzmIH4>2bi^>B!g(}*f zYJzXo+>jmx@PpjgAT7Wd1+^ywq|xnbXzcCVM49eax6ERgQ18KFrhXq5gah1y$HzWt z1wMHPtQKB;@Sn7twY|z`%=8XpRlwLZ<E1oqi?QcrEH`hOjPY#1nAM-nSr^0n3wC9( zL>OUeqdtGnCBA3R+HUlrArk(GQg=4O?p&g(nwul*TywgMY%O!w%0H>$otnbgnzx+4 E0LLo#m;e9( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-36.pyc deleted file mode 100644 index b43159da1cb290947ae3968614bf397c1c8b951d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 988 zcmZuv&2H2%5Vqs&kM;)@#1X-&;<ATsTB?d&gis|Uxb3BtK;d8|>oj%hb%LF=>M9k7 z_GNet9>Z5oyaFd?vP)@ECz>x`oSE@A_UsRby)Qq$g;yRSKgk{Qfggg~Z2&<8RV1UC z7qX8;c!J#!!4j5v*DUk|JtAZO7sQeI0`adgAcx@gIY2@}DhNb(ntU2E;fvM{34PIq z{H`0uLfVpFNG-K34TYQqRzO2F$lrt85kO5c&{NaeyY{YFO@)8fHqQjB8TV=i^;)Z} zH`>@yRTL^&Cb}G%1j?5(QgW5>MZR1{T8zqkbdj60QDpK;i`%r*vMk;NL0qMFQe2j& zxt`=E4WzYI@@jXwH@l5=9h4j?<@y`Km5k?O&!A|7>c`9tus<W?s+75QPal%94)vXH z6LsP`8-ec0I+oii-Yi+i7EAG+m_F40y$T8=&!aL4&Lb0?<VqyQ1~U;%XW4A`V5awk z7U`L=7csv~Ul-F|uv7=fK_QEsxROfjBtr4M{o*vRNm&(To-2EoZuSlCT@oCNX@h_k zxa|RuR-1O=Y17sA{m6&9UEm#~;Ts!iuJ<JnL2JUvYO92i%UDgWDJ7q93_V=`3=FQA z&5u8f{jkra<)+dwHmUP-BU1yzOdNx?F*P0F%_*&6fS->5w!m!{fPh+$Zh5Q6|0%BY z9P&}yxaGQ>>u8y9?s}Xrb5SYe1J1uzky`(0j-si3XFqJqG@GI*oCJ%|rM-S56B>Ad na{)u4>|}GwlY2@Gs%(PI5Lr|5A7F9UeY@854&_?hYQX*gwCwlz diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/build_ext.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/build_ext.cpython-36.pyc deleted file mode 100644 index 9e7d080d377c39256c5e22f9699c82637d27e564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10014 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 JTbBy+{||Afz54(F diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/build_py.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/build_py.cpython-36.pyc deleted file mode 100644 index 88de789cad327900b508e4c1753b8b7aa1871503..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8583 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 A;s5{u diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/develop.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/develop.cpython-36.pyc deleted file mode 100644 index 9aac041a020842bd5c4f03d3193bef5f37b46c63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5900 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/easy_install.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/easy_install.cpython-36.pyc deleted file mode 100644 index 345169e699337cd74b944344353c9d7fafe34273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63994 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 U+WuO-LK!IDQ{{MtVoqEBAK}5LDgXcg diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/egg_info.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/egg_info.cpython-36.pyc deleted file mode 100644 index 16735c570da7724506e1de64bf2c1b5b473ef9ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21067 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 X%ZM7yAWoFSrjRURN9jU7f8hTBA;#d3 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install.cpython-36.pyc deleted file mode 100644 index a61a002098976b709a04d766b310f744e5388845..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3984 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-36.pyc deleted file mode 100644 index 2910b8faf991fb7fbf7f9c9d69139d4c607648fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2449 zcmZ`*Uys{F5Z|>O$N6_nOWSLqDya~tDO}R3AbL`%Dy{<c<sK+1k^x!1>?Y@&W4pU{ z+KaB@A(h~TPk_WbUxSa~SDyF^_rz~D@%7p(iFS5&ygM^HznQV`b~?=;|Nh1Q!(;3p zcIsCH{}4m}1R|K=F`IFp&n(~Kw6<c~w=vtXGpqSEBXhvJzH9heT%UQqx8B?E8{abF ziux-i>e8JyWo_yBEnz)jeeYjbV128!<8)GbB2qz-NAYf-m-U@=HVYF0wwZ)8sk3k- zHC7u%0`?#X)o4GO%Mod)em0ng82W1v$$T!DZwU@>x$lVXg!?s76YeYK!yn;cu8W3f zV)jH!v@thCM{HnjigWPqeA$f>oriH8$jKy#l5x5iJYGq9VbU8wx<%3+T$iIfRfoNC zs(Sgp?2(h<L>{--8n&?ItCEZ3&DVSLw6}iR%hM5u)AXa+!q~ykO%TD3SO5x-IK`$_ zIR#BvI$Fl#znJP^>+#EBrlNV6%i%m!!*Lo5sq}DL4DW4Ew{L&3o!k+Lm>dZGd@neh ze3{+5jo&00em~5jY-_KGVzDJf9Nf8^?GLrgi!4vmSf6G`D`bY17gcBm*<pDhN}@ap z<7gp+G|Qtj(eKeU=st`uK00&e?EaHD5So;WCJs-*9I+{~QPh^mL-1VKOa7AQ)|9f5 z9r3Ayf$W+(OD3F6_R_-IMeORiH*HLtIMX_^mKG%K3B|NyV(RX`j%Xb1sTNF?UUjQQ z;{@ftWu6(*-zYC3JVB8NIgS!3s_T}QCJ;kpf*^u*w8~C)FbR~@X`ztFW&2U2a~16& z-_vAejndq2k=;2kgIJv>Pu$g!(n@vdWMRHvI@2^tR&Kg^s9>+Gr$wF>x$fJljYGaG zqhK@>rMDMqNs3K&tjGpw?N%OEeqV-EUjSj;#lOiNegU%wy0~!$wzp58fJVvdVi?f= z1hWEd$vMmU6i{L9EV;UGR<+ft&9HW-by{I~!ulN$CpXQW#`=W7+=Qe>>oLHmd6O+| zlMJ4o=j~}{wbw`p?u{`L0rNSMkFCqq?(Py*X27rQnkb`;>Ovg`sz?@%@8m3<N6DnO z=<cN1A#opTR46D~LJNB;RMi#SP+bKnYmr7dst<^FBOOP{fuan?eo`lcTuG@uG>_#A zfUnECd?80gE=#va%>Ik?v?~)`C>flziP9Uv3v+xE8+_E*swbW9iw5?$LAK%Q4II&= zm;ux4{374r?*rF1@V#O!E>^m#bRXcz8(<Qk224T~VXV54x`uV1zte7uN?@Il18l3x z|JoUAr#7BgrC#A+Q1o;U<W~l`xv*Y&sCM=nDjx&2P0$+<?cI@SFzZ8f*mRw5z`XcG z)E=>)ucH~jd6YlbJ>-tHiOU?g$|VKQ+#ifuqm(k$o;s8_D-%Z?jn~~ht_}1&86G=3 zPoE5r`S2adVX04HQGEu|ua!-pq;mZ{%J)sMN;k|hnFvL`mNg;wib>xtZLLP7Ep(1X zeh_7Egw&L39pV`(_%4oVs&3{q`DIjQ8(1!Gor!6cEra`UItpX`V6awz=0G4S$|94f zXlSHQeNKd4AC+;kt8Rka!O#>>X0=<3tN&|j7rOBs!Bm3?y|ntR(hCAg(I6<BK`={2 z5fk4If@eh-ub<R|K%^sxTSDrQip)EsY!_Opsxzr`r1LtFK9O5Q$hlMLPR=XibsZep z*If{gJC<X+wr6`SujAQ@p7z^iL!bcZQ$rgtOre@u252YmJVp0b^ak=bUrPt;4-fOD nvWh2Fm*052s!FMhk$3r4diPgRctAyEpzLzbY6HkN_w4@w=UZ|z diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_lib.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_lib.cpython-36.pyc deleted file mode 100644 index 441664b632b7adc16b89c98a24c0ae194774619d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4094 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 F{{qMaA9Mf! diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_scripts.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/install_scripts.cpython-36.pyc deleted file mode 100644 index 3ef4af4363f3c1afddbe52e666aa143d57925cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2289 zcmZuy&5j#I5T2fYkL|?S{1SpNK>-<(bwY&5iU>s_O2mN`B1n-2q1Jf1*E_T0nMrp$ zj;%3BI1)FWf(v(^fXC<q7f#$cae=C~y;&B<>YkeFa&>jp_f_BRcB8L<{Vx8YWm&&l zCmt8%2QcK9Ffogf!kUnn5R~o0&Yj$iJtO<EZ{9&1z}qRpNh@wmqBxqg<2JD#Tg+wN zON)8j%iWa|yUc!K4g5dAuQedrDXQ`Qz|ozDnN%VhO;uKvy7NV%4nOBAVTnp~kC$>P zIAxjOsj9?0#XoN!2ZRSO<a;o2D<;f}ZAM~;+01!q!G<OP2sdH@3ttilxCJ4!_1UbH zDk%yoQ<2q5E<S!(^~*|3lA^y>^*0tb`*ksu{iK}t`FKpT@}TO^L{isWY%FC;V0(P< zZNvB!hP(umvT~B!jkUt`k;bA9vtWOF|IxtJZY8p@@WD*)WM!tZq{tSWRyF29YOky) zuOUya<i)|ymS}_JU(K)<+4Ds4;qycc52}K3A%}ZxcyBM?yZzx_d54v3e8l8zMCap= z>U+208JEMahILlo8cnl;-QujEckb4QL&?>&R#jEVlVVy;CP~SLr&6?A&qW9!bYMsX ziA6eOas9N_e@}9p9z1{t!=&d=5EvA!FezF>a&jmeCJH1s_ry)*=RqE>lUMp<(9;&I zMdCgt5u`TSFKyLn?7XYa;0)vJ%7(cI<J`(!I>yccJ6G*A2ncKCEIp(3K<k6nXFdx+ z8#E+8zYLo|{KP`AA^8RP^3=ur(vdBGX}mE3ZJ1wPS)dQ|D=6i!HRz}H;yP%qHcr#Z zUtd`(`=RyCnPmj~Tx+5q0U6JJdkPGK;<xq%;zWmAIO(n_%NB|{;xBkQRmrH}u*85I zbOu=kz{YKwNh+o#e2pJ1qI#|lt8y3Y2XE*%UsZE=Q^H-I$T>jPKwSqLt?v9w-3EX3 zcnP;V=3=m6hX^3xHBue0)?qbO2U)?TfaYQ8i({_nK~@_4vaK(H?2OGRM~UPDAtSnI zZ**lc;c**t@Ej0~%n!g#qLhd`PYfxaicE14pMRQ_teVM_O6|zG6lc+yJK~U-oy`HL zta(b)B9T%@2cnwLIuXev4l%?;jAh(PBt7H_&_;J=xWgvzgSLp!pUtz_=NU~WOuLwk z*dIy!icMWM{`}Ewt%G`OilcqwPH4yc6*n`KT~EjwaT%r_4EX^}Kp#6IAvt6F#J63L zZPGKk4vBzTK5^malgRPy5LPac#re}@!(tGX8a9GQJOIj%VaV@c0)pAtzL(y_Ui!pR z(7c(`AlbZ?1K%5p<pB1T4Fs_ARvtBhp`mYJ4m6YB0>z9@b(?^>jdK|QzH9;1fpo^U z1+)W@Hy*45MXta)bUYv69xU#dLP7`azXEn2;nP=DUmfyo8|@!Ac|(wat-bVcQZe04 zr$X>j(di_SM~kbUtpN=j=--grb`8F6NKIzh-@vZ@K~J26^NV+IdKV|`%i6{Et=ro) z!iL(eq;_k#bF`aRSt+idosa#!WIAACj(ii?wxD5yQhTP%5L;16K8V(+X|I_=5!E_O zt5QL{;26T^agdGSYT@ivG}>2y53axfPNd1fX{5Xf``v|MZV}7w**${|KnfxT@DY;5 zwe2xBEZsc`=luZ@H^9Ll&>=NpQK}<KA)sl&LGDocY?>4pFnk4+vMQz2ba;bPfgzj- z3!AqvD8?HLc`xxc2#ITlZuqw84ug(vA!XnuFQmzM{MPaJaZ@@Kw%9?>=ycs?-bd*g tOuAbijj7<Wnu-*94fd0D7r|=$UuZhKzdqk5*kL8op#w|`NoZei{sFOVd&U3& diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/py36compat.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/py36compat.cpython-36.pyc deleted file mode 100644 index 05fc408bca2e443b40a4cf4ec9d3178ac312b966..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4634 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/register.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/register.cpython-36.pyc deleted file mode 100644 index eeba65908a479db69315054066fdc9a98dad768b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 604 zcmZ8e!A{#i5S`t1h)Dw<fH-l>Az2WrN+g7kIB?6QJ(<JGWHzqdjqUE*AS$FD$j|gQ z`WbuW)L-a{StmgeBhC0}cIM5S@%h2Q;O_75<d6Zp!j46RugTpB1q5UU3Rdt$+yZhG zD?p(|!Cyqek$r_x^pEObHV<)YoWM1?JEou^VF(GQuBhlGJ!HsNknEud-9END%Uz@G zoRoAHzJcL}+#OMPhJtjwFa`}NDa11bj6nT-=3|{@DlZomk$tjlspi#knU?6I%I293 zOkPla#C+tmS^NPTQ|^B&Ynwl$jg}9om5a)twoXn_UQCPW>E~&Ah9zb{&^_L(r|e68 zaY~kz@|&#ldVJsJ2FDtWIy<kwOQ)N*ZmP<-UAR#qw<}KSC%Z?p`{XVh8u)<y8ooc1 z%Gs#zW2MS;sg?2rrIr=8Cg7n`Kikx-Uu=(>*SqzV!fLKm$K0*96ZW@dVOlpbW-;#? qM^SQwbosW)jhk$wPPSTnf0OBI*W<$3K5+Z^axL&G{52PjJrr-J6OhvY diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/rotate.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/rotate.cpython-36.pyc deleted file mode 100644 index 179b846fc9886f5252262b44cccf7f266b882992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2590 zcmZ`*OLH4V5T4nGv|7owtT=HDA+?7DTO^heQb0_ZRH|Z%69y_20YPe!G$VQCeR*b- z*ea>0LZONS7k&m8&YU>#8#v9C6MsP`x<`J7WVfcLx98RK^*23xZ(+gz_OBmW$|K|- za_(_Je+Wf>4}uX!W0KGorKnr6mDnxY=yvQRZp$^g6Bk+qXm{dbs|d9ldr7HPGHr#} zPs*(_C7%#hWZnzHJYJsKtqOA<lX~f2ScTN7u5`2X85b(d+iDNK?Kta0wXzdQHB?b7 zKg(5=r5_8CiCt`$(IHgDM_H1zQ`W_4P97JOhfw5)AUJ7JMp_o5Et^>_hh1VT>~i03 zxqSjoSJ=V}0!}ZoC8#}CWy?^PSPh)Jq6;EZZN*1#?C_W?9%M1&B4FT?h&td_mdeq) z?6qyTgMH5PDD4NkLCT+Vse)b<b2%#{ZPnfTNYi9?4K}Q}NM)e1z?g##!4HO!;H*9? z;aZz463~~;Zi2$QDicS+^F1zjp!WDhZ-TbqGZ$Bd0sFI!beMF&<E%HI8eO^IJuZs9 zyA+_p2Wtz;BPj9;2u8*voJ+tFbc+$dhVIsF?HYfzhf{{&n|5$62#X_m-207)%P_%A zHggd@0~njn+M?Mr7|P}rYu?`)Y~6WpE4|B7*57CHc_%#Te~{n515ZC~e%Z{Ue6ur* zVz$Xy9NxW`?=>Y?!(3%qEYGXmISZQea5eHHU5nC4MeR5m@h~&gkymj`1rUT5;2o_U z_x^v+3ushefI;JDP{w2cSnPYErYNIR`XdDkAOe;fV6o70R8=-wr_dH!Pe^*rA<EhJ z#pe{@r3Cuf*zX&XT3-|8;+(25C{8VL$Q<UrFslqaR+!QqVrD^0364)`YT=;*{Qce0 z7oQG+P%`J;sCN`(DbP~{Nd~moFnDZAp0@?y&g#d+I;GkMZ}c0%dSevj>o{t?!TbI7 z`sl`mDbL7bSbM^i(c0!F#yLoE{SFV>X%MA~_qjL)4k?70<S`Tjd>^*(v^t@RjOl<* zVOzgi2ao{_Me3Ho0ouiLmDeq8HSTDdo3^<?CeHlr7>EXY%OBjrd2vjEjBXvru@|Km z;@#Mevu-<<4?sB?H>0<;+c8I=2BTqNtc<ApVi|RGTU-L6ZP=CeziP)rZt{-yBN?Sq zwbL#am}GPX9Zvh9I?A~O_wzVX`Z91d9HxweL!6zkuTI4Z&WuOmY)`uSve$1xyFrXl zpIWqF`_zNFN*D39u3Dqj*X;KceB?N~XIT3;D9A8mD{#kRc1#mG0sZg~Wa$oh`uoHJ z%^o;YNa3qwY^@ToP~{GQmC)jittqg1Vl$T&fSoq7a$=9|L1_wnhT6wkl?N48R10HZ zH;k~c1x7D2@{_ejCidYDj(ocPoi%YLuIcTKU1T)$T9Ut*^{QZ@;!m|asG&y50opH} z=ugPO^(XTaP}<cVur`d+UM4VYVczM-Sx3`%PNBHK!)wsV@NflrIG_XAB)Cd@)_E@4 z+RCJM@E+1$pQ}Vg2?wIA!Dvl;F9lG%3Fh~qoUrlwadgBmeH8&mS8g(M32eyYQ;9kG zrW}>c6*K>+ujn$250BHDcpK(7<kXe(+1t1mrtO4_4eU_|p`Ae%rH0Uug)^aaQE<3e zB^S17M!4X1<>{Q`MJA3ySWCN+#0*}LdwAW#&6g;_xh@RTI7;{Hg*kiC6J0#cBic22 zK~p90JidgCwqe>P*ku3$*<7(Iv_@Be#~$^pnqhPWGI0f3M*bOYaJ2~dEg_<W!Uq9{ zGU}L%#lqaMi24$WDjIz4g$9c-)P5Ky85_nN^hy{W4BIiH1YgB4WLX!KGUKuf$p-Im zT^RyACkIt8b>Mp8?exSTR&kLVD7I0YonWJ3Y7#{d=$yoK;!($PEX$l;$MRgSX4>lu zdJ)5CerFme=ULC(@y2LE)T*9!;`qBG=PAjA7@5{uKDz`P{1AU0=Gn+UvkS}tX4O}@ XtG(?xJ`eERNJJ81058S`qGbOEmOQKB diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/saveopts.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/saveopts.cpython-36.pyc deleted file mode 100644 index 5b47b7e188450fe573af317a74f530826c2dce3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 935 zcmYjP&2AGx44$9O4{fTV01`+&tVAz4G@Gh|Hd2L<Kya&&id1O<jW#=zbkhCH%xq|* zjX0!Fz+3PdJjPr(@d}*qq+7^H_Byun+5YUKot>>uKfi_F2|~Zn#`C~_4Wjo!al~<g zQXJxxgao7ah!ak45vPKzXh^wtj(UyXkcoQ4ZVN6Ai}P$OCw4n8jLb7OinNGb!u^AS zcLnyq5GcePg@j`OBcaCu@)m^+-T>gHZR=<*07x&MpM&Mcd74HUKS*RI{JR3$H@P4A zW0{D>u}k-LSrmyBd^14{Qx^SrJn?ho=jKu<z;b=A{}|)CxfXnzAa6i)0jfe%w8RoE z$@PZ{Pw`vy<=v82l;bO+{8{(<C3s0iS9nTS2%`I+$<hO9ESpt>6UZ7=&5BIDib}L1 zm3N9}g9|k4ULex|bclg&ttbYvVP<-!+y)k%dQ{(y+H2bmm)a;fDjlhIw~n%!1G_sB zrvAaWjE!wbBT{X*U~n$RQJEO!h_`J=R2HSewz#@ss?2&V>uHgUt>;Pr<-!=5O|+$P z$}NQomTDDSI**bcNIe3SKV?uTIggA8=8+1<dBTO#!H@?h!|8DFVwfHBj8Cq({yJhe zljGuK0B@27AA>>`2cuFZ{6O%89Uc{z!Fo3)&lA0A))NNz7tk+mEQNL-Kz-c>g>Vyl zq(j=6kUiYSPsyV5FBuZg-2E`-W@XH7F_z}MOq|_eY*t1|9ceMf^BCOQT<BQI_1UT? zP+&dlhI;ILZaYr2yOTC_;E}cOtmlQ#{*ThH`|pDbC|r}T=smy&sN+*PWZOQy>+qGk KM(wuskp2Z<X#;@( diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/sdist.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/sdist.cpython-36.pyc deleted file mode 100644 index e943bee85650658ee781a814b519d36c6ad19b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6119 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/setopt.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/setopt.cpython-36.pyc deleted file mode 100644 index 1b6a6935cac2001b5d75aa0e27406cebc0dc152a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4613 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/test.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/test.cpython-36.pyc deleted file mode 100644 index 0c5ad1f6d5845f9a18fdcfa47fae52cb4b2dbe61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7462 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/upload.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/upload.cpython-36.pyc deleted file mode 100644 index 32e814fdf7c127c3f1fe48450e809a9fe394b3c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1363 zcmaiz-HsDC6vyqENirL<u%K2T?FCjZ5QAWc53Sgh5CT<ITUDe;%LPp@tV!(2Iy)H~ z+mmIYMO=iJ;Wc=Sx$RY7p;tY2J`@lwmd>%yj6aTl=kG_myWKxOy&oJ#2>pe&8pP-s zn7IRvA%+VyaD7nVX)p*e`Wdm1MIR80csL0b;UHl61SPG%VLs|7xM^3akQp1fc-;aR zJOeYg!ErRe47qiKkOeIKfCdqZSPS|VYqJjYZ5G3xJKC+AXI%pA_Zin(FisfHv#PLU zc?=oy(`+WBCRP$Tw3#T0%8WUen)!7QXJnRX!EH@sPMFAZu6b$6c~+YPKWBvD9M@d$ z&ioO~=W5XePl5}yz!+ViNvH_;Xn}m+TEI6NG6cEee$s9tsm0hQ-R$L}%nC8*R4OZE zX_|PQR<lnXAi9oeuH}@T@mh;=+<ZqBgv!!f>dh3u8W~>XACcaH)c!H4(qfibp2E%2 zTo#OLlOD75=y-B`|M0kcz)ChgW9EEF>+xfCbRXKdOkbr+sC&ao6zm>n1%2>Hou-D{ zN?9ojvppQi=`<@@y2N~-YVD+P$$^Q%A>51FIL7nqs|jD;cf-{2bjv)`hcKvbSkTo1 zzrz=Jf`KRSorH_v1VzY3XI*_4Lm@Ew1C_yRP#(|?=P!JroDiN{%Yl!px5K!pHgOoq z3gZDesg%;(81mEG5nq;IS!}mQ(^<{yC#|MSshBFMEv19rnA;8YrmMM<Mp&uqCaw(E zWj5u_&Su9X(2j+6*Yky0x~>b`;JyblE<#ZNtoHC_JpW<E>wh$`LFeSy1M}!^!Jv*o zkZ1vd160@sc>uV`XSm#B4CcRVaJ}?uBA_OC2W!a@SrU87iM91NNcEGj=>QbBQeS}- znybI@dMGo^el0CLNsvy0ml&Khw+M6~ya~3{izjdm&-d5&|BB4}NvDY^b(AS}b(u<5 z6>i+4^i7o&t3Mq|nH*8-CFx0Pci2`5d@8;UPJXR*7I72>aX0SzH=0Cx4}LUPnJ~7p eqA&+5(fi*z{Esc0_{lP_r>;K6J&PFk!hZpLd|N{R diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/upload_docs.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/__pycache__/upload_docs.cpython-36.pyc deleted file mode 100644 index 5680305da8e7f5b1f9cb333903033cda7dc4ae85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6032 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/alias.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/alias.py deleted file mode 100644 index 4532b1cc..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/alias.py +++ /dev/null @@ -1,80 +0,0 @@ -from distutils.errors import DistutilsOptionError - -from setuptools.extern.six.moves import map - -from setuptools.command.setopt import edit_config, option_base, config_file - - -def shquote(arg): - """Quote an argument for later parsing by shlex.split()""" - for c in '"', "'", "\\", "#": - if c in arg: - return repr(arg) - if arg.split() != [arg]: - return repr(arg) - return arg - - -class alias(option_base): - """Define a shortcut that invokes one or more commands""" - - description = "define a shortcut to invoke one or more commands" - command_consumes_arguments = True - - user_options = [ - ('remove', 'r', 'remove (unset) the alias'), - ] + option_base.user_options - - boolean_options = option_base.boolean_options + ['remove'] - - def initialize_options(self): - option_base.initialize_options(self) - self.args = None - self.remove = None - - def finalize_options(self): - option_base.finalize_options(self) - if self.remove and len(self.args) != 1: - raise DistutilsOptionError( - "Must specify exactly one argument (the alias name) when " - "using --remove" - ) - - def run(self): - aliases = self.distribution.get_option_dict('aliases') - - if not self.args: - print("Command Aliases") - print("---------------") - for alias in aliases: - print("setup.py alias", format_alias(alias, aliases)) - return - - elif len(self.args) == 1: - alias, = self.args - if self.remove: - command = None - elif alias in aliases: - print("setup.py alias", format_alias(alias, aliases)) - return - else: - print("No alias definition found for %r" % alias) - return - else: - alias = self.args[0] - command = ' '.join(map(shquote, self.args[1:])) - - edit_config(self.filename, {'aliases': {alias: command}}, self.dry_run) - - -def format_alias(name, aliases): - source, command = aliases[name] - if source == config_file('global'): - source = '--global-config ' - elif source == config_file('user'): - source = '--user-config ' - elif source == config_file('local'): - source = '' - else: - source = '--filename=%r' % source - return source + name + ' ' + command diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_egg.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_egg.py deleted file mode 100644 index 8cd9dfef..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_egg.py +++ /dev/null @@ -1,472 +0,0 @@ -"""setuptools.command.bdist_egg - -Build .egg distributions""" - -from distutils.errors import DistutilsSetupError -from distutils.dir_util import remove_tree, mkpath -from distutils import log -from types import CodeType -import sys -import os -import textwrap -import marshal - -from setuptools.extern import six - -from pkg_resources import get_build_platform, Distribution, ensure_directory -from pkg_resources import EntryPoint -from setuptools.extension import Library -from setuptools import Command - -try: - # Python 2.7 or >=3.2 - from sysconfig import get_path, get_python_version - - def _get_purelib(): - return get_path("purelib") -except ImportError: - from distutils.sysconfig import get_python_lib, get_python_version - - def _get_purelib(): - return get_python_lib(False) - - -def strip_module(filename): - if '.' in filename: - filename = os.path.splitext(filename)[0] - if filename.endswith('module'): - filename = filename[:-6] - return filename - - -def write_stub(resource, pyfile): - _stub_template = textwrap.dedent(""" - def __bootstrap__(): - global __bootstrap__, __loader__, __file__ - import sys, pkg_resources, imp - __file__ = pkg_resources.resource_filename(__name__, %r) - __loader__ = None; del __bootstrap__, __loader__ - imp.load_dynamic(__name__,__file__) - __bootstrap__() - """).lstrip() - with open(pyfile, 'w') as f: - f.write(_stub_template % resource) - - -class bdist_egg(Command): - description = "create an \"egg\" distribution" - - user_options = [ - ('bdist-dir=', 'b', - "temporary directory for creating the distribution"), - ('plat-name=', 'p', "platform name to embed in generated filenames " - "(default: %s)" % get_build_platform()), - ('exclude-source-files', None, - "remove all .py files from the generated egg"), - ('keep-temp', 'k', - "keep the pseudo-installation tree around after " + - "creating the distribution archive"), - ('dist-dir=', 'd', - "directory to put final built distributions in"), - ('skip-build', None, - "skip rebuilding everything (for testing/debugging)"), - ] - - boolean_options = [ - 'keep-temp', 'skip-build', 'exclude-source-files' - ] - - def initialize_options(self): - self.bdist_dir = None - self.plat_name = None - self.keep_temp = 0 - self.dist_dir = None - self.skip_build = 0 - self.egg_output = None - self.exclude_source_files = None - - def finalize_options(self): - ei_cmd = self.ei_cmd = self.get_finalized_command("egg_info") - self.egg_info = ei_cmd.egg_info - - if self.bdist_dir is None: - bdist_base = self.get_finalized_command('bdist').bdist_base - self.bdist_dir = os.path.join(bdist_base, 'egg') - - if self.plat_name is None: - self.plat_name = get_build_platform() - - self.set_undefined_options('bdist', ('dist_dir', 'dist_dir')) - - if self.egg_output is None: - - # Compute filename of the output egg - basename = Distribution( - None, None, ei_cmd.egg_name, ei_cmd.egg_version, - get_python_version(), - self.distribution.has_ext_modules() and self.plat_name - ).egg_name() - - self.egg_output = os.path.join(self.dist_dir, basename + '.egg') - - def do_install_data(self): - # Hack for packages that install data to install's --install-lib - self.get_finalized_command('install').install_lib = self.bdist_dir - - site_packages = os.path.normcase(os.path.realpath(_get_purelib())) - old, self.distribution.data_files = self.distribution.data_files, [] - - for item in old: - if isinstance(item, tuple) and len(item) == 2: - if os.path.isabs(item[0]): - realpath = os.path.realpath(item[0]) - normalized = os.path.normcase(realpath) - if normalized == site_packages or normalized.startswith( - site_packages + os.sep - ): - item = realpath[len(site_packages) + 1:], item[1] - # XXX else: raise ??? - self.distribution.data_files.append(item) - - try: - log.info("installing package data to %s", self.bdist_dir) - self.call_command('install_data', force=0, root=None) - finally: - self.distribution.data_files = old - - def get_outputs(self): - return [self.egg_output] - - def call_command(self, cmdname, **kw): - """Invoke reinitialized command `cmdname` with keyword args""" - for dirname in INSTALL_DIRECTORY_ATTRS: - kw.setdefault(dirname, self.bdist_dir) - kw.setdefault('skip_build', self.skip_build) - kw.setdefault('dry_run', self.dry_run) - cmd = self.reinitialize_command(cmdname, **kw) - self.run_command(cmdname) - return cmd - - def run(self): - # Generate metadata first - self.run_command("egg_info") - # We run install_lib before install_data, because some data hacks - # pull their data path from the install_lib command. - log.info("installing library code to %s", self.bdist_dir) - instcmd = self.get_finalized_command('install') - old_root = instcmd.root - instcmd.root = None - if self.distribution.has_c_libraries() and not self.skip_build: - self.run_command('build_clib') - cmd = self.call_command('install_lib', warn_dir=0) - instcmd.root = old_root - - all_outputs, ext_outputs = self.get_ext_outputs() - self.stubs = [] - to_compile = [] - for (p, ext_name) in enumerate(ext_outputs): - filename, ext = os.path.splitext(ext_name) - pyfile = os.path.join(self.bdist_dir, strip_module(filename) + - '.py') - self.stubs.append(pyfile) - log.info("creating stub loader for %s", ext_name) - if not self.dry_run: - write_stub(os.path.basename(ext_name), pyfile) - to_compile.append(pyfile) - ext_outputs[p] = ext_name.replace(os.sep, '/') - - if to_compile: - cmd.byte_compile(to_compile) - if self.distribution.data_files: - self.do_install_data() - - # Make the EGG-INFO directory - archive_root = self.bdist_dir - egg_info = os.path.join(archive_root, 'EGG-INFO') - self.mkpath(egg_info) - if self.distribution.scripts: - script_dir = os.path.join(egg_info, 'scripts') - log.info("installing scripts to %s", script_dir) - self.call_command('install_scripts', install_dir=script_dir, - no_ep=1) - - self.copy_metadata_to(egg_info) - native_libs = os.path.join(egg_info, "native_libs.txt") - if all_outputs: - log.info("writing %s", native_libs) - if not self.dry_run: - ensure_directory(native_libs) - libs_file = open(native_libs, 'wt') - libs_file.write('\n'.join(all_outputs)) - libs_file.write('\n') - libs_file.close() - elif os.path.isfile(native_libs): - log.info("removing %s", native_libs) - if not self.dry_run: - os.unlink(native_libs) - - write_safety_flag( - os.path.join(archive_root, 'EGG-INFO'), self.zip_safe() - ) - - if os.path.exists(os.path.join(self.egg_info, 'depends.txt')): - log.warn( - "WARNING: 'depends.txt' will not be used by setuptools 0.6!\n" - "Use the install_requires/extras_require setup() args instead." - ) - - if self.exclude_source_files: - self.zap_pyfiles() - - # Make the archive - make_zipfile(self.egg_output, archive_root, verbose=self.verbose, - dry_run=self.dry_run, mode=self.gen_header()) - if not self.keep_temp: - remove_tree(self.bdist_dir, dry_run=self.dry_run) - - # Add to 'Distribution.dist_files' so that the "upload" command works - getattr(self.distribution, 'dist_files', []).append( - ('bdist_egg', get_python_version(), self.egg_output)) - - def zap_pyfiles(self): - log.info("Removing .py files from temporary directory") - for base, dirs, files in walk_egg(self.bdist_dir): - for name in files: - if name.endswith('.py'): - path = os.path.join(base, name) - log.debug("Deleting %s", path) - os.unlink(path) - - def zip_safe(self): - safe = getattr(self.distribution, 'zip_safe', None) - if safe is not None: - return safe - log.warn("zip_safe flag not set; analyzing archive contents...") - return analyze_egg(self.bdist_dir, self.stubs) - - def gen_header(self): - epm = EntryPoint.parse_map(self.distribution.entry_points or '') - ep = epm.get('setuptools.installation', {}).get('eggsecutable') - if ep is None: - return 'w' # not an eggsecutable, do it the usual way. - - if not ep.attrs or ep.extras: - raise DistutilsSetupError( - "eggsecutable entry point (%r) cannot have 'extras' " - "or refer to a module" % (ep,) - ) - - pyver = sys.version[:3] - pkg = ep.module_name - full = '.'.join(ep.attrs) - base = ep.attrs[0] - basename = os.path.basename(self.egg_output) - - header = ( - "#!/bin/sh\n" - 'if [ `basename $0` = "%(basename)s" ]\n' - 'then exec python%(pyver)s -c "' - "import sys, os; sys.path.insert(0, os.path.abspath('$0')); " - "from %(pkg)s import %(base)s; sys.exit(%(full)s())" - '" "$@"\n' - 'else\n' - ' echo $0 is not the correct name for this egg file.\n' - ' echo Please rename it back to %(basename)s and try again.\n' - ' exec false\n' - 'fi\n' - ) % locals() - - if not self.dry_run: - mkpath(os.path.dirname(self.egg_output), dry_run=self.dry_run) - f = open(self.egg_output, 'w') - f.write(header) - f.close() - return 'a' - - def copy_metadata_to(self, target_dir): - "Copy metadata (egg info) to the target_dir" - # normalize the path (so that a forward-slash in egg_info will - # match using startswith below) - norm_egg_info = os.path.normpath(self.egg_info) - prefix = os.path.join(norm_egg_info, '') - for path in self.ei_cmd.filelist.files: - if path.startswith(prefix): - target = os.path.join(target_dir, path[len(prefix):]) - ensure_directory(target) - self.copy_file(path, target) - - def get_ext_outputs(self): - """Get a list of relative paths to C extensions in the output distro""" - - all_outputs = [] - ext_outputs = [] - - paths = {self.bdist_dir: ''} - for base, dirs, files in os.walk(self.bdist_dir): - for filename in files: - if os.path.splitext(filename)[1].lower() in NATIVE_EXTENSIONS: - all_outputs.append(paths[base] + filename) - for filename in dirs: - paths[os.path.join(base, filename)] = (paths[base] + - filename + '/') - - if self.distribution.has_ext_modules(): - build_cmd = self.get_finalized_command('build_ext') - for ext in build_cmd.extensions: - if isinstance(ext, Library): - continue - fullname = build_cmd.get_ext_fullname(ext.name) - filename = build_cmd.get_ext_filename(fullname) - if not os.path.basename(filename).startswith('dl-'): - if os.path.exists(os.path.join(self.bdist_dir, filename)): - ext_outputs.append(filename) - - return all_outputs, ext_outputs - - -NATIVE_EXTENSIONS = dict.fromkeys('.dll .so .dylib .pyd'.split()) - - -def walk_egg(egg_dir): - """Walk an unpacked egg's contents, skipping the metadata directory""" - walker = os.walk(egg_dir) - base, dirs, files = next(walker) - if 'EGG-INFO' in dirs: - dirs.remove('EGG-INFO') - yield base, dirs, files - for bdf in walker: - yield bdf - - -def analyze_egg(egg_dir, stubs): - # check for existing flag in EGG-INFO - for flag, fn in safety_flags.items(): - if os.path.exists(os.path.join(egg_dir, 'EGG-INFO', fn)): - return flag - if not can_scan(): - return False - safe = True - for base, dirs, files in walk_egg(egg_dir): - for name in files: - if name.endswith('.py') or name.endswith('.pyw'): - continue - elif name.endswith('.pyc') or name.endswith('.pyo'): - # always scan, even if we already know we're not safe - safe = scan_module(egg_dir, base, name, stubs) and safe - return safe - - -def write_safety_flag(egg_dir, safe): - # Write or remove zip safety flag file(s) - for flag, fn in safety_flags.items(): - fn = os.path.join(egg_dir, fn) - if os.path.exists(fn): - if safe is None or bool(safe) != flag: - os.unlink(fn) - elif safe is not None and bool(safe) == flag: - f = open(fn, 'wt') - f.write('\n') - f.close() - - -safety_flags = { - True: 'zip-safe', - False: 'not-zip-safe', -} - - -def scan_module(egg_dir, base, name, stubs): - """Check whether module possibly uses unsafe-for-zipfile stuff""" - - filename = os.path.join(base, name) - if filename[:-1] in stubs: - return True # Extension module - pkg = base[len(egg_dir) + 1:].replace(os.sep, '.') - module = pkg + (pkg and '.' or '') + os.path.splitext(name)[0] - if sys.version_info < (3, 3): - skip = 8 # skip magic & date - else: - skip = 12 # skip magic & date & file size - f = open(filename, 'rb') - f.read(skip) - code = marshal.load(f) - f.close() - safe = True - symbols = dict.fromkeys(iter_symbols(code)) - for bad in ['__file__', '__path__']: - if bad in symbols: - log.warn("%s: module references %s", module, bad) - safe = False - if 'inspect' in symbols: - for bad in [ - 'getsource', 'getabsfile', 'getsourcefile', 'getfile' - 'getsourcelines', 'findsource', 'getcomments', 'getframeinfo', - 'getinnerframes', 'getouterframes', 'stack', 'trace' - ]: - if bad in symbols: - log.warn("%s: module MAY be using inspect.%s", module, bad) - safe = False - return safe - - -def iter_symbols(code): - """Yield names and strings used by `code` and its nested code objects""" - for name in code.co_names: - yield name - for const in code.co_consts: - if isinstance(const, six.string_types): - yield const - elif isinstance(const, CodeType): - for name in iter_symbols(const): - yield name - - -def can_scan(): - if not sys.platform.startswith('java') and sys.platform != 'cli': - # CPython, PyPy, etc. - return True - log.warn("Unable to analyze compiled code on this platform.") - log.warn("Please ask the author to include a 'zip_safe'" - " setting (either True or False) in the package's setup.py") - - -# Attribute names of options for commands that might need to be convinced to -# install to the egg build directory - -INSTALL_DIRECTORY_ATTRS = [ - 'install_lib', 'install_dir', 'install_data', 'install_base' -] - - -def make_zipfile(zip_filename, base_dir, verbose=0, dry_run=0, compress=True, - mode='w'): - """Create a zip file from all the files under 'base_dir'. The output - zip file will be named 'base_dir' + ".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 DistutilsExecError. Returns the name of the output zip file. - """ - import zipfile - - mkpath(os.path.dirname(zip_filename), dry_run=dry_run) - log.info("creating '%s' and adding '%s' to it", zip_filename, base_dir) - - def visit(z, dirname, names): - for name in names: - path = os.path.normpath(os.path.join(dirname, name)) - if os.path.isfile(path): - p = path[len(base_dir) + 1:] - if not dry_run: - z.write(path, p) - log.debug("adding '%s'", p) - - compression = zipfile.ZIP_DEFLATED if compress else zipfile.ZIP_STORED - if not dry_run: - z = zipfile.ZipFile(zip_filename, mode, compression=compression) - for dirname, dirs, files in os.walk(base_dir): - visit(z, dirname, files) - z.close() - else: - for dirname, dirs, files in os.walk(base_dir): - visit(None, dirname, files) - return zip_filename diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_rpm.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_rpm.py deleted file mode 100644 index 70730927..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_rpm.py +++ /dev/null @@ -1,43 +0,0 @@ -import distutils.command.bdist_rpm as orig - - -class bdist_rpm(orig.bdist_rpm): - """ - Override the default bdist_rpm behavior to do the following: - - 1. Run egg_info to ensure the name and version are properly calculated. - 2. Always run 'install' using --single-version-externally-managed to - disable eggs in RPM distributions. - 3. Replace dash with underscore in the version numbers for better RPM - compatibility. - """ - - def run(self): - # ensure distro name is up-to-date - self.run_command('egg_info') - - orig.bdist_rpm.run(self) - - def _make_spec_file(self): - version = self.distribution.get_version() - rpmversion = version.replace('-', '_') - spec = orig.bdist_rpm._make_spec_file(self) - line23 = '%define version ' + version - line24 = '%define version ' + rpmversion - spec = [ - line.replace( - "Source0: %{name}-%{version}.tar", - "Source0: %{name}-%{unmangled_version}.tar" - ).replace( - "setup.py install ", - "setup.py install --single-version-externally-managed " - ).replace( - "%setup", - "%setup -n %{name}-%{unmangled_version}" - ).replace(line23, line24) - for line in spec - ] - insert_loc = spec.index(line24) + 1 - unmangled_version = "%define unmangled_version " + version - spec.insert(insert_loc, unmangled_version) - return spec diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_wininst.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_wininst.py deleted file mode 100644 index 073de97b..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/bdist_wininst.py +++ /dev/null @@ -1,21 +0,0 @@ -import distutils.command.bdist_wininst as orig - - -class bdist_wininst(orig.bdist_wininst): - def reinitialize_command(self, command, reinit_subcommands=0): - """ - Supplement reinitialize_command to work around - http://bugs.python.org/issue20819 - """ - cmd = self.distribution.reinitialize_command( - command, reinit_subcommands) - if command in ('install', 'install_lib'): - cmd.install_lib = None - return cmd - - def run(self): - self._is_running = True - try: - orig.bdist_wininst.run(self) - finally: - self._is_running = False diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_ext.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_ext.py deleted file mode 100644 index 36f53f0d..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_ext.py +++ /dev/null @@ -1,328 +0,0 @@ -import os -import sys -import itertools -import imp -from distutils.command.build_ext import build_ext as _du_build_ext -from distutils.file_util import copy_file -from distutils.ccompiler import new_compiler -from distutils.sysconfig import customize_compiler, get_config_var -from distutils.errors import DistutilsError -from distutils import log - -from setuptools.extension import Library -from setuptools.extern import six - -try: - # Attempt to use Cython for building extensions, if available - from Cython.Distutils.build_ext import build_ext as _build_ext -except ImportError: - _build_ext = _du_build_ext - -# make sure _config_vars is initialized -get_config_var("LDSHARED") -from distutils.sysconfig import _config_vars as _CONFIG_VARS - - -def _customize_compiler_for_shlib(compiler): - if sys.platform == "darwin": - # building .dylib requires additional compiler flags on OSX; here we - # temporarily substitute the pyconfig.h variables so that distutils' - # 'customize_compiler' uses them before we build the shared libraries. - tmp = _CONFIG_VARS.copy() - try: - # XXX Help! I don't have any idea whether these are right... - _CONFIG_VARS['LDSHARED'] = ( - "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup") - _CONFIG_VARS['CCSHARED'] = " -dynamiclib" - _CONFIG_VARS['SO'] = ".dylib" - customize_compiler(compiler) - finally: - _CONFIG_VARS.clear() - _CONFIG_VARS.update(tmp) - else: - customize_compiler(compiler) - - -have_rtld = False -use_stubs = False -libtype = 'shared' - -if sys.platform == "darwin": - use_stubs = True -elif os.name != 'nt': - try: - import dl - use_stubs = have_rtld = hasattr(dl, 'RTLD_NOW') - except ImportError: - pass - -if_dl = lambda s: s if have_rtld else '' - - -def get_abi3_suffix(): - """Return the file extension for an abi3-compliant Extension()""" - for suffix, _, _ in (s for s in imp.get_suffixes() if s[2] == imp.C_EXTENSION): - if '.abi3' in suffix: # Unix - return suffix - elif suffix == '.pyd': # Windows - return suffix - - -class build_ext(_build_ext): - def run(self): - """Build extensions in build directory, then copy if --inplace""" - old_inplace, self.inplace = self.inplace, 0 - _build_ext.run(self) - self.inplace = old_inplace - if old_inplace: - self.copy_extensions_to_source() - - def copy_extensions_to_source(self): - build_py = self.get_finalized_command('build_py') - for ext in self.extensions: - fullname = self.get_ext_fullname(ext.name) - filename = self.get_ext_filename(fullname) - modpath = fullname.split('.') - package = '.'.join(modpath[:-1]) - package_dir = build_py.get_package_dir(package) - dest_filename = os.path.join(package_dir, - os.path.basename(filename)) - src_filename = os.path.join(self.build_lib, filename) - - # Always copy, even if source is older than destination, to ensure - # that the right extensions for the current Python/platform are - # used. - copy_file( - src_filename, dest_filename, verbose=self.verbose, - dry_run=self.dry_run - ) - if ext._needs_stub: - self.write_stub(package_dir or os.curdir, ext, True) - - def get_ext_filename(self, fullname): - filename = _build_ext.get_ext_filename(self, fullname) - if fullname in self.ext_map: - ext = self.ext_map[fullname] - use_abi3 = ( - six.PY3 - and getattr(ext, 'py_limited_api') - and get_abi3_suffix() - ) - if use_abi3: - so_ext = _get_config_var_837('EXT_SUFFIX') - filename = filename[:-len(so_ext)] - filename = filename + get_abi3_suffix() - if isinstance(ext, Library): - fn, ext = os.path.splitext(filename) - return self.shlib_compiler.library_filename(fn, libtype) - elif use_stubs and ext._links_to_dynamic: - d, fn = os.path.split(filename) - return os.path.join(d, 'dl-' + fn) - return filename - - def initialize_options(self): - _build_ext.initialize_options(self) - self.shlib_compiler = None - self.shlibs = [] - self.ext_map = {} - - def finalize_options(self): - _build_ext.finalize_options(self) - self.extensions = self.extensions or [] - self.check_extensions_list(self.extensions) - self.shlibs = [ext for ext in self.extensions - if isinstance(ext, Library)] - if self.shlibs: - self.setup_shlib_compiler() - for ext in self.extensions: - ext._full_name = self.get_ext_fullname(ext.name) - for ext in self.extensions: - fullname = ext._full_name - self.ext_map[fullname] = ext - - # distutils 3.1 will also ask for module names - # XXX what to do with conflicts? - self.ext_map[fullname.split('.')[-1]] = ext - - ltd = self.shlibs and self.links_to_dynamic(ext) or False - ns = ltd and use_stubs and not isinstance(ext, Library) - ext._links_to_dynamic = ltd - ext._needs_stub = ns - filename = ext._file_name = self.get_ext_filename(fullname) - libdir = os.path.dirname(os.path.join(self.build_lib, filename)) - if ltd and libdir not in ext.library_dirs: - ext.library_dirs.append(libdir) - if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs: - ext.runtime_library_dirs.append(os.curdir) - - def setup_shlib_compiler(self): - compiler = self.shlib_compiler = new_compiler( - compiler=self.compiler, dry_run=self.dry_run, force=self.force - ) - _customize_compiler_for_shlib(compiler) - - if self.include_dirs is not None: - compiler.set_include_dirs(self.include_dirs) - if self.define is not None: - # 'define' option is a list of (name,value) tuples - for (name, value) in self.define: - compiler.define_macro(name, value) - if self.undef is not None: - for macro in self.undef: - compiler.undefine_macro(macro) - if self.libraries is not None: - compiler.set_libraries(self.libraries) - if self.library_dirs is not None: - compiler.set_library_dirs(self.library_dirs) - if self.rpath is not None: - compiler.set_runtime_library_dirs(self.rpath) - if self.link_objects is not None: - compiler.set_link_objects(self.link_objects) - - # hack so distutils' build_extension() builds a library instead - compiler.link_shared_object = link_shared_object.__get__(compiler) - - def get_export_symbols(self, ext): - if isinstance(ext, Library): - return ext.export_symbols - return _build_ext.get_export_symbols(self, ext) - - def build_extension(self, ext): - ext._convert_pyx_sources_to_lang() - _compiler = self.compiler - try: - if isinstance(ext, Library): - self.compiler = self.shlib_compiler - _build_ext.build_extension(self, ext) - if ext._needs_stub: - cmd = self.get_finalized_command('build_py').build_lib - self.write_stub(cmd, ext) - finally: - self.compiler = _compiler - - def links_to_dynamic(self, ext): - """Return true if 'ext' links to a dynamic lib in the same package""" - # XXX this should check to ensure the lib is actually being built - # XXX as dynamic, and not just using a locally-found version or a - # XXX static-compiled version - libnames = dict.fromkeys([lib._full_name for lib in self.shlibs]) - pkg = '.'.join(ext._full_name.split('.')[:-1] + ['']) - return any(pkg + libname in libnames for libname in ext.libraries) - - def get_outputs(self): - return _build_ext.get_outputs(self) + self.__get_stubs_outputs() - - def __get_stubs_outputs(self): - # assemble the base name for each extension that needs a stub - ns_ext_bases = ( - os.path.join(self.build_lib, *ext._full_name.split('.')) - for ext in self.extensions - if ext._needs_stub - ) - # pair each base with the extension - pairs = itertools.product(ns_ext_bases, self.__get_output_extensions()) - return list(base + fnext for base, fnext in pairs) - - def __get_output_extensions(self): - yield '.py' - yield '.pyc' - if self.get_finalized_command('build_py').optimize: - yield '.pyo' - - def write_stub(self, output_dir, ext, compile=False): - log.info("writing stub loader for %s to %s", ext._full_name, - output_dir) - stub_file = (os.path.join(output_dir, *ext._full_name.split('.')) + - '.py') - if compile and os.path.exists(stub_file): - raise DistutilsError(stub_file + " already exists! Please delete.") - if not self.dry_run: - f = open(stub_file, 'w') - f.write( - '\n'.join([ - "def __bootstrap__():", - " global __bootstrap__, __file__, __loader__", - " import sys, os, pkg_resources, imp" + if_dl(", dl"), - " __file__ = pkg_resources.resource_filename" - "(__name__,%r)" - % os.path.basename(ext._file_name), - " del __bootstrap__", - " if '__loader__' in globals():", - " del __loader__", - if_dl(" old_flags = sys.getdlopenflags()"), - " old_dir = os.getcwd()", - " try:", - " os.chdir(os.path.dirname(__file__))", - if_dl(" sys.setdlopenflags(dl.RTLD_NOW)"), - " imp.load_dynamic(__name__,__file__)", - " finally:", - if_dl(" sys.setdlopenflags(old_flags)"), - " os.chdir(old_dir)", - "__bootstrap__()", - "" # terminal \n - ]) - ) - f.close() - if compile: - from distutils.util import byte_compile - - byte_compile([stub_file], optimize=0, - force=True, dry_run=self.dry_run) - optimize = self.get_finalized_command('install_lib').optimize - if optimize > 0: - byte_compile([stub_file], optimize=optimize, - force=True, dry_run=self.dry_run) - if os.path.exists(stub_file) and not self.dry_run: - os.unlink(stub_file) - - -if use_stubs or os.name == 'nt': - # Build shared libraries - # - def link_shared_object( - self, objects, output_libname, output_dir=None, libraries=None, - library_dirs=None, runtime_library_dirs=None, export_symbols=None, - debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, - target_lang=None): - self.link( - self.SHARED_LIBRARY, objects, output_libname, - output_dir, libraries, library_dirs, runtime_library_dirs, - export_symbols, debug, extra_preargs, extra_postargs, - build_temp, target_lang - ) -else: - # Build static libraries everywhere else - libtype = 'static' - - def link_shared_object( - self, objects, output_libname, output_dir=None, libraries=None, - library_dirs=None, runtime_library_dirs=None, export_symbols=None, - debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, - target_lang=None): - # XXX we need to either disallow these attrs on Library instances, - # or warn/abort here if set, or something... - # libraries=None, library_dirs=None, runtime_library_dirs=None, - # export_symbols=None, extra_preargs=None, extra_postargs=None, - # build_temp=None - - assert output_dir is None # distutils build_ext doesn't pass this - output_dir, filename = os.path.split(output_libname) - basename, ext = os.path.splitext(filename) - if self.library_filename("x").startswith('lib'): - # strip 'lib' prefix; this is kludgy if some platform uses - # a different prefix - basename = basename[3:] - - self.create_static_lib( - objects, basename, output_dir, debug, target_lang - ) - - -def _get_config_var_837(name): - """ - In https://github.com/pypa/setuptools/pull/837, we discovered - Python 3.3.0 exposes the extension suffix under the name 'SO'. - """ - if sys.version_info < (3, 3, 1): - name = 'SO' - return get_config_var(name) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_py.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_py.py deleted file mode 100644 index 289e6fb8..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/build_py.py +++ /dev/null @@ -1,270 +0,0 @@ -from glob import glob -from distutils.util import convert_path -import distutils.command.build_py as orig -import os -import fnmatch -import textwrap -import io -import distutils.errors -import itertools - -from setuptools.extern import six -from setuptools.extern.six.moves import map, filter, filterfalse - -try: - from setuptools.lib2to3_ex import Mixin2to3 -except ImportError: - - class Mixin2to3: - def run_2to3(self, files, doctests=True): - "do nothing" - - -class build_py(orig.build_py, Mixin2to3): - """Enhanced 'build_py' command that includes data files with packages - - The data files are specified via a 'package_data' argument to 'setup()'. - See 'setuptools.dist.Distribution' for more details. - - Also, this version of the 'build_py' command allows you to specify both - 'py_modules' and 'packages' in the same setup operation. - """ - - def finalize_options(self): - orig.build_py.finalize_options(self) - self.package_data = self.distribution.package_data - self.exclude_package_data = (self.distribution.exclude_package_data or - {}) - if 'data_files' in self.__dict__: - del self.__dict__['data_files'] - self.__updated_files = [] - self.__doctests_2to3 = [] - - def run(self): - """Build modules, packages, and copy data files to build directory""" - if not self.py_modules and not self.packages: - return - - if self.py_modules: - self.build_modules() - - if self.packages: - self.build_packages() - self.build_package_data() - - self.run_2to3(self.__updated_files, False) - self.run_2to3(self.__updated_files, True) - self.run_2to3(self.__doctests_2to3, True) - - # Only compile actual .py files, using our base class' idea of what our - # output files are. - self.byte_compile(orig.build_py.get_outputs(self, include_bytecode=0)) - - def __getattr__(self, attr): - "lazily compute data files" - if attr == 'data_files': - self.data_files = self._get_data_files() - return self.data_files - return orig.build_py.__getattr__(self, attr) - - def build_module(self, module, module_file, package): - if six.PY2 and isinstance(package, six.string_types): - # avoid errors on Python 2 when unicode is passed (#190) - package = package.split('.') - outfile, copied = orig.build_py.build_module(self, module, module_file, - package) - if copied: - self.__updated_files.append(outfile) - return outfile, copied - - def _get_data_files(self): - """Generate list of '(package,src_dir,build_dir,filenames)' tuples""" - self.analyze_manifest() - return list(map(self._get_pkg_data_files, self.packages or ())) - - def _get_pkg_data_files(self, package): - # Locate package source directory - src_dir = self.get_package_dir(package) - - # Compute package build directory - build_dir = os.path.join(*([self.build_lib] + package.split('.'))) - - # Strip directory from globbed filenames - filenames = [ - os.path.relpath(file, src_dir) - for file in self.find_data_files(package, src_dir) - ] - return package, src_dir, build_dir, filenames - - def find_data_files(self, package, src_dir): - """Return filenames for package's data files in 'src_dir'""" - patterns = self._get_platform_patterns( - self.package_data, - package, - src_dir, - ) - globs_expanded = map(glob, patterns) - # flatten the expanded globs into an iterable of matches - globs_matches = itertools.chain.from_iterable(globs_expanded) - glob_files = filter(os.path.isfile, globs_matches) - files = itertools.chain( - self.manifest_files.get(package, []), - glob_files, - ) - return self.exclude_data_files(package, src_dir, files) - - def build_package_data(self): - """Copy data files into build directory""" - for package, src_dir, build_dir, filenames in self.data_files: - for filename in filenames: - target = os.path.join(build_dir, filename) - self.mkpath(os.path.dirname(target)) - srcfile = os.path.join(src_dir, filename) - outf, copied = self.copy_file(srcfile, target) - srcfile = os.path.abspath(srcfile) - if (copied and - srcfile in self.distribution.convert_2to3_doctests): - self.__doctests_2to3.append(outf) - - def analyze_manifest(self): - self.manifest_files = mf = {} - if not self.distribution.include_package_data: - return - src_dirs = {} - for package in self.packages or (): - # Locate package source directory - src_dirs[assert_relative(self.get_package_dir(package))] = package - - self.run_command('egg_info') - ei_cmd = self.get_finalized_command('egg_info') - for path in ei_cmd.filelist.files: - d, f = os.path.split(assert_relative(path)) - prev = None - oldf = f - while d and d != prev and d not in src_dirs: - prev = d - d, df = os.path.split(d) - f = os.path.join(df, f) - if d in src_dirs: - if path.endswith('.py') and f == oldf: - continue # it's a module, not data - mf.setdefault(src_dirs[d], []).append(path) - - def get_data_files(self): - pass # Lazily compute data files in _get_data_files() function. - - def check_package(self, package, package_dir): - """Check namespace packages' __init__ for declare_namespace""" - try: - return self.packages_checked[package] - except KeyError: - pass - - init_py = orig.build_py.check_package(self, package, package_dir) - self.packages_checked[package] = init_py - - if not init_py or not self.distribution.namespace_packages: - return init_py - - for pkg in self.distribution.namespace_packages: - if pkg == package or pkg.startswith(package + '.'): - break - else: - return init_py - - with io.open(init_py, 'rb') as f: - contents = f.read() - if b'declare_namespace' not in contents: - raise distutils.errors.DistutilsError( - "Namespace package problem: %s is a namespace package, but " - "its\n__init__.py does not call declare_namespace()! Please " - 'fix it.\n(See the setuptools manual under ' - '"Namespace Packages" for details.)\n"' % (package,) - ) - return init_py - - def initialize_options(self): - self.packages_checked = {} - orig.build_py.initialize_options(self) - - def get_package_dir(self, package): - res = orig.build_py.get_package_dir(self, package) - if self.distribution.src_root is not None: - return os.path.join(self.distribution.src_root, res) - return res - - def exclude_data_files(self, package, src_dir, files): - """Filter filenames for package's data files in 'src_dir'""" - files = list(files) - patterns = self._get_platform_patterns( - self.exclude_package_data, - package, - src_dir, - ) - match_groups = ( - fnmatch.filter(files, pattern) - for pattern in patterns - ) - # flatten the groups of matches into an iterable of matches - matches = itertools.chain.from_iterable(match_groups) - bad = set(matches) - keepers = ( - fn - for fn in files - if fn not in bad - ) - # ditch dupes - return list(_unique_everseen(keepers)) - - @staticmethod - def _get_platform_patterns(spec, package, src_dir): - """ - yield platfrom-specific path patterns (suitable for glob - or fn_match) from a glob-based spec (such as - self.package_data or self.exclude_package_data) - matching package in src_dir. - """ - raw_patterns = itertools.chain( - spec.get('', []), - spec.get(package, []), - ) - return ( - # Each pattern has to be converted to a platform-specific path - os.path.join(src_dir, convert_path(pattern)) - for pattern in raw_patterns - ) - - -# from Python docs -def _unique_everseen(iterable, key=None): - "List unique elements, preserving order. Remember all elements ever seen." - # unique_everseen('AAAABBBCCDAABBB') --> A B C D - # unique_everseen('ABBCcAD', str.lower) --> A B C D - seen = set() - seen_add = seen.add - if key is None: - for element in filterfalse(seen.__contains__, iterable): - seen_add(element) - yield element - else: - for element in iterable: - k = key(element) - if k not in seen: - seen_add(k) - yield element - - -def assert_relative(path): - if not os.path.isabs(path): - return path - from distutils.errors import DistutilsSetupError - - msg = textwrap.dedent(""" - Error: setup script specifies an absolute path: - - %s - - setup() arguments must *always* be /-separated paths relative to the - setup.py directory, *never* absolute paths. - """).lstrip() % path - raise DistutilsSetupError(msg) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/develop.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/develop.py deleted file mode 100644 index 3eb86120..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/develop.py +++ /dev/null @@ -1,197 +0,0 @@ -from distutils.util import convert_path -from distutils import log -from distutils.errors import DistutilsError, DistutilsOptionError -import os -import glob -import io - -from setuptools.extern import six - -from pkg_resources import Distribution, PathMetadata, normalize_path -from setuptools.command.easy_install import easy_install -import setuptools - - -class develop(easy_install): - """Set up package for development""" - - description = "install package in 'development mode'" - - user_options = easy_install.user_options + [ - ("uninstall", "u", "Uninstall this source package"), - ("egg-path=", None, "Set the path to be used in the .egg-link file"), - ] - - boolean_options = easy_install.boolean_options + ['uninstall'] - - command_consumes_arguments = False # override base - - def run(self): - if self.uninstall: - self.multi_version = True - self.uninstall_link() - else: - self.install_for_development() - self.warn_deprecated_options() - - def initialize_options(self): - self.uninstall = None - self.egg_path = None - easy_install.initialize_options(self) - self.setup_path = None - self.always_copy_from = '.' # always copy eggs installed in curdir - - def finalize_options(self): - ei = self.get_finalized_command("egg_info") - if ei.broken_egg_info: - template = "Please rename %r to %r before using 'develop'" - args = ei.egg_info, ei.broken_egg_info - raise DistutilsError(template % args) - self.args = [ei.egg_name] - - easy_install.finalize_options(self) - self.expand_basedirs() - self.expand_dirs() - # pick up setup-dir .egg files only: no .egg-info - self.package_index.scan(glob.glob('*.egg')) - - egg_link_fn = ei.egg_name + '.egg-link' - self.egg_link = os.path.join(self.install_dir, egg_link_fn) - self.egg_base = ei.egg_base - if self.egg_path is None: - self.egg_path = os.path.abspath(ei.egg_base) - - target = normalize_path(self.egg_base) - egg_path = normalize_path(os.path.join(self.install_dir, - self.egg_path)) - if egg_path != target: - raise DistutilsOptionError( - "--egg-path must be a relative path from the install" - " directory to " + target - ) - - # Make a distribution for the package's source - self.dist = Distribution( - target, - PathMetadata(target, os.path.abspath(ei.egg_info)), - project_name=ei.egg_name - ) - - p = self.egg_base.replace(os.sep, '/') - if p != os.curdir: - p = '../' * (p.count('/') + 1) - self.setup_path = p - p = normalize_path(os.path.join(self.install_dir, self.egg_path, p)) - if p != normalize_path(os.curdir): - raise DistutilsOptionError( - "Can't get a consistent path to setup script from" - " installation directory", p, normalize_path(os.curdir)) - - def install_for_development(self): - if six.PY3 and getattr(self.distribution, 'use_2to3', False): - # If we run 2to3 we can not do this inplace: - - # Ensure metadata is up-to-date - self.reinitialize_command('build_py', inplace=0) - self.run_command('build_py') - bpy_cmd = self.get_finalized_command("build_py") - build_path = normalize_path(bpy_cmd.build_lib) - - # Build extensions - self.reinitialize_command('egg_info', egg_base=build_path) - self.run_command('egg_info') - - self.reinitialize_command('build_ext', inplace=0) - self.run_command('build_ext') - - # Fixup egg-link and easy-install.pth - ei_cmd = self.get_finalized_command("egg_info") - self.egg_path = build_path - self.dist.location = build_path - # XXX - self.dist._provider = PathMetadata(build_path, ei_cmd.egg_info) - else: - # Without 2to3 inplace works fine: - self.run_command('egg_info') - - # Build extensions in-place - self.reinitialize_command('build_ext', inplace=1) - self.run_command('build_ext') - - self.install_site_py() # ensure that target dir is site-safe - if setuptools.bootstrap_install_from: - self.easy_install(setuptools.bootstrap_install_from) - setuptools.bootstrap_install_from = None - - # create an .egg-link in the installation dir, pointing to our egg - log.info("Creating %s (link to %s)", self.egg_link, self.egg_base) - if not self.dry_run: - with open(self.egg_link, "w") as f: - f.write(self.egg_path + "\n" + self.setup_path) - # postprocess the installed distro, fixing up .pth, installing scripts, - # and handling requirements - self.process_distribution(None, self.dist, not self.no_deps) - - def uninstall_link(self): - if os.path.exists(self.egg_link): - log.info("Removing %s (link to %s)", self.egg_link, self.egg_base) - egg_link_file = open(self.egg_link) - contents = [line.rstrip() for line in egg_link_file] - egg_link_file.close() - if contents not in ([self.egg_path], - [self.egg_path, self.setup_path]): - log.warn("Link points to %s: uninstall aborted", contents) - return - if not self.dry_run: - os.unlink(self.egg_link) - if not self.dry_run: - self.update_pth(self.dist) # remove any .pth link to us - if self.distribution.scripts: - # XXX should also check for entry point scripts! - log.warn("Note: you must uninstall or replace scripts manually!") - - def install_egg_scripts(self, dist): - if dist is not self.dist: - # Installing a dependency, so fall back to normal behavior - return easy_install.install_egg_scripts(self, dist) - - # create wrapper scripts in the script dir, pointing to dist.scripts - - # new-style... - self.install_wrapper_scripts(dist) - - # ...and old-style - for script_name in self.distribution.scripts or []: - script_path = os.path.abspath(convert_path(script_name)) - script_name = os.path.basename(script_path) - with io.open(script_path) as strm: - script_text = strm.read() - self.install_script(dist, script_name, script_text, script_path) - - def install_wrapper_scripts(self, dist): - dist = VersionlessRequirement(dist) - return easy_install.install_wrapper_scripts(self, dist) - - -class VersionlessRequirement(object): - """ - Adapt a pkg_resources.Distribution to simply return the project - name as the 'requirement' so that scripts will work across - multiple versions. - - >>> dist = Distribution(project_name='foo', version='1.0') - >>> str(dist.as_requirement()) - 'foo==1.0' - >>> adapted_dist = VersionlessRequirement(dist) - >>> str(adapted_dist.as_requirement()) - 'foo' - """ - - def __init__(self, dist): - self.__dist = dist - - def __getattr__(self, name): - return getattr(self.__dist, name) - - def as_requirement(self): - return self.project_name diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/easy_install.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/easy_install.py deleted file mode 100644 index 03dd6768..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/easy_install.py +++ /dev/null @@ -1,2287 +0,0 @@ -#!/usr/bin/env python -""" -Easy Install ------------- - -A tool for doing automatic download/extract/build of distutils-based Python -packages. For detailed documentation, see the accompanying EasyInstall.txt -file, or visit the `EasyInstall home page`__. - -__ https://setuptools.readthedocs.io/en/latest/easy_install.html - -""" - -from glob import glob -from distutils.util import get_platform -from distutils.util import convert_path, subst_vars -from distutils.errors import ( - DistutilsArgError, DistutilsOptionError, - DistutilsError, DistutilsPlatformError, -) -from distutils.command.install import INSTALL_SCHEMES, SCHEME_KEYS -from distutils import log, dir_util -from distutils.command.build_scripts import first_line_re -from distutils.spawn import find_executable -import sys -import os -import zipimport -import shutil -import tempfile -import zipfile -import re -import stat -import random -import textwrap -import warnings -import site -import struct -import contextlib -import subprocess -import shlex -import io - -from setuptools.extern import six -from setuptools.extern.six.moves import configparser, map - -from setuptools import Command -from setuptools.sandbox import run_setup -from setuptools.py31compat import get_path, get_config_vars -from setuptools.command import setopt -from setuptools.archive_util import unpack_archive -from setuptools.package_index import ( - PackageIndex, parse_requirement_arg, URL_SCHEME, -) -from setuptools.command import bdist_egg, egg_info -from pkg_resources import ( - yield_lines, normalize_path, resource_string, ensure_directory, - get_distribution, find_distributions, Environment, Requirement, - Distribution, PathMetadata, EggMetadata, WorkingSet, DistributionNotFound, - VersionConflict, DEVELOP_DIST, -) -import pkg_resources - -# Turn on PEP440Warnings -warnings.filterwarnings("default", category=pkg_resources.PEP440Warning) - -__all__ = [ - 'samefile', 'easy_install', 'PthDistributions', 'extract_wininst_cfg', - 'main', 'get_exe_prefixes', -] - - -def is_64bit(): - return struct.calcsize("P") == 8 - - -def samefile(p1, p2): - """ - Determine if two paths reference the same file. - - Augments os.path.samefile to work on Windows and - suppresses errors if the path doesn't exist. - """ - both_exist = os.path.exists(p1) and os.path.exists(p2) - use_samefile = hasattr(os.path, 'samefile') and both_exist - if use_samefile: - return os.path.samefile(p1, p2) - norm_p1 = os.path.normpath(os.path.normcase(p1)) - norm_p2 = os.path.normpath(os.path.normcase(p2)) - return norm_p1 == norm_p2 - - -if six.PY2: - - def _to_ascii(s): - return s - - def isascii(s): - try: - six.text_type(s, 'ascii') - return True - except UnicodeError: - return False -else: - - def _to_ascii(s): - return s.encode('ascii') - - def isascii(s): - try: - s.encode('ascii') - return True - except UnicodeError: - return False - - -_one_liner = lambda text: textwrap.dedent(text).strip().replace('\n', '; ') - - -class easy_install(Command): - """Manage a download/build/install process""" - description = "Find/get/install Python packages" - command_consumes_arguments = True - - user_options = [ - ('prefix=', None, "installation prefix"), - ("zip-ok", "z", "install package as a zipfile"), - ("multi-version", "m", "make apps have to require() a version"), - ("upgrade", "U", "force upgrade (searches PyPI for latest versions)"), - ("install-dir=", "d", "install package to DIR"), - ("script-dir=", "s", "install scripts to DIR"), - ("exclude-scripts", "x", "Don't install scripts"), - ("always-copy", "a", "Copy all needed packages to install dir"), - ("index-url=", "i", "base URL of Python Package Index"), - ("find-links=", "f", "additional URL(s) to search for packages"), - ("build-directory=", "b", - "download/extract/build in DIR; keep the results"), - ('optimize=', 'O', - "also compile with optimization: -O1 for \"python -O\", " - "-O2 for \"python -OO\", and -O0 to disable [default: -O0]"), - ('record=', None, - "filename in which to record list of installed files"), - ('always-unzip', 'Z', "don't install as a zipfile, no matter what"), - ('site-dirs=', 'S', "list of directories where .pth files work"), - ('editable', 'e', "Install specified packages in editable form"), - ('no-deps', 'N', "don't install dependencies"), - ('allow-hosts=', 'H', "pattern(s) that hostnames must match"), - ('local-snapshots-ok', 'l', - "allow building eggs from local checkouts"), - ('version', None, "print version information and exit"), - ('no-find-links', None, - "Don't load find-links defined in packages being installed") - ] - boolean_options = [ - 'zip-ok', 'multi-version', 'exclude-scripts', 'upgrade', 'always-copy', - 'editable', - 'no-deps', 'local-snapshots-ok', 'version' - ] - - if site.ENABLE_USER_SITE: - help_msg = "install in user site-package '%s'" % site.USER_SITE - user_options.append(('user', None, help_msg)) - boolean_options.append('user') - - negative_opt = {'always-unzip': 'zip-ok'} - create_index = PackageIndex - - def initialize_options(self): - # the --user option seems to be an opt-in one, - # so the default should be False. - self.user = 0 - self.zip_ok = self.local_snapshots_ok = None - self.install_dir = self.script_dir = self.exclude_scripts = None - self.index_url = None - self.find_links = None - self.build_directory = None - self.args = None - self.optimize = self.record = None - self.upgrade = self.always_copy = self.multi_version = None - self.editable = self.no_deps = self.allow_hosts = None - self.root = self.prefix = self.no_report = None - self.version = None - self.install_purelib = None # for pure module distributions - self.install_platlib = None # non-pure (dists w/ extensions) - self.install_headers = None # for C/C++ headers - self.install_lib = None # set to either purelib or platlib - self.install_scripts = None - self.install_data = None - self.install_base = None - self.install_platbase = None - if site.ENABLE_USER_SITE: - self.install_userbase = site.USER_BASE - self.install_usersite = site.USER_SITE - else: - self.install_userbase = None - self.install_usersite = None - self.no_find_links = None - - # Options not specifiable via command line - self.package_index = None - self.pth_file = self.always_copy_from = None - self.site_dirs = None - self.installed_projects = {} - self.sitepy_installed = False - # Always read easy_install options, even if we are subclassed, or have - # an independent instance created. This ensures that defaults will - # always come from the standard configuration file(s)' "easy_install" - # section, even if this is a "develop" or "install" command, or some - # other embedding. - self._dry_run = None - self.verbose = self.distribution.verbose - self.distribution._set_command_options( - self, self.distribution.get_option_dict('easy_install') - ) - - def delete_blockers(self, blockers): - extant_blockers = ( - filename for filename in blockers - if os.path.exists(filename) or os.path.islink(filename) - ) - list(map(self._delete_path, extant_blockers)) - - def _delete_path(self, path): - log.info("Deleting %s", path) - if self.dry_run: - return - - is_tree = os.path.isdir(path) and not os.path.islink(path) - remover = rmtree if is_tree else os.unlink - remover(path) - - @staticmethod - def _render_version(): - """ - Render the Setuptools version and installation details, then exit. - """ - ver = sys.version[:3] - dist = get_distribution('setuptools') - tmpl = 'setuptools {dist.version} from {dist.location} (Python {ver})' - print(tmpl.format(**locals())) - raise SystemExit() - - def finalize_options(self): - self.version and self._render_version() - - py_version = sys.version.split()[0] - prefix, exec_prefix = get_config_vars('prefix', 'exec_prefix') - - self.config_vars = { - 'dist_name': self.distribution.get_name(), - 'dist_version': self.distribution.get_version(), - 'dist_fullname': self.distribution.get_fullname(), - 'py_version': py_version, - 'py_version_short': py_version[0:3], - 'py_version_nodot': py_version[0] + py_version[2], - 'sys_prefix': prefix, - 'prefix': prefix, - 'sys_exec_prefix': exec_prefix, - 'exec_prefix': exec_prefix, - # Only python 3.2+ has abiflags - 'abiflags': getattr(sys, 'abiflags', ''), - } - - if site.ENABLE_USER_SITE: - self.config_vars['userbase'] = self.install_userbase - self.config_vars['usersite'] = self.install_usersite - - self._fix_install_dir_for_user_site() - - self.expand_basedirs() - self.expand_dirs() - - self._expand( - 'install_dir', 'script_dir', 'build_directory', - 'site_dirs', - ) - # If a non-default installation directory was specified, default the - # script directory to match it. - if self.script_dir is None: - self.script_dir = self.install_dir - - if self.no_find_links is None: - self.no_find_links = False - - # Let install_dir get set by install_lib command, which in turn - # gets its info from the install command, and takes into account - # --prefix and --home and all that other crud. - self.set_undefined_options( - 'install_lib', ('install_dir', 'install_dir') - ) - # Likewise, set default script_dir from 'install_scripts.install_dir' - self.set_undefined_options( - 'install_scripts', ('install_dir', 'script_dir') - ) - - if self.user and self.install_purelib: - self.install_dir = self.install_purelib - self.script_dir = self.install_scripts - # default --record from the install command - self.set_undefined_options('install', ('record', 'record')) - # Should this be moved to the if statement below? It's not used - # elsewhere - normpath = map(normalize_path, sys.path) - self.all_site_dirs = get_site_dirs() - if self.site_dirs is not None: - site_dirs = [ - os.path.expanduser(s.strip()) for s in - self.site_dirs.split(',') - ] - for d in site_dirs: - if not os.path.isdir(d): - log.warn("%s (in --site-dirs) does not exist", d) - elif normalize_path(d) not in normpath: - raise DistutilsOptionError( - d + " (in --site-dirs) is not on sys.path" - ) - else: - self.all_site_dirs.append(normalize_path(d)) - if not self.editable: - self.check_site_dir() - self.index_url = self.index_url or "https://pypi.python.org/simple" - self.shadow_path = self.all_site_dirs[:] - for path_item in self.install_dir, normalize_path(self.script_dir): - if path_item not in self.shadow_path: - self.shadow_path.insert(0, path_item) - - if self.allow_hosts is not None: - hosts = [s.strip() for s in self.allow_hosts.split(',')] - else: - hosts = ['*'] - if self.package_index is None: - self.package_index = self.create_index( - self.index_url, search_path=self.shadow_path, hosts=hosts, - ) - self.local_index = Environment(self.shadow_path + sys.path) - - if self.find_links is not None: - if isinstance(self.find_links, six.string_types): - self.find_links = self.find_links.split() - else: - self.find_links = [] - if self.local_snapshots_ok: - self.package_index.scan_egg_links(self.shadow_path + sys.path) - if not self.no_find_links: - self.package_index.add_find_links(self.find_links) - self.set_undefined_options('install_lib', ('optimize', 'optimize')) - if not isinstance(self.optimize, int): - try: - self.optimize = int(self.optimize) - if not (0 <= self.optimize <= 2): - raise ValueError - except ValueError: - raise DistutilsOptionError("--optimize must be 0, 1, or 2") - - if self.editable and not self.build_directory: - raise DistutilsArgError( - "Must specify a build directory (-b) when using --editable" - ) - if not self.args: - raise DistutilsArgError( - "No urls, filenames, or requirements specified (see --help)") - - self.outputs = [] - - def _fix_install_dir_for_user_site(self): - """ - Fix the install_dir if "--user" was used. - """ - if not self.user or not site.ENABLE_USER_SITE: - return - - self.create_home_path() - if self.install_userbase is None: - msg = "User base directory is not specified" - raise DistutilsPlatformError(msg) - self.install_base = self.install_platbase = self.install_userbase - scheme_name = os.name.replace('posix', 'unix') + '_user' - self.select_scheme(scheme_name) - - def _expand_attrs(self, attrs): - for attr in attrs: - val = getattr(self, attr) - if val is not None: - if os.name == 'posix' or os.name == 'nt': - val = os.path.expanduser(val) - val = subst_vars(val, self.config_vars) - setattr(self, attr, val) - - def expand_basedirs(self): - """Calls `os.path.expanduser` on install_base, install_platbase and - root.""" - self._expand_attrs(['install_base', 'install_platbase', 'root']) - - def expand_dirs(self): - """Calls `os.path.expanduser` on install dirs.""" - dirs = [ - 'install_purelib', - 'install_platlib', - 'install_lib', - 'install_headers', - 'install_scripts', - 'install_data', - ] - self._expand_attrs(dirs) - - def run(self): - if self.verbose != self.distribution.verbose: - log.set_verbosity(self.verbose) - try: - for spec in self.args: - self.easy_install(spec, not self.no_deps) - if self.record: - outputs = self.outputs - if self.root: # strip any package prefix - root_len = len(self.root) - for counter in range(len(outputs)): - outputs[counter] = outputs[counter][root_len:] - from distutils import file_util - - self.execute( - file_util.write_file, (self.record, outputs), - "writing list of installed files to '%s'" % - self.record - ) - self.warn_deprecated_options() - finally: - log.set_verbosity(self.distribution.verbose) - - def pseudo_tempname(self): - """Return a pseudo-tempname base in the install directory. - This code is intentionally naive; if a malicious party can write to - the target directory you're already in deep doodoo. - """ - try: - pid = os.getpid() - except Exception: - pid = random.randint(0, sys.maxsize) - return os.path.join(self.install_dir, "test-easy-install-%s" % pid) - - def warn_deprecated_options(self): - pass - - def check_site_dir(self): - """Verify that self.install_dir is .pth-capable dir, if needed""" - - instdir = normalize_path(self.install_dir) - pth_file = os.path.join(instdir, 'easy-install.pth') - - # Is it a configured, PYTHONPATH, implicit, or explicit site dir? - is_site_dir = instdir in self.all_site_dirs - - if not is_site_dir and not self.multi_version: - # No? Then directly test whether it does .pth file processing - is_site_dir = self.check_pth_processing() - else: - # make sure we can write to target dir - testfile = self.pseudo_tempname() + '.write-test' - test_exists = os.path.exists(testfile) - try: - if test_exists: - os.unlink(testfile) - open(testfile, 'w').close() - os.unlink(testfile) - except (OSError, IOError): - self.cant_write_to_target() - - if not is_site_dir and not self.multi_version: - # Can't install non-multi to non-site dir - raise DistutilsError(self.no_default_version_msg()) - - if is_site_dir: - if self.pth_file is None: - self.pth_file = PthDistributions(pth_file, self.all_site_dirs) - else: - self.pth_file = None - - PYTHONPATH = os.environ.get('PYTHONPATH', '').split(os.pathsep) - if instdir not in map(normalize_path, filter(None, PYTHONPATH)): - # only PYTHONPATH dirs need a site.py, so pretend it's there - self.sitepy_installed = True - elif self.multi_version and not os.path.exists(pth_file): - self.sitepy_installed = True # don't need site.py in this case - self.pth_file = None # and don't create a .pth file - self.install_dir = instdir - - __cant_write_msg = textwrap.dedent(""" - can't create or remove files in install directory - - The following error occurred while trying to add or remove files in the - installation directory: - - %s - - The installation directory you specified (via --install-dir, --prefix, or - the distutils default setting) was: - - %s - """).lstrip() - - __not_exists_id = textwrap.dedent(""" - This directory does not currently exist. Please create it and try again, or - choose a different installation directory (using the -d or --install-dir - option). - """).lstrip() - - __access_msg = textwrap.dedent(""" - Perhaps your account does not have write access to this directory? If the - installation directory is a system-owned directory, you may need to sign in - as the administrator or "root" account. If you do not have administrative - access to this machine, you may wish to choose a different installation - directory, preferably one that is listed in your PYTHONPATH environment - variable. - - For information on other options, you may wish to consult the - documentation at: - - https://setuptools.readthedocs.io/en/latest/easy_install.html - - Please make the appropriate changes for your system and try again. - """).lstrip() - - def cant_write_to_target(self): - msg = self.__cant_write_msg % (sys.exc_info()[1], self.install_dir,) - - if not os.path.exists(self.install_dir): - msg += '\n' + self.__not_exists_id - else: - msg += '\n' + self.__access_msg - raise DistutilsError(msg) - - def check_pth_processing(self): - """Empirically verify whether .pth files are supported in inst. dir""" - instdir = self.install_dir - log.info("Checking .pth file support in %s", instdir) - pth_file = self.pseudo_tempname() + ".pth" - ok_file = pth_file + '.ok' - ok_exists = os.path.exists(ok_file) - tmpl = _one_liner(""" - import os - f = open({ok_file!r}, 'w') - f.write('OK') - f.close() - """) + '\n' - try: - if ok_exists: - os.unlink(ok_file) - dirname = os.path.dirname(ok_file) - if not os.path.exists(dirname): - os.makedirs(dirname) - f = open(pth_file, 'w') - except (OSError, IOError): - self.cant_write_to_target() - else: - try: - f.write(tmpl.format(**locals())) - f.close() - f = None - executable = sys.executable - if os.name == 'nt': - dirname, basename = os.path.split(executable) - alt = os.path.join(dirname, 'pythonw.exe') - use_alt = ( - basename.lower() == 'python.exe' and - os.path.exists(alt) - ) - if use_alt: - # use pythonw.exe to avoid opening a console window - executable = alt - - from distutils.spawn import spawn - - spawn([executable, '-E', '-c', 'pass'], 0) - - if os.path.exists(ok_file): - log.info( - "TEST PASSED: %s appears to support .pth files", - instdir - ) - return True - finally: - if f: - f.close() - if os.path.exists(ok_file): - os.unlink(ok_file) - if os.path.exists(pth_file): - os.unlink(pth_file) - if not self.multi_version: - log.warn("TEST FAILED: %s does NOT support .pth files", instdir) - return False - - def install_egg_scripts(self, dist): - """Write all the scripts for `dist`, unless scripts are excluded""" - if not self.exclude_scripts and dist.metadata_isdir('scripts'): - for script_name in dist.metadata_listdir('scripts'): - if dist.metadata_isdir('scripts/' + script_name): - # The "script" is a directory, likely a Python 3 - # __pycache__ directory, so skip it. - continue - self.install_script( - dist, script_name, - dist.get_metadata('scripts/' + script_name) - ) - self.install_wrapper_scripts(dist) - - def add_output(self, path): - if os.path.isdir(path): - for base, dirs, files in os.walk(path): - for filename in files: - self.outputs.append(os.path.join(base, filename)) - else: - self.outputs.append(path) - - def not_editable(self, spec): - if self.editable: - raise DistutilsArgError( - "Invalid argument %r: you can't use filenames or URLs " - "with --editable (except via the --find-links option)." - % (spec,) - ) - - def check_editable(self, spec): - if not self.editable: - return - - if os.path.exists(os.path.join(self.build_directory, spec.key)): - raise DistutilsArgError( - "%r already exists in %s; can't do a checkout there" % - (spec.key, self.build_directory) - ) - - def easy_install(self, spec, deps=False): - tmpdir = tempfile.mkdtemp(prefix="easy_install-") - if not self.editable: - self.install_site_py() - - try: - if not isinstance(spec, Requirement): - if URL_SCHEME(spec): - # It's a url, download it to tmpdir and process - self.not_editable(spec) - dl = self.package_index.download(spec, tmpdir) - return self.install_item(None, dl, tmpdir, deps, True) - - elif os.path.exists(spec): - # Existing file or directory, just process it directly - self.not_editable(spec) - return self.install_item(None, spec, tmpdir, deps, True) - else: - spec = parse_requirement_arg(spec) - - self.check_editable(spec) - dist = self.package_index.fetch_distribution( - spec, tmpdir, self.upgrade, self.editable, - not self.always_copy, self.local_index - ) - if dist is None: - msg = "Could not find suitable distribution for %r" % spec - if self.always_copy: - msg += " (--always-copy skips system and development eggs)" - raise DistutilsError(msg) - elif dist.precedence == DEVELOP_DIST: - # .egg-info dists don't need installing, just process deps - self.process_distribution(spec, dist, deps, "Using") - return dist - else: - return self.install_item(spec, dist.location, tmpdir, deps) - - finally: - if os.path.exists(tmpdir): - rmtree(tmpdir) - - def install_item(self, spec, download, tmpdir, deps, install_needed=False): - - # Installation is also needed if file in tmpdir or is not an egg - install_needed = install_needed or self.always_copy - install_needed = install_needed or os.path.dirname(download) == tmpdir - install_needed = install_needed or not download.endswith('.egg') - install_needed = install_needed or ( - self.always_copy_from is not None and - os.path.dirname(normalize_path(download)) == - normalize_path(self.always_copy_from) - ) - - if spec and not install_needed: - # at this point, we know it's a local .egg, we just don't know if - # it's already installed. - for dist in self.local_index[spec.project_name]: - if dist.location == download: - break - else: - install_needed = True # it's not in the local index - - log.info("Processing %s", os.path.basename(download)) - - if install_needed: - dists = self.install_eggs(spec, download, tmpdir) - for dist in dists: - self.process_distribution(spec, dist, deps) - else: - dists = [self.egg_distribution(download)] - self.process_distribution(spec, dists[0], deps, "Using") - - if spec is not None: - for dist in dists: - if dist in spec: - return dist - - def select_scheme(self, name): - """Sets the install directories by applying the install schemes.""" - # it's the caller's problem if they supply a bad name! - scheme = INSTALL_SCHEMES[name] - for key in SCHEME_KEYS: - attrname = 'install_' + key - if getattr(self, attrname) is None: - setattr(self, attrname, scheme[key]) - - def process_distribution(self, requirement, dist, deps=True, *info): - self.update_pth(dist) - self.package_index.add(dist) - if dist in self.local_index[dist.key]: - self.local_index.remove(dist) - self.local_index.add(dist) - self.install_egg_scripts(dist) - self.installed_projects[dist.key] = dist - log.info(self.installation_report(requirement, dist, *info)) - if (dist.has_metadata('dependency_links.txt') and - not self.no_find_links): - self.package_index.add_find_links( - dist.get_metadata_lines('dependency_links.txt') - ) - if not deps and not self.always_copy: - return - elif requirement is not None and dist.key != requirement.key: - log.warn("Skipping dependencies for %s", dist) - return # XXX this is not the distribution we were looking for - elif requirement is None or dist not in requirement: - # if we wound up with a different version, resolve what we've got - distreq = dist.as_requirement() - requirement = Requirement(str(distreq)) - log.info("Processing dependencies for %s", requirement) - try: - distros = WorkingSet([]).resolve( - [requirement], self.local_index, self.easy_install - ) - except DistributionNotFound as e: - raise DistutilsError(str(e)) - except VersionConflict as e: - raise DistutilsError(e.report()) - if self.always_copy or self.always_copy_from: - # Force all the relevant distros to be copied or activated - for dist in distros: - if dist.key not in self.installed_projects: - self.easy_install(dist.as_requirement()) - log.info("Finished processing dependencies for %s", requirement) - - def should_unzip(self, dist): - if self.zip_ok is not None: - return not self.zip_ok - if dist.has_metadata('not-zip-safe'): - return True - if not dist.has_metadata('zip-safe'): - return True - return False - - def maybe_move(self, spec, dist_filename, setup_base): - dst = os.path.join(self.build_directory, spec.key) - if os.path.exists(dst): - msg = ( - "%r already exists in %s; build directory %s will not be kept" - ) - log.warn(msg, spec.key, self.build_directory, setup_base) - return setup_base - if os.path.isdir(dist_filename): - setup_base = dist_filename - else: - if os.path.dirname(dist_filename) == setup_base: - os.unlink(dist_filename) # get it out of the tmp dir - contents = os.listdir(setup_base) - if len(contents) == 1: - dist_filename = os.path.join(setup_base, contents[0]) - if os.path.isdir(dist_filename): - # if the only thing there is a directory, move it instead - setup_base = dist_filename - ensure_directory(dst) - shutil.move(setup_base, dst) - return dst - - def install_wrapper_scripts(self, dist): - if self.exclude_scripts: - return - for args in ScriptWriter.best().get_args(dist): - self.write_script(*args) - - def install_script(self, dist, script_name, script_text, dev_path=None): - """Generate a legacy script wrapper and install it""" - spec = str(dist.as_requirement()) - is_script = is_python_script(script_text, script_name) - - if is_script: - body = self._load_template(dev_path) % locals() - script_text = ScriptWriter.get_header(script_text) + body - self.write_script(script_name, _to_ascii(script_text), 'b') - - @staticmethod - def _load_template(dev_path): - """ - There are a couple of template scripts in the package. This - function loads one of them and prepares it for use. - """ - # See https://github.com/pypa/setuptools/issues/134 for info - # on script file naming and downstream issues with SVR4 - name = 'script.tmpl' - if dev_path: - name = name.replace('.tmpl', ' (dev).tmpl') - - raw_bytes = resource_string('setuptools', name) - return raw_bytes.decode('utf-8') - - def write_script(self, script_name, contents, mode="t", blockers=()): - """Write an executable file to the scripts directory""" - self.delete_blockers( # clean up old .py/.pyw w/o a script - [os.path.join(self.script_dir, x) for x in blockers] - ) - log.info("Installing %s script to %s", script_name, self.script_dir) - target = os.path.join(self.script_dir, script_name) - self.add_output(target) - - mask = current_umask() - if not self.dry_run: - ensure_directory(target) - if os.path.exists(target): - os.unlink(target) - with open(target, "w" + mode) as f: - f.write(contents) - chmod(target, 0o777 - mask) - - def install_eggs(self, spec, dist_filename, tmpdir): - # .egg dirs or files are already built, so just return them - if dist_filename.lower().endswith('.egg'): - return [self.install_egg(dist_filename, tmpdir)] - elif dist_filename.lower().endswith('.exe'): - return [self.install_exe(dist_filename, tmpdir)] - - # Anything else, try to extract and build - setup_base = tmpdir - if os.path.isfile(dist_filename) and not dist_filename.endswith('.py'): - unpack_archive(dist_filename, tmpdir, self.unpack_progress) - elif os.path.isdir(dist_filename): - setup_base = os.path.abspath(dist_filename) - - if (setup_base.startswith(tmpdir) # something we downloaded - and self.build_directory and spec is not None): - setup_base = self.maybe_move(spec, dist_filename, setup_base) - - # Find the setup.py file - setup_script = os.path.join(setup_base, 'setup.py') - - if not os.path.exists(setup_script): - setups = glob(os.path.join(setup_base, '*', 'setup.py')) - if not setups: - raise DistutilsError( - "Couldn't find a setup script in %s" % - os.path.abspath(dist_filename) - ) - if len(setups) > 1: - raise DistutilsError( - "Multiple setup scripts in %s" % - os.path.abspath(dist_filename) - ) - setup_script = setups[0] - - # Now run it, and return the result - if self.editable: - log.info(self.report_editable(spec, setup_script)) - return [] - else: - return self.build_and_install(setup_script, setup_base) - - def egg_distribution(self, egg_path): - if os.path.isdir(egg_path): - metadata = PathMetadata(egg_path, os.path.join(egg_path, - 'EGG-INFO')) - else: - metadata = EggMetadata(zipimport.zipimporter(egg_path)) - return Distribution.from_filename(egg_path, metadata=metadata) - - def install_egg(self, egg_path, tmpdir): - destination = os.path.join( - self.install_dir, - os.path.basename(egg_path), - ) - destination = os.path.abspath(destination) - if not self.dry_run: - ensure_directory(destination) - - dist = self.egg_distribution(egg_path) - if not samefile(egg_path, destination): - if os.path.isdir(destination) and not os.path.islink(destination): - dir_util.remove_tree(destination, dry_run=self.dry_run) - elif os.path.exists(destination): - self.execute( - os.unlink, - (destination,), - "Removing " + destination, - ) - try: - new_dist_is_zipped = False - if os.path.isdir(egg_path): - if egg_path.startswith(tmpdir): - f, m = shutil.move, "Moving" - else: - f, m = shutil.copytree, "Copying" - elif self.should_unzip(dist): - self.mkpath(destination) - f, m = self.unpack_and_compile, "Extracting" - else: - new_dist_is_zipped = True - if egg_path.startswith(tmpdir): - f, m = shutil.move, "Moving" - else: - f, m = shutil.copy2, "Copying" - self.execute( - f, - (egg_path, destination), - (m + " %s to %s") % ( - os.path.basename(egg_path), - os.path.dirname(destination) - ), - ) - update_dist_caches( - destination, - fix_zipimporter_caches=new_dist_is_zipped, - ) - except Exception: - update_dist_caches(destination, fix_zipimporter_caches=False) - raise - - self.add_output(destination) - return self.egg_distribution(destination) - - def install_exe(self, dist_filename, tmpdir): - # See if it's valid, get data - cfg = extract_wininst_cfg(dist_filename) - if cfg is None: - raise DistutilsError( - "%s is not a valid distutils Windows .exe" % dist_filename - ) - # Create a dummy distribution object until we build the real distro - dist = Distribution( - None, - project_name=cfg.get('metadata', 'name'), - version=cfg.get('metadata', 'version'), platform=get_platform(), - ) - - # Convert the .exe to an unpacked egg - egg_path = os.path.join(tmpdir, dist.egg_name() + '.egg') - dist.location = egg_path - egg_tmp = egg_path + '.tmp' - _egg_info = os.path.join(egg_tmp, 'EGG-INFO') - pkg_inf = os.path.join(_egg_info, 'PKG-INFO') - ensure_directory(pkg_inf) # make sure EGG-INFO dir exists - dist._provider = PathMetadata(egg_tmp, _egg_info) # XXX - self.exe_to_egg(dist_filename, egg_tmp) - - # Write EGG-INFO/PKG-INFO - if not os.path.exists(pkg_inf): - f = open(pkg_inf, 'w') - f.write('Metadata-Version: 1.0\n') - for k, v in cfg.items('metadata'): - if k != 'target_version': - f.write('%s: %s\n' % (k.replace('_', '-').title(), v)) - f.close() - script_dir = os.path.join(_egg_info, 'scripts') - # delete entry-point scripts to avoid duping - self.delete_blockers([ - os.path.join(script_dir, args[0]) - for args in ScriptWriter.get_args(dist) - ]) - # Build .egg file from tmpdir - bdist_egg.make_zipfile( - egg_path, egg_tmp, verbose=self.verbose, dry_run=self.dry_run, - ) - # install the .egg - return self.install_egg(egg_path, tmpdir) - - def exe_to_egg(self, dist_filename, egg_tmp): - """Extract a bdist_wininst to the directories an egg would use""" - # Check for .pth file and set up prefix translations - prefixes = get_exe_prefixes(dist_filename) - to_compile = [] - native_libs = [] - top_level = {} - - def process(src, dst): - s = src.lower() - for old, new in prefixes: - if s.startswith(old): - src = new + src[len(old):] - parts = src.split('/') - dst = os.path.join(egg_tmp, *parts) - dl = dst.lower() - if dl.endswith('.pyd') or dl.endswith('.dll'): - parts[-1] = bdist_egg.strip_module(parts[-1]) - top_level[os.path.splitext(parts[0])[0]] = 1 - native_libs.append(src) - elif dl.endswith('.py') and old != 'SCRIPTS/': - top_level[os.path.splitext(parts[0])[0]] = 1 - to_compile.append(dst) - return dst - if not src.endswith('.pth'): - log.warn("WARNING: can't process %s", src) - return None - - # extract, tracking .pyd/.dll->native_libs and .py -> to_compile - unpack_archive(dist_filename, egg_tmp, process) - stubs = [] - for res in native_libs: - if res.lower().endswith('.pyd'): # create stubs for .pyd's - parts = res.split('/') - resource = parts[-1] - parts[-1] = bdist_egg.strip_module(parts[-1]) + '.py' - pyfile = os.path.join(egg_tmp, *parts) - to_compile.append(pyfile) - stubs.append(pyfile) - bdist_egg.write_stub(resource, pyfile) - self.byte_compile(to_compile) # compile .py's - bdist_egg.write_safety_flag( - os.path.join(egg_tmp, 'EGG-INFO'), - bdist_egg.analyze_egg(egg_tmp, stubs)) # write zip-safety flag - - for name in 'top_level', 'native_libs': - if locals()[name]: - txt = os.path.join(egg_tmp, 'EGG-INFO', name + '.txt') - if not os.path.exists(txt): - f = open(txt, 'w') - f.write('\n'.join(locals()[name]) + '\n') - f.close() - - __mv_warning = textwrap.dedent(""" - Because this distribution was installed --multi-version, before you can - import modules from this package in an application, you will need to - 'import pkg_resources' and then use a 'require()' call similar to one of - these examples, in order to select the desired version: - - pkg_resources.require("%(name)s") # latest installed version - pkg_resources.require("%(name)s==%(version)s") # this exact version - pkg_resources.require("%(name)s>=%(version)s") # this version or higher - """).lstrip() - - __id_warning = textwrap.dedent(""" - Note also that the installation directory must be on sys.path at runtime for - this to work. (e.g. by being the application's script directory, by being on - PYTHONPATH, or by being added to sys.path by your code.) - """) - - def installation_report(self, req, dist, what="Installed"): - """Helpful installation message for display to package users""" - msg = "\n%(what)s %(eggloc)s%(extras)s" - if self.multi_version and not self.no_report: - msg += '\n' + self.__mv_warning - if self.install_dir not in map(normalize_path, sys.path): - msg += '\n' + self.__id_warning - - eggloc = dist.location - name = dist.project_name - version = dist.version - extras = '' # TODO: self.report_extras(req, dist) - return msg % locals() - - __editable_msg = textwrap.dedent(""" - Extracted editable version of %(spec)s to %(dirname)s - - If it uses setuptools in its setup script, you can activate it in - "development" mode by going to that directory and running:: - - %(python)s setup.py develop - - See the setuptools documentation for the "develop" command for more info. - """).lstrip() - - def report_editable(self, spec, setup_script): - dirname = os.path.dirname(setup_script) - python = sys.executable - return '\n' + self.__editable_msg % locals() - - def run_setup(self, setup_script, setup_base, args): - sys.modules.setdefault('distutils.command.bdist_egg', bdist_egg) - sys.modules.setdefault('distutils.command.egg_info', egg_info) - - args = list(args) - if self.verbose > 2: - v = 'v' * (self.verbose - 1) - args.insert(0, '-' + v) - elif self.verbose < 2: - args.insert(0, '-q') - if self.dry_run: - args.insert(0, '-n') - log.info( - "Running %s %s", setup_script[len(setup_base) + 1:], ' '.join(args) - ) - try: - run_setup(setup_script, args) - except SystemExit as v: - raise DistutilsError("Setup script exited with %s" % (v.args[0],)) - - def build_and_install(self, setup_script, setup_base): - args = ['bdist_egg', '--dist-dir'] - - dist_dir = tempfile.mkdtemp( - prefix='egg-dist-tmp-', dir=os.path.dirname(setup_script) - ) - try: - self._set_fetcher_options(os.path.dirname(setup_script)) - args.append(dist_dir) - - self.run_setup(setup_script, setup_base, args) - all_eggs = Environment([dist_dir]) - eggs = [] - for key in all_eggs: - for dist in all_eggs[key]: - eggs.append(self.install_egg(dist.location, setup_base)) - if not eggs and not self.dry_run: - log.warn("No eggs found in %s (setup script problem?)", - dist_dir) - return eggs - finally: - rmtree(dist_dir) - log.set_verbosity(self.verbose) # restore our log verbosity - - def _set_fetcher_options(self, base): - """ - When easy_install is about to run bdist_egg on a source dist, that - source dist might have 'setup_requires' directives, requiring - additional fetching. Ensure the fetcher options given to easy_install - are available to that command as well. - """ - # find the fetch options from easy_install and write them out - # to the setup.cfg file. - ei_opts = self.distribution.get_option_dict('easy_install').copy() - fetch_directives = ( - 'find_links', 'site_dirs', 'index_url', 'optimize', - 'site_dirs', 'allow_hosts', - ) - fetch_options = {} - for key, val in ei_opts.items(): - if key not in fetch_directives: - continue - fetch_options[key.replace('_', '-')] = val[1] - # create a settings dictionary suitable for `edit_config` - settings = dict(easy_install=fetch_options) - cfg_filename = os.path.join(base, 'setup.cfg') - setopt.edit_config(cfg_filename, settings) - - def update_pth(self, dist): - if self.pth_file is None: - return - - for d in self.pth_file[dist.key]: # drop old entries - if self.multi_version or d.location != dist.location: - log.info("Removing %s from easy-install.pth file", d) - self.pth_file.remove(d) - if d.location in self.shadow_path: - self.shadow_path.remove(d.location) - - if not self.multi_version: - if dist.location in self.pth_file.paths: - log.info( - "%s is already the active version in easy-install.pth", - dist, - ) - else: - log.info("Adding %s to easy-install.pth file", dist) - self.pth_file.add(dist) # add new entry - if dist.location not in self.shadow_path: - self.shadow_path.append(dist.location) - - if not self.dry_run: - - self.pth_file.save() - - if dist.key == 'setuptools': - # Ensure that setuptools itself never becomes unavailable! - # XXX should this check for latest version? - filename = os.path.join(self.install_dir, 'setuptools.pth') - if os.path.islink(filename): - os.unlink(filename) - f = open(filename, 'wt') - f.write(self.pth_file.make_relative(dist.location) + '\n') - f.close() - - def unpack_progress(self, src, dst): - # Progress filter for unpacking - log.debug("Unpacking %s to %s", src, dst) - return dst # only unpack-and-compile skips files for dry run - - def unpack_and_compile(self, egg_path, destination): - to_compile = [] - to_chmod = [] - - def pf(src, dst): - if dst.endswith('.py') and not src.startswith('EGG-INFO/'): - to_compile.append(dst) - elif dst.endswith('.dll') or dst.endswith('.so'): - to_chmod.append(dst) - self.unpack_progress(src, dst) - return not self.dry_run and dst or None - - unpack_archive(egg_path, destination, pf) - self.byte_compile(to_compile) - if not self.dry_run: - for f in to_chmod: - mode = ((os.stat(f)[stat.ST_MODE]) | 0o555) & 0o7755 - chmod(f, mode) - - def byte_compile(self, to_compile): - if sys.dont_write_bytecode: - self.warn('byte-compiling is disabled, skipping.') - return - - from distutils.util import byte_compile - - try: - # try to make the byte compile messages quieter - log.set_verbosity(self.verbose - 1) - - byte_compile(to_compile, optimize=0, force=1, dry_run=self.dry_run) - if self.optimize: - byte_compile( - to_compile, optimize=self.optimize, force=1, - dry_run=self.dry_run, - ) - finally: - log.set_verbosity(self.verbose) # restore original verbosity - - __no_default_msg = textwrap.dedent(""" - bad install directory or PYTHONPATH - - You are attempting to install a package to a directory that is not - on PYTHONPATH and which Python does not read ".pth" files from. The - installation directory you specified (via --install-dir, --prefix, or - the distutils default setting) was: - - %s - - and your PYTHONPATH environment variable currently contains: - - %r - - Here are some of your options for correcting the problem: - - * You can choose a different installation directory, i.e., one that is - on PYTHONPATH or supports .pth files - - * You can add the installation directory to the PYTHONPATH environment - variable. (It must then also be on PYTHONPATH whenever you run - Python and want to use the package(s) you are installing.) - - * You can set up the installation directory to support ".pth" files by - using one of the approaches described here: - - https://setuptools.readthedocs.io/en/latest/easy_install.html#custom-installation-locations - - - Please make the appropriate changes for your system and try again.""").lstrip() - - def no_default_version_msg(self): - template = self.__no_default_msg - return template % (self.install_dir, os.environ.get('PYTHONPATH', '')) - - def install_site_py(self): - """Make sure there's a site.py in the target dir, if needed""" - - if self.sitepy_installed: - return # already did it, or don't need to - - sitepy = os.path.join(self.install_dir, "site.py") - source = resource_string("setuptools", "site-patch.py") - source = source.decode('utf-8') - current = "" - - if os.path.exists(sitepy): - log.debug("Checking existing site.py in %s", self.install_dir) - with io.open(sitepy) as strm: - current = strm.read() - - if not current.startswith('def __boot():'): - raise DistutilsError( - "%s is not a setuptools-generated site.py; please" - " remove it." % sitepy - ) - - if current != source: - log.info("Creating %s", sitepy) - if not self.dry_run: - ensure_directory(sitepy) - with io.open(sitepy, 'w', encoding='utf-8') as strm: - strm.write(source) - self.byte_compile([sitepy]) - - self.sitepy_installed = True - - def create_home_path(self): - """Create directories under ~.""" - if not self.user: - return - home = convert_path(os.path.expanduser("~")) - for name, path in six.iteritems(self.config_vars): - if path.startswith(home) and not os.path.isdir(path): - self.debug_print("os.makedirs('%s', 0o700)" % path) - os.makedirs(path, 0o700) - - INSTALL_SCHEMES = dict( - posix=dict( - install_dir='$base/lib/python$py_version_short/site-packages', - script_dir='$base/bin', - ), - ) - - DEFAULT_SCHEME = dict( - install_dir='$base/Lib/site-packages', - script_dir='$base/Scripts', - ) - - def _expand(self, *attrs): - config_vars = self.get_finalized_command('install').config_vars - - if self.prefix: - # Set default install_dir/scripts from --prefix - config_vars = config_vars.copy() - config_vars['base'] = self.prefix - scheme = self.INSTALL_SCHEMES.get(os.name, self.DEFAULT_SCHEME) - for attr, val in scheme.items(): - if getattr(self, attr, None) is None: - setattr(self, attr, val) - - from distutils.util import subst_vars - - for attr in attrs: - val = getattr(self, attr) - if val is not None: - val = subst_vars(val, config_vars) - if os.name == 'posix': - val = os.path.expanduser(val) - setattr(self, attr, val) - - -def get_site_dirs(): - # return a list of 'site' dirs - sitedirs = [_f for _f in os.environ.get('PYTHONPATH', - '').split(os.pathsep) if _f] - prefixes = [sys.prefix] - if sys.exec_prefix != sys.prefix: - prefixes.append(sys.exec_prefix) - for prefix in prefixes: - if prefix: - if sys.platform in ('os2emx', 'riscos'): - sitedirs.append(os.path.join(prefix, "Lib", "site-packages")) - elif os.sep == '/': - sitedirs.extend([ - os.path.join( - prefix, - "lib", - "python" + sys.version[:3], - "site-packages", - ), - os.path.join(prefix, "lib", "site-python"), - ]) - else: - sitedirs.extend([ - prefix, - os.path.join(prefix, "lib", "site-packages"), - ]) - if sys.platform == 'darwin': - # for framework builds *only* we add the standard Apple - # locations. Currently only per-user, but /Library and - # /Network/Library could be added too - if 'Python.framework' in prefix: - home = os.environ.get('HOME') - if home: - home_sp = os.path.join( - home, - 'Library', - 'Python', - sys.version[:3], - 'site-packages', - ) - sitedirs.append(home_sp) - lib_paths = get_path('purelib'), get_path('platlib') - for site_lib in lib_paths: - if site_lib not in sitedirs: - sitedirs.append(site_lib) - - if site.ENABLE_USER_SITE: - sitedirs.append(site.USER_SITE) - - try: - sitedirs.extend(site.getsitepackages()) - except AttributeError: - pass - - sitedirs = list(map(normalize_path, sitedirs)) - - return sitedirs - - -def expand_paths(inputs): - """Yield sys.path directories that might contain "old-style" packages""" - - seen = {} - - for dirname in inputs: - dirname = normalize_path(dirname) - if dirname in seen: - continue - - seen[dirname] = 1 - if not os.path.isdir(dirname): - continue - - files = os.listdir(dirname) - yield dirname, files - - for name in files: - if not name.endswith('.pth'): - # We only care about the .pth files - continue - if name in ('easy-install.pth', 'setuptools.pth'): - # Ignore .pth files that we control - continue - - # Read the .pth file - f = open(os.path.join(dirname, name)) - lines = list(yield_lines(f)) - f.close() - - # Yield existing non-dupe, non-import directory lines from it - for line in lines: - if not line.startswith("import"): - line = normalize_path(line.rstrip()) - if line not in seen: - seen[line] = 1 - if not os.path.isdir(line): - continue - yield line, os.listdir(line) - - -def extract_wininst_cfg(dist_filename): - """Extract configuration data from a bdist_wininst .exe - - Returns a configparser.RawConfigParser, or None - """ - f = open(dist_filename, 'rb') - try: - endrec = zipfile._EndRecData(f) - if endrec is None: - return None - - prepended = (endrec[9] - endrec[5]) - endrec[6] - if prepended < 12: # no wininst data here - return None - f.seek(prepended - 12) - - tag, cfglen, bmlen = struct.unpack("<iii", f.read(12)) - if tag not in (0x1234567A, 0x1234567B): - return None # not a valid tag - - f.seek(prepended - (12 + cfglen)) - init = {'version': '', 'target_version': ''} - cfg = configparser.RawConfigParser(init) - try: - part = f.read(cfglen) - # Read up to the first null byte. - config = part.split(b'\0', 1)[0] - # Now the config is in bytes, but for RawConfigParser, it should - # be text, so decode it. - config = config.decode(sys.getfilesystemencoding()) - cfg.readfp(six.StringIO(config)) - except configparser.Error: - return None - if not cfg.has_section('metadata') or not cfg.has_section('Setup'): - return None - return cfg - - finally: - f.close() - - -def get_exe_prefixes(exe_filename): - """Get exe->egg path translations for a given .exe file""" - - prefixes = [ - ('PURELIB/', ''), - ('PLATLIB/pywin32_system32', ''), - ('PLATLIB/', ''), - ('SCRIPTS/', 'EGG-INFO/scripts/'), - ('DATA/lib/site-packages', ''), - ] - z = zipfile.ZipFile(exe_filename) - try: - for info in z.infolist(): - name = info.filename - parts = name.split('/') - if len(parts) == 3 and parts[2] == 'PKG-INFO': - if parts[1].endswith('.egg-info'): - prefixes.insert(0, ('/'.join(parts[:2]), 'EGG-INFO/')) - break - if len(parts) != 2 or not name.endswith('.pth'): - continue - if name.endswith('-nspkg.pth'): - continue - if parts[0].upper() in ('PURELIB', 'PLATLIB'): - contents = z.read(name) - if six.PY3: - contents = contents.decode() - for pth in yield_lines(contents): - pth = pth.strip().replace('\\', '/') - if not pth.startswith('import'): - prefixes.append((('%s/%s/' % (parts[0], pth)), '')) - finally: - z.close() - prefixes = [(x.lower(), y) for x, y in prefixes] - prefixes.sort() - prefixes.reverse() - return prefixes - - -class PthDistributions(Environment): - """A .pth file with Distribution paths in it""" - - dirty = False - - def __init__(self, filename, sitedirs=()): - self.filename = filename - self.sitedirs = list(map(normalize_path, sitedirs)) - self.basedir = normalize_path(os.path.dirname(self.filename)) - self._load() - Environment.__init__(self, [], None, None) - for path in yield_lines(self.paths): - list(map(self.add, find_distributions(path, True))) - - def _load(self): - self.paths = [] - saw_import = False - seen = dict.fromkeys(self.sitedirs) - if os.path.isfile(self.filename): - f = open(self.filename, 'rt') - for line in f: - if line.startswith('import'): - saw_import = True - continue - path = line.rstrip() - self.paths.append(path) - if not path.strip() or path.strip().startswith('#'): - continue - # skip non-existent paths, in case somebody deleted a package - # manually, and duplicate paths as well - path = self.paths[-1] = normalize_path( - os.path.join(self.basedir, path) - ) - if not os.path.exists(path) or path in seen: - self.paths.pop() # skip it - self.dirty = True # we cleaned up, so we're dirty now :) - continue - seen[path] = 1 - f.close() - - if self.paths and not saw_import: - self.dirty = True # ensure anything we touch has import wrappers - while self.paths and not self.paths[-1].strip(): - self.paths.pop() - - def save(self): - """Write changed .pth file back to disk""" - if not self.dirty: - return - - rel_paths = list(map(self.make_relative, self.paths)) - if rel_paths: - log.debug("Saving %s", self.filename) - lines = self._wrap_lines(rel_paths) - data = '\n'.join(lines) + '\n' - - if os.path.islink(self.filename): - os.unlink(self.filename) - with open(self.filename, 'wt') as f: - f.write(data) - - elif os.path.exists(self.filename): - log.debug("Deleting empty %s", self.filename) - os.unlink(self.filename) - - self.dirty = False - - @staticmethod - def _wrap_lines(lines): - return lines - - def add(self, dist): - """Add `dist` to the distribution map""" - new_path = ( - dist.location not in self.paths and ( - dist.location not in self.sitedirs or - # account for '.' being in PYTHONPATH - dist.location == os.getcwd() - ) - ) - if new_path: - self.paths.append(dist.location) - self.dirty = True - Environment.add(self, dist) - - def remove(self, dist): - """Remove `dist` from the distribution map""" - while dist.location in self.paths: - self.paths.remove(dist.location) - self.dirty = True - Environment.remove(self, dist) - - def make_relative(self, path): - npath, last = os.path.split(normalize_path(path)) - baselen = len(self.basedir) - parts = [last] - sep = os.altsep == '/' and '/' or os.sep - while len(npath) >= baselen: - if npath == self.basedir: - parts.append(os.curdir) - parts.reverse() - return sep.join(parts) - npath, last = os.path.split(npath) - parts.append(last) - else: - return path - - -class RewritePthDistributions(PthDistributions): - @classmethod - def _wrap_lines(cls, lines): - yield cls.prelude - for line in lines: - yield line - yield cls.postlude - - prelude = _one_liner(""" - import sys - sys.__plen = len(sys.path) - """) - postlude = _one_liner(""" - import sys - new = sys.path[sys.__plen:] - del sys.path[sys.__plen:] - p = getattr(sys, '__egginsert', 0) - sys.path[p:p] = new - sys.__egginsert = p + len(new) - """) - - -if os.environ.get('SETUPTOOLS_SYS_PATH_TECHNIQUE', 'raw') == 'rewrite': - PthDistributions = RewritePthDistributions - - -def _first_line_re(): - """ - Return a regular expression based on first_line_re suitable for matching - strings. - """ - if isinstance(first_line_re.pattern, str): - return first_line_re - - # first_line_re in Python >=3.1.4 and >=3.2.1 is a bytes pattern. - return re.compile(first_line_re.pattern.decode()) - - -def auto_chmod(func, arg, exc): - if func is os.remove and os.name == 'nt': - chmod(arg, stat.S_IWRITE) - return func(arg) - et, ev, _ = sys.exc_info() - six.reraise(et, (ev[0], ev[1] + (" %s %s" % (func, arg)))) - - -def update_dist_caches(dist_path, fix_zipimporter_caches): - """ - Fix any globally cached `dist_path` related data - - `dist_path` should be a path of a newly installed egg distribution (zipped - or unzipped). - - sys.path_importer_cache contains finder objects that have been cached when - importing data from the original distribution. Any such finders need to be - cleared since the replacement distribution might be packaged differently, - e.g. a zipped egg distribution might get replaced with an unzipped egg - folder or vice versa. Having the old finders cached may then cause Python - to attempt loading modules from the replacement distribution using an - incorrect loader. - - zipimport.zipimporter objects are Python loaders charged with importing - data packaged inside zip archives. If stale loaders referencing the - original distribution, are left behind, they can fail to load modules from - the replacement distribution. E.g. if an old zipimport.zipimporter instance - is used to load data from a new zipped egg archive, it may cause the - operation to attempt to locate the requested data in the wrong location - - one indicated by the original distribution's zip archive directory - information. Such an operation may then fail outright, e.g. report having - read a 'bad local file header', or even worse, it may fail silently & - return invalid data. - - zipimport._zip_directory_cache contains cached zip archive directory - information for all existing zipimport.zipimporter instances and all such - instances connected to the same archive share the same cached directory - information. - - If asked, and the underlying Python implementation allows it, we can fix - all existing zipimport.zipimporter instances instead of having to track - them down and remove them one by one, by updating their shared cached zip - archive directory information. This, of course, assumes that the - replacement distribution is packaged as a zipped egg. - - If not asked to fix existing zipimport.zipimporter instances, we still do - our best to clear any remaining zipimport.zipimporter related cached data - that might somehow later get used when attempting to load data from the new - distribution and thus cause such load operations to fail. Note that when - tracking down such remaining stale data, we can not catch every conceivable - usage from here, and we clear only those that we know of and have found to - cause problems if left alive. Any remaining caches should be updated by - whomever is in charge of maintaining them, i.e. they should be ready to - handle us replacing their zip archives with new distributions at runtime. - - """ - # There are several other known sources of stale zipimport.zipimporter - # instances that we do not clear here, but might if ever given a reason to - # do so: - # * Global setuptools pkg_resources.working_set (a.k.a. 'master working - # set') may contain distributions which may in turn contain their - # zipimport.zipimporter loaders. - # * Several zipimport.zipimporter loaders held by local variables further - # up the function call stack when running the setuptools installation. - # * Already loaded modules may have their __loader__ attribute set to the - # exact loader instance used when importing them. Python 3.4 docs state - # that this information is intended mostly for introspection and so is - # not expected to cause us problems. - normalized_path = normalize_path(dist_path) - _uncache(normalized_path, sys.path_importer_cache) - if fix_zipimporter_caches: - _replace_zip_directory_cache_data(normalized_path) - else: - # Here, even though we do not want to fix existing and now stale - # zipimporter cache information, we still want to remove it. Related to - # Python's zip archive directory information cache, we clear each of - # its stale entries in two phases: - # 1. Clear the entry so attempting to access zip archive information - # via any existing stale zipimport.zipimporter instances fails. - # 2. Remove the entry from the cache so any newly constructed - # zipimport.zipimporter instances do not end up using old stale - # zip archive directory information. - # This whole stale data removal step does not seem strictly necessary, - # but has been left in because it was done before we started replacing - # the zip archive directory information cache content if possible, and - # there are no relevant unit tests that we can depend on to tell us if - # this is really needed. - _remove_and_clear_zip_directory_cache_data(normalized_path) - - -def _collect_zipimporter_cache_entries(normalized_path, cache): - """ - Return zipimporter cache entry keys related to a given normalized path. - - Alternative path spellings (e.g. those using different character case or - those using alternative path separators) related to the same path are - included. Any sub-path entries are included as well, i.e. those - corresponding to zip archives embedded in other zip archives. - - """ - result = [] - prefix_len = len(normalized_path) - for p in cache: - np = normalize_path(p) - if (np.startswith(normalized_path) and - np[prefix_len:prefix_len + 1] in (os.sep, '')): - result.append(p) - return result - - -def _update_zipimporter_cache(normalized_path, cache, updater=None): - """ - Update zipimporter cache data for a given normalized path. - - Any sub-path entries are processed as well, i.e. those corresponding to zip - archives embedded in other zip archives. - - Given updater is a callable taking a cache entry key and the original entry - (after already removing the entry from the cache), and expected to update - the entry and possibly return a new one to be inserted in its place. - Returning None indicates that the entry should not be replaced with a new - one. If no updater is given, the cache entries are simply removed without - any additional processing, the same as if the updater simply returned None. - - """ - for p in _collect_zipimporter_cache_entries(normalized_path, cache): - # N.B. pypy's custom zipimport._zip_directory_cache implementation does - # not support the complete dict interface: - # * Does not support item assignment, thus not allowing this function - # to be used only for removing existing cache entries. - # * Does not support the dict.pop() method, forcing us to use the - # get/del patterns instead. For more detailed information see the - # following links: - # https://github.com/pypa/setuptools/issues/202#issuecomment-202913420 - # https://bitbucket.org/pypy/pypy/src/dd07756a34a41f674c0cacfbc8ae1d4cc9ea2ae4/pypy/module/zipimport/interp_zipimport.py#cl-99 - old_entry = cache[p] - del cache[p] - new_entry = updater and updater(p, old_entry) - if new_entry is not None: - cache[p] = new_entry - - -def _uncache(normalized_path, cache): - _update_zipimporter_cache(normalized_path, cache) - - -def _remove_and_clear_zip_directory_cache_data(normalized_path): - def clear_and_remove_cached_zip_archive_directory_data(path, old_entry): - old_entry.clear() - - _update_zipimporter_cache( - normalized_path, zipimport._zip_directory_cache, - updater=clear_and_remove_cached_zip_archive_directory_data) - - -# PyPy Python implementation does not allow directly writing to the -# zipimport._zip_directory_cache and so prevents us from attempting to correct -# its content. The best we can do there is clear the problematic cache content -# and have PyPy repopulate it as needed. The downside is that if there are any -# stale zipimport.zipimporter instances laying around, attempting to use them -# will fail due to not having its zip archive directory information available -# instead of being automatically corrected to use the new correct zip archive -# directory information. -if '__pypy__' in sys.builtin_module_names: - _replace_zip_directory_cache_data = \ - _remove_and_clear_zip_directory_cache_data -else: - - def _replace_zip_directory_cache_data(normalized_path): - def replace_cached_zip_archive_directory_data(path, old_entry): - # N.B. In theory, we could load the zip directory information just - # once for all updated path spellings, and then copy it locally and - # update its contained path strings to contain the correct - # spelling, but that seems like a way too invasive move (this cache - # structure is not officially documented anywhere and could in - # theory change with new Python releases) for no significant - # benefit. - old_entry.clear() - zipimport.zipimporter(path) - old_entry.update(zipimport._zip_directory_cache[path]) - return old_entry - - _update_zipimporter_cache( - normalized_path, zipimport._zip_directory_cache, - updater=replace_cached_zip_archive_directory_data) - - -def is_python(text, filename='<string>'): - "Is this string a valid Python script?" - try: - compile(text, filename, 'exec') - except (SyntaxError, TypeError): - return False - else: - return True - - -def is_sh(executable): - """Determine if the specified executable is a .sh (contains a #! line)""" - try: - with io.open(executable, encoding='latin-1') as fp: - magic = fp.read(2) - except (OSError, IOError): - return executable - return magic == '#!' - - -def nt_quote_arg(arg): - """Quote a command line argument according to Windows parsing rules""" - return subprocess.list2cmdline([arg]) - - -def is_python_script(script_text, filename): - """Is this text, as a whole, a Python script? (as opposed to shell/bat/etc. - """ - if filename.endswith('.py') or filename.endswith('.pyw'): - return True # extension says it's Python - if is_python(script_text, filename): - return True # it's syntactically valid Python - if script_text.startswith('#!'): - # It begins with a '#!' line, so check if 'python' is in it somewhere - return 'python' in script_text.splitlines()[0].lower() - - return False # Not any Python I can recognize - - -try: - from os import chmod as _chmod -except ImportError: - # Jython compatibility - def _chmod(*args): - pass - - -def chmod(path, mode): - log.debug("changing mode of %s to %o", path, mode) - try: - _chmod(path, mode) - except os.error as e: - log.debug("chmod failed: %s", e) - - -class CommandSpec(list): - """ - A command spec for a #! header, specified as a list of arguments akin to - those passed to Popen. - """ - - options = [] - split_args = dict() - - @classmethod - def best(cls): - """ - Choose the best CommandSpec class based on environmental conditions. - """ - return cls - - @classmethod - def _sys_executable(cls): - _default = os.path.normpath(sys.executable) - return os.environ.get('__PYVENV_LAUNCHER__', _default) - - @classmethod - def from_param(cls, param): - """ - Construct a CommandSpec from a parameter to build_scripts, which may - be None. - """ - if isinstance(param, cls): - return param - if isinstance(param, list): - return cls(param) - if param is None: - return cls.from_environment() - # otherwise, assume it's a string. - return cls.from_string(param) - - @classmethod - def from_environment(cls): - return cls([cls._sys_executable()]) - - @classmethod - def from_string(cls, string): - """ - Construct a command spec from a simple string representing a command - line parseable by shlex.split. - """ - items = shlex.split(string, **cls.split_args) - return cls(items) - - def install_options(self, script_text): - self.options = shlex.split(self._extract_options(script_text)) - cmdline = subprocess.list2cmdline(self) - if not isascii(cmdline): - self.options[:0] = ['-x'] - - @staticmethod - def _extract_options(orig_script): - """ - Extract any options from the first line of the script. - """ - first = (orig_script + '\n').splitlines()[0] - match = _first_line_re().match(first) - options = match.group(1) or '' if match else '' - return options.strip() - - def as_header(self): - return self._render(self + list(self.options)) - - @staticmethod - def _strip_quotes(item): - _QUOTES = '"\'' - for q in _QUOTES: - if item.startswith(q) and item.endswith(q): - return item[1:-1] - return item - - @staticmethod - def _render(items): - cmdline = subprocess.list2cmdline( - CommandSpec._strip_quotes(item.strip()) for item in items) - return '#!' + cmdline + '\n' - - -# For pbr compat; will be removed in a future version. -sys_executable = CommandSpec._sys_executable() - - -class WindowsCommandSpec(CommandSpec): - split_args = dict(posix=False) - - -class ScriptWriter(object): - """ - Encapsulates behavior around writing entry point scripts for console and - gui apps. - """ - - template = textwrap.dedent(""" - # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r - __requires__ = %(spec)r - import re - import sys - from pkg_resources import load_entry_point - - if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) - sys.exit( - load_entry_point(%(spec)r, %(group)r, %(name)r)() - ) - """).lstrip() - - command_spec_class = CommandSpec - - @classmethod - def get_script_args(cls, dist, executable=None, wininst=False): - # for backward compatibility - warnings.warn("Use get_args", DeprecationWarning) - writer = (WindowsScriptWriter if wininst else ScriptWriter).best() - header = cls.get_script_header("", executable, wininst) - return writer.get_args(dist, header) - - @classmethod - def get_script_header(cls, script_text, executable=None, wininst=False): - # for backward compatibility - warnings.warn("Use get_header", DeprecationWarning) - if wininst: - executable = "python.exe" - cmd = cls.command_spec_class.best().from_param(executable) - cmd.install_options(script_text) - return cmd.as_header() - - @classmethod - def get_args(cls, dist, header=None): - """ - Yield write_script() argument tuples for a distribution's - console_scripts and gui_scripts entry points. - """ - if header is None: - header = cls.get_header() - spec = str(dist.as_requirement()) - for type_ in 'console', 'gui': - group = type_ + '_scripts' - for name, ep in dist.get_entry_map(group).items(): - cls._ensure_safe_name(name) - script_text = cls.template % locals() - args = cls._get_script_args(type_, name, header, script_text) - for res in args: - yield res - - @staticmethod - def _ensure_safe_name(name): - """ - Prevent paths in *_scripts entry point names. - """ - has_path_sep = re.search(r'[\\/]', name) - if has_path_sep: - raise ValueError("Path separators not allowed in script names") - - @classmethod - def get_writer(cls, force_windows): - # for backward compatibility - warnings.warn("Use best", DeprecationWarning) - return WindowsScriptWriter.best() if force_windows else cls.best() - - @classmethod - def best(cls): - """ - Select the best ScriptWriter for this environment. - """ - if sys.platform == 'win32' or (os.name == 'java' and os._name == 'nt'): - return WindowsScriptWriter.best() - else: - return cls - - @classmethod - def _get_script_args(cls, type_, name, header, script_text): - # Simply write the stub with no extension. - yield (name, header + script_text) - - @classmethod - def get_header(cls, script_text="", executable=None): - """Create a #! line, getting options (if any) from script_text""" - cmd = cls.command_spec_class.best().from_param(executable) - cmd.install_options(script_text) - return cmd.as_header() - - -class WindowsScriptWriter(ScriptWriter): - command_spec_class = WindowsCommandSpec - - @classmethod - def get_writer(cls): - # for backward compatibility - warnings.warn("Use best", DeprecationWarning) - return cls.best() - - @classmethod - def best(cls): - """ - Select the best ScriptWriter suitable for Windows - """ - writer_lookup = dict( - executable=WindowsExecutableLauncherWriter, - natural=cls, - ) - # for compatibility, use the executable launcher by default - launcher = os.environ.get('SETUPTOOLS_LAUNCHER', 'executable') - return writer_lookup[launcher] - - @classmethod - def _get_script_args(cls, type_, name, header, script_text): - "For Windows, add a .py extension" - ext = dict(console='.pya', gui='.pyw')[type_] - if ext not in os.environ['PATHEXT'].lower().split(';'): - msg = ( - "{ext} not listed in PATHEXT; scripts will not be " - "recognized as executables." - ).format(**locals()) - warnings.warn(msg, UserWarning) - old = ['.pya', '.py', '-script.py', '.pyc', '.pyo', '.pyw', '.exe'] - old.remove(ext) - header = cls._adjust_header(type_, header) - blockers = [name + x for x in old] - yield name + ext, header + script_text, 't', blockers - - @classmethod - def _adjust_header(cls, type_, orig_header): - """ - Make sure 'pythonw' is used for gui and and 'python' is used for - console (regardless of what sys.executable is). - """ - pattern = 'pythonw.exe' - repl = 'python.exe' - if type_ == 'gui': - pattern, repl = repl, pattern - pattern_ob = re.compile(re.escape(pattern), re.IGNORECASE) - new_header = pattern_ob.sub(string=orig_header, repl=repl) - return new_header if cls._use_header(new_header) else orig_header - - @staticmethod - def _use_header(new_header): - """ - Should _adjust_header use the replaced header? - - On non-windows systems, always use. On - Windows systems, only use the replaced header if it resolves - to an executable on the system. - """ - clean_header = new_header[2:-1].strip('"') - return sys.platform != 'win32' or find_executable(clean_header) - - -class WindowsExecutableLauncherWriter(WindowsScriptWriter): - @classmethod - def _get_script_args(cls, type_, name, header, script_text): - """ - For Windows, add a .py extension and an .exe launcher - """ - if type_ == 'gui': - launcher_type = 'gui' - ext = '-script.pyw' - old = ['.pyw'] - else: - launcher_type = 'cli' - ext = '-script.py' - old = ['.py', '.pyc', '.pyo'] - hdr = cls._adjust_header(type_, header) - blockers = [name + x for x in old] - yield (name + ext, hdr + script_text, 't', blockers) - yield ( - name + '.exe', get_win_launcher(launcher_type), - 'b' # write in binary mode - ) - if not is_64bit(): - # install a manifest for the launcher to prevent Windows - # from detecting it as an installer (which it will for - # launchers like easy_install.exe). Consider only - # adding a manifest for launchers detected as installers. - # See Distribute #143 for details. - m_name = name + '.exe.manifest' - yield (m_name, load_launcher_manifest(name), 't') - - -# for backward-compatibility -get_script_args = ScriptWriter.get_script_args -get_script_header = ScriptWriter.get_script_header - - -def get_win_launcher(type): - """ - Load the Windows launcher (executable) suitable for launching a script. - - `type` should be either 'cli' or 'gui' - - Returns the executable as a byte string. - """ - launcher_fn = '%s.exe' % type - if is_64bit(): - launcher_fn = launcher_fn.replace(".", "-64.") - else: - launcher_fn = launcher_fn.replace(".", "-32.") - return resource_string('setuptools', launcher_fn) - - -def load_launcher_manifest(name): - manifest = pkg_resources.resource_string(__name__, 'launcher manifest.xml') - if six.PY2: - return manifest % vars() - else: - return manifest.decode('utf-8') % vars() - - -def rmtree(path, ignore_errors=False, onerror=auto_chmod): - return shutil.rmtree(path, ignore_errors, onerror) - - -def current_umask(): - tmp = os.umask(0o022) - os.umask(tmp) - return tmp - - -def bootstrap(): - # This function is called when setuptools*.egg is run using /bin/sh - import setuptools - - argv0 = os.path.dirname(setuptools.__path__[0]) - sys.argv[0] = argv0 - sys.argv.append(argv0) - main() - - -def main(argv=None, **kw): - from setuptools import setup - from setuptools.dist import Distribution - - class DistributionWithoutHelpCommands(Distribution): - common_usage = "" - - def _show_help(self, *args, **kw): - with _patch_usage(): - Distribution._show_help(self, *args, **kw) - - if argv is None: - argv = sys.argv[1:] - - with _patch_usage(): - setup( - script_args=['-q', 'easy_install', '-v'] + argv, - script_name=sys.argv[0] or 'easy_install', - distclass=DistributionWithoutHelpCommands, - **kw - ) - - -@contextlib.contextmanager -def _patch_usage(): - import distutils.core - USAGE = textwrap.dedent(""" - usage: %(script)s [options] requirement_or_url ... - or: %(script)s --help - """).lstrip() - - def gen_usage(script_name): - return USAGE % dict( - script=os.path.basename(script_name), - ) - - saved = distutils.core.gen_usage - distutils.core.gen_usage = gen_usage - try: - yield - finally: - distutils.core.gen_usage = saved diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/egg_info.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/egg_info.py deleted file mode 100644 index 6cc8f4c4..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/egg_info.py +++ /dev/null @@ -1,697 +0,0 @@ -"""setuptools.command.egg_info - -Create a distribution's .egg-info directory and contents""" - -from distutils.filelist import FileList as _FileList -from distutils.errors import DistutilsInternalError -from distutils.util import convert_path -from distutils import log -import distutils.errors -import distutils.filelist -import os -import re -import sys -import io -import warnings -import time -import collections - -from setuptools.extern import six -from setuptools.extern.six.moves import map - -from setuptools import Command -from setuptools.command.sdist import sdist -from setuptools.command.sdist import walk_revctrl -from setuptools.command.setopt import edit_config -from setuptools.command import bdist_egg -from pkg_resources import ( - parse_requirements, safe_name, parse_version, - safe_version, yield_lines, EntryPoint, iter_entry_points, to_filename) -import setuptools.unicode_utils as unicode_utils -from setuptools.glob import glob - -from pkg_resources.extern import packaging - -try: - from setuptools_svn import svn_utils -except ImportError: - pass - - -def translate_pattern(glob): - """ - Translate a file path glob like '*.txt' in to a regular expression. - This differs from fnmatch.translate which allows wildcards to match - directory separators. It also knows about '**/' which matches any number of - directories. - """ - pat = '' - - # This will split on '/' within [character classes]. This is deliberate. - chunks = glob.split(os.path.sep) - - sep = re.escape(os.sep) - valid_char = '[^%s]' % (sep,) - - for c, chunk in enumerate(chunks): - last_chunk = c == len(chunks) - 1 - - # Chunks that are a literal ** are globstars. They match anything. - if chunk == '**': - if last_chunk: - # Match anything if this is the last component - pat += '.*' - else: - # Match '(name/)*' - pat += '(?:%s+%s)*' % (valid_char, sep) - continue # Break here as the whole path component has been handled - - # Find any special characters in the remainder - i = 0 - chunk_len = len(chunk) - while i < chunk_len: - char = chunk[i] - if char == '*': - # Match any number of name characters - pat += valid_char + '*' - elif char == '?': - # Match a name character - pat += valid_char - elif char == '[': - # Character class - inner_i = i + 1 - # Skip initial !/] chars - if inner_i < chunk_len and chunk[inner_i] == '!': - inner_i = inner_i + 1 - if inner_i < chunk_len and chunk[inner_i] == ']': - inner_i = inner_i + 1 - - # Loop till the closing ] is found - while inner_i < chunk_len and chunk[inner_i] != ']': - inner_i = inner_i + 1 - - if inner_i >= chunk_len: - # Got to the end of the string without finding a closing ] - # Do not treat this as a matching group, but as a literal [ - pat += re.escape(char) - else: - # Grab the insides of the [brackets] - inner = chunk[i + 1:inner_i] - char_class = '' - - # Class negation - if inner[0] == '!': - char_class = '^' - inner = inner[1:] - - char_class += re.escape(inner) - pat += '[%s]' % (char_class,) - - # Skip to the end ] - i = inner_i - else: - pat += re.escape(char) - i += 1 - - # Join each chunk with the dir separator - if not last_chunk: - pat += sep - - return re.compile(pat + r'\Z(?ms)') - - -class egg_info(Command): - description = "create a distribution's .egg-info directory" - - user_options = [ - ('egg-base=', 'e', "directory containing .egg-info directories" - " (default: top of the source tree)"), - ('tag-svn-revision', 'r', - "Add subversion revision ID to version number"), - ('tag-date', 'd', "Add date stamp (e.g. 20050528) to version number"), - ('tag-build=', 'b', "Specify explicit tag to add to version number"), - ('no-svn-revision', 'R', - "Don't add subversion revision ID [default]"), - ('no-date', 'D', "Don't include date stamp [default]"), - ] - - boolean_options = ['tag-date', 'tag-svn-revision'] - negative_opt = { - 'no-svn-revision': 'tag-svn-revision', - 'no-date': 'tag-date', - } - - def initialize_options(self): - self.egg_name = None - self.egg_version = None - self.egg_base = None - self.egg_info = None - self.tag_build = None - self.tag_svn_revision = 0 - self.tag_date = 0 - self.broken_egg_info = False - self.vtags = None - - def save_version_info(self, filename): - """ - Materialize the values of svn_revision and date into the - build tag. Install these keys in a deterministic order - to avoid arbitrary reordering on subsequent builds. - """ - # python 2.6 compatibility - odict = getattr(collections, 'OrderedDict', dict) - egg_info = odict() - # follow the order these keys would have been added - # when PYTHONHASHSEED=0 - egg_info['tag_build'] = self.tags() - egg_info['tag_date'] = 0 - egg_info['tag_svn_revision'] = 0 - edit_config(filename, dict(egg_info=egg_info)) - - def finalize_options(self): - self.egg_name = safe_name(self.distribution.get_name()) - self.vtags = self.tags() - self.egg_version = self.tagged_version() - - parsed_version = parse_version(self.egg_version) - - try: - is_version = isinstance(parsed_version, packaging.version.Version) - spec = ( - "%s==%s" if is_version else "%s===%s" - ) - list( - parse_requirements(spec % (self.egg_name, self.egg_version)) - ) - except ValueError: - raise distutils.errors.DistutilsOptionError( - "Invalid distribution name or version syntax: %s-%s" % - (self.egg_name, self.egg_version) - ) - - if self.egg_base is None: - dirs = self.distribution.package_dir - self.egg_base = (dirs or {}).get('', os.curdir) - - self.ensure_dirname('egg_base') - self.egg_info = to_filename(self.egg_name) + '.egg-info' - if self.egg_base != os.curdir: - self.egg_info = os.path.join(self.egg_base, self.egg_info) - if '-' in self.egg_name: - self.check_broken_egg_info() - - # Set package version for the benefit of dumber commands - # (e.g. sdist, bdist_wininst, etc.) - # - self.distribution.metadata.version = self.egg_version - - # If we bootstrapped around the lack of a PKG-INFO, as might be the - # case in a fresh checkout, make sure that any special tags get added - # to the version info - # - pd = self.distribution._patched_dist - if pd is not None and pd.key == self.egg_name.lower(): - pd._version = self.egg_version - pd._parsed_version = parse_version(self.egg_version) - self.distribution._patched_dist = None - - def write_or_delete_file(self, what, filename, data, force=False): - """Write `data` to `filename` or delete if empty - - If `data` is non-empty, this routine is the same as ``write_file()``. - If `data` is empty but not ``None``, this is the same as calling - ``delete_file(filename)`. If `data` is ``None``, then this is a no-op - unless `filename` exists, in which case a warning is issued about the - orphaned file (if `force` is false), or deleted (if `force` is true). - """ - if data: - self.write_file(what, filename, data) - elif os.path.exists(filename): - if data is None and not force: - log.warn( - "%s not set in setup(), but %s exists", what, filename - ) - return - else: - self.delete_file(filename) - - def write_file(self, what, filename, data): - """Write `data` to `filename` (if not a dry run) after announcing it - - `what` is used in a log message to identify what is being written - to the file. - """ - log.info("writing %s to %s", what, filename) - if six.PY3: - data = data.encode("utf-8") - if not self.dry_run: - f = open(filename, 'wb') - f.write(data) - f.close() - - def delete_file(self, filename): - """Delete `filename` (if not a dry run) after announcing it""" - log.info("deleting %s", filename) - if not self.dry_run: - os.unlink(filename) - - def tagged_version(self): - version = self.distribution.get_version() - # egg_info may be called more than once for a distribution, - # in which case the version string already contains all tags. - if self.vtags and version.endswith(self.vtags): - return safe_version(version) - return safe_version(version + self.vtags) - - def run(self): - self.mkpath(self.egg_info) - installer = self.distribution.fetch_build_egg - for ep in iter_entry_points('egg_info.writers'): - ep.require(installer=installer) - writer = ep.resolve() - writer(self, ep.name, os.path.join(self.egg_info, ep.name)) - - # Get rid of native_libs.txt if it was put there by older bdist_egg - nl = os.path.join(self.egg_info, "native_libs.txt") - if os.path.exists(nl): - self.delete_file(nl) - - self.find_sources() - - def tags(self): - version = '' - if self.tag_build: - version += self.tag_build - if self.tag_svn_revision: - warnings.warn( - "tag_svn_revision is deprecated and will not be honored " - "in a future release" - ) - version += '-r%s' % self.get_svn_revision() - if self.tag_date: - version += time.strftime("-%Y%m%d") - return version - - @staticmethod - def get_svn_revision(): - if 'svn_utils' not in globals(): - return "0" - return str(svn_utils.SvnInfo.load(os.curdir).get_revision()) - - def find_sources(self): - """Generate SOURCES.txt manifest file""" - manifest_filename = os.path.join(self.egg_info, "SOURCES.txt") - mm = manifest_maker(self.distribution) - mm.manifest = manifest_filename - mm.run() - self.filelist = mm.filelist - - def check_broken_egg_info(self): - bei = self.egg_name + '.egg-info' - if self.egg_base != os.curdir: - bei = os.path.join(self.egg_base, bei) - if os.path.exists(bei): - log.warn( - "-" * 78 + '\n' - "Note: Your current .egg-info directory has a '-' in its name;" - '\nthis will not work correctly with "setup.py develop".\n\n' - 'Please rename %s to %s to correct this problem.\n' + '-' * 78, - bei, self.egg_info - ) - self.broken_egg_info = self.egg_info - self.egg_info = bei # make it work for now - - -class FileList(_FileList): - # Implementations of the various MANIFEST.in commands - - def process_template_line(self, line): - # 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 (dir_pattern). - (action, patterns, dir, dir_pattern) = self._parse_template_line(line) - - # 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': - self.debug_print("include " + ' '.join(patterns)) - for pattern in patterns: - if not self.include(pattern): - log.warn("warning: no files found matching '%s'", pattern) - - elif action == 'exclude': - self.debug_print("exclude " + ' '.join(patterns)) - for pattern in patterns: - if not self.exclude(pattern): - log.warn(("warning: no previously-included files " - "found matching '%s'"), pattern) - - elif action == 'global-include': - self.debug_print("global-include " + ' '.join(patterns)) - for pattern in patterns: - if not self.global_include(pattern): - log.warn(("warning: no files found matching '%s' " - "anywhere in distribution"), pattern) - - elif action == 'global-exclude': - self.debug_print("global-exclude " + ' '.join(patterns)) - for pattern in patterns: - if not self.global_exclude(pattern): - log.warn(("warning: no previously-included files matching " - "'%s' found anywhere in distribution"), - pattern) - - elif action == 'recursive-include': - self.debug_print("recursive-include %s %s" % - (dir, ' '.join(patterns))) - for pattern in patterns: - if not self.recursive_include(dir, pattern): - log.warn(("warning: no files found matching '%s' " - "under directory '%s'"), - pattern, dir) - - elif action == 'recursive-exclude': - self.debug_print("recursive-exclude %s %s" % - (dir, ' '.join(patterns))) - for pattern in patterns: - if not self.recursive_exclude(dir, pattern): - log.warn(("warning: no previously-included files matching " - "'%s' found under directory '%s'"), - pattern, dir) - - elif action == 'graft': - self.debug_print("graft " + dir_pattern) - if not self.graft(dir_pattern): - log.warn("warning: no directories found matching '%s'", - dir_pattern) - - elif action == 'prune': - self.debug_print("prune " + dir_pattern) - if not self.prune(dir_pattern): - log.warn(("no previously-included directories found " - "matching '%s'"), dir_pattern) - - else: - raise DistutilsInternalError( - "this cannot happen: invalid action '%s'" % action) - - def _remove_files(self, predicate): - """ - Remove all files from the file list that match the predicate. - Return True if any matching files were removed - """ - found = False - for i in range(len(self.files) - 1, -1, -1): - if predicate(self.files[i]): - self.debug_print(" removing " + self.files[i]) - del self.files[i] - found = True - return found - - def include(self, pattern): - """Include files that match 'pattern'.""" - found = [f for f in glob(pattern) if not os.path.isdir(f)] - self.extend(found) - return bool(found) - - def exclude(self, pattern): - """Exclude files that match 'pattern'.""" - match = translate_pattern(pattern) - return self._remove_files(match.match) - - def recursive_include(self, dir, pattern): - """ - Include all files anywhere in 'dir/' that match the pattern. - """ - full_pattern = os.path.join(dir, '**', pattern) - found = [f for f in glob(full_pattern, recursive=True) - if not os.path.isdir(f)] - self.extend(found) - return bool(found) - - def recursive_exclude(self, dir, pattern): - """ - Exclude any file anywhere in 'dir/' that match the pattern. - """ - match = translate_pattern(os.path.join(dir, '**', pattern)) - return self._remove_files(match.match) - - def graft(self, dir): - """Include all files from 'dir/'.""" - found = distutils.filelist.findall(dir) - self.extend(found) - return bool(found) - - def prune(self, dir): - """Filter out files from 'dir/'.""" - match = translate_pattern(os.path.join(dir, '**')) - return self._remove_files(match.match) - - def global_include(self, pattern): - """ - Include all files anywhere in the current directory that match the - pattern. This is very inefficient on large file trees. - """ - if self.allfiles is None: - self.findall() - match = translate_pattern(os.path.join('**', pattern)) - found = [f for f in self.allfiles if match.match(f)] - self.extend(found) - return bool(found) - - def global_exclude(self, pattern): - """ - Exclude all files anywhere that match the pattern. - """ - match = translate_pattern(os.path.join('**', pattern)) - return self._remove_files(match.match) - - def append(self, item): - if item.endswith('\r'): # Fix older sdists built on Windows - item = item[:-1] - path = convert_path(item) - - if self._safe_path(path): - self.files.append(path) - - def extend(self, paths): - self.files.extend(filter(self._safe_path, paths)) - - def _repair(self): - """ - Replace self.files with only safe paths - - Because some owners of FileList manipulate the underlying - ``files`` attribute directly, this method must be called to - repair those paths. - """ - self.files = list(filter(self._safe_path, self.files)) - - def _safe_path(self, path): - enc_warn = "'%s' not %s encodable -- skipping" - - # To avoid accidental trans-codings errors, first to unicode - u_path = unicode_utils.filesys_decode(path) - if u_path is None: - log.warn("'%s' in unexpected encoding -- skipping" % path) - return False - - # Must ensure utf-8 encodability - utf8_path = unicode_utils.try_encode(u_path, "utf-8") - if utf8_path is None: - log.warn(enc_warn, path, 'utf-8') - return False - - try: - # accept is either way checks out - if os.path.exists(u_path) or os.path.exists(utf8_path): - return True - # this will catch any encode errors decoding u_path - except UnicodeEncodeError: - log.warn(enc_warn, path, sys.getfilesystemencoding()) - - -class manifest_maker(sdist): - template = "MANIFEST.in" - - def initialize_options(self): - self.use_defaults = 1 - self.prune = 1 - self.manifest_only = 1 - self.force_manifest = 1 - - def finalize_options(self): - pass - - def run(self): - self.filelist = FileList() - if not os.path.exists(self.manifest): - self.write_manifest() # it must exist so it'll get in the list - self.add_defaults() - if os.path.exists(self.template): - self.read_template() - self.prune_file_list() - self.filelist.sort() - self.filelist.remove_duplicates() - self.write_manifest() - - def _manifest_normalize(self, path): - path = unicode_utils.filesys_decode(path) - return path.replace(os.sep, '/') - - def write_manifest(self): - """ - Write the file list in 'self.filelist' to the manifest file - named by 'self.manifest'. - """ - self.filelist._repair() - - # Now _repairs should encodability, but not unicode - files = [self._manifest_normalize(f) for f in self.filelist.files] - msg = "writing manifest file '%s'" % self.manifest - self.execute(write_file, (self.manifest, files), msg) - - def warn(self, msg): # suppress missing-file warnings from sdist - if not msg.startswith("standard file not found:"): - sdist.warn(self, msg) - - def add_defaults(self): - sdist.add_defaults(self) - self.filelist.append(self.template) - self.filelist.append(self.manifest) - rcfiles = list(walk_revctrl()) - if rcfiles: - self.filelist.extend(rcfiles) - elif os.path.exists(self.manifest): - self.read_manifest() - ei_cmd = self.get_finalized_command('egg_info') - self.filelist.graft(ei_cmd.egg_info) - - def prune_file_list(self): - build = self.get_finalized_command('build') - base_dir = self.distribution.get_fullname() - self.filelist.prune(build.build_base) - self.filelist.prune(base_dir) - sep = re.escape(os.sep) - self.filelist.exclude_pattern(r'(^|' + sep + r')(RCS|CVS|\.svn)' + sep, - is_regex=1) - - -def write_file(filename, contents): - """Create a file with the specified name and write 'contents' (a - sequence of strings without line terminators) to it. - """ - contents = "\n".join(contents) - - # assuming the contents has been vetted for utf-8 encoding - contents = contents.encode("utf-8") - - with open(filename, "wb") as f: # always write POSIX-style manifest - f.write(contents) - - -def write_pkg_info(cmd, basename, filename): - log.info("writing %s", filename) - if not cmd.dry_run: - metadata = cmd.distribution.metadata - metadata.version, oldver = cmd.egg_version, metadata.version - metadata.name, oldname = cmd.egg_name, metadata.name - try: - # write unescaped data to PKG-INFO, so older pkg_resources - # can still parse it - metadata.write_pkg_info(cmd.egg_info) - finally: - metadata.name, metadata.version = oldname, oldver - - safe = getattr(cmd.distribution, 'zip_safe', None) - - bdist_egg.write_safety_flag(cmd.egg_info, safe) - - -def warn_depends_obsolete(cmd, basename, filename): - if os.path.exists(filename): - log.warn( - "WARNING: 'depends.txt' is not used by setuptools 0.6!\n" - "Use the install_requires/extras_require setup() args instead." - ) - - -def _write_requirements(stream, reqs): - lines = yield_lines(reqs or ()) - append_cr = lambda line: line + '\n' - lines = map(append_cr, lines) - stream.writelines(lines) - - -def write_requirements(cmd, basename, filename): - dist = cmd.distribution - data = six.StringIO() - _write_requirements(data, dist.install_requires) - extras_require = dist.extras_require or {} - for extra in sorted(extras_require): - data.write('\n[{extra}]\n'.format(**vars())) - _write_requirements(data, extras_require[extra]) - cmd.write_or_delete_file("requirements", filename, data.getvalue()) - - -def write_setup_requirements(cmd, basename, filename): - data = StringIO() - _write_requirements(data, cmd.distribution.setup_requires) - cmd.write_or_delete_file("setup-requirements", filename, data.getvalue()) - - -def write_toplevel_names(cmd, basename, filename): - pkgs = dict.fromkeys( - [ - k.split('.', 1)[0] - for k in cmd.distribution.iter_distribution_names() - ] - ) - cmd.write_file("top-level names", filename, '\n'.join(sorted(pkgs)) + '\n') - - -def overwrite_arg(cmd, basename, filename): - write_arg(cmd, basename, filename, True) - - -def write_arg(cmd, basename, filename, force=False): - argname = os.path.splitext(basename)[0] - value = getattr(cmd.distribution, argname, None) - if value is not None: - value = '\n'.join(value) + '\n' - cmd.write_or_delete_file(argname, filename, value, force) - - -def write_entries(cmd, basename, filename): - ep = cmd.distribution.entry_points - - if isinstance(ep, six.string_types) or ep is None: - data = ep - elif ep is not None: - data = [] - for section, contents in sorted(ep.items()): - if not isinstance(contents, six.string_types): - contents = EntryPoint.parse_group(section, contents) - contents = '\n'.join(sorted(map(str, contents.values()))) - data.append('[%s]\n%s\n\n' % (section, contents)) - data = ''.join(data) - - cmd.write_or_delete_file('entry points', filename, data, True) - - -def get_pkg_info_revision(): - """ - Get a -r### off of PKG-INFO Version in case this is an sdist of - a subversion revision. - """ - warnings.warn("get_pkg_info_revision is deprecated.", DeprecationWarning) - if os.path.exists('PKG-INFO'): - with io.open('PKG-INFO') as f: - for line in f: - match = re.match(r"Version:.*-r(\d+)\s*$", line) - if match: - return int(match.group(1)) - return 0 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install.py deleted file mode 100644 index 31a5ddb5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install.py +++ /dev/null @@ -1,125 +0,0 @@ -from distutils.errors import DistutilsArgError -import inspect -import glob -import warnings -import platform -import distutils.command.install as orig - -import setuptools - -# Prior to numpy 1.9, NumPy relies on the '_install' name, so provide it for -# now. See https://github.com/pypa/setuptools/issues/199/ -_install = orig.install - - -class install(orig.install): - """Use easy_install to install the package, w/dependencies""" - - user_options = orig.install.user_options + [ - ('old-and-unmanageable', None, "Try not to use this!"), - ('single-version-externally-managed', None, - "used by system package builders to create 'flat' eggs"), - ] - boolean_options = orig.install.boolean_options + [ - 'old-and-unmanageable', 'single-version-externally-managed', - ] - new_commands = [ - ('install_egg_info', lambda self: True), - ('install_scripts', lambda self: True), - ] - _nc = dict(new_commands) - - def initialize_options(self): - orig.install.initialize_options(self) - self.old_and_unmanageable = None - self.single_version_externally_managed = None - - def finalize_options(self): - orig.install.finalize_options(self) - if self.root: - self.single_version_externally_managed = True - elif self.single_version_externally_managed: - if not self.root and not self.record: - raise DistutilsArgError( - "You must specify --record or --root when building system" - " packages" - ) - - def handle_extra_path(self): - if self.root or self.single_version_externally_managed: - # explicit backward-compatibility mode, allow extra_path to work - return orig.install.handle_extra_path(self) - - # Ignore extra_path when installing an egg (or being run by another - # command without --root or --single-version-externally-managed - self.path_file = None - self.extra_dirs = '' - - def run(self): - # Explicit request for old-style install? Just do it - if self.old_and_unmanageable or self.single_version_externally_managed: - return orig.install.run(self) - - if not self._called_from_setup(inspect.currentframe()): - # Run in backward-compatibility mode to support bdist_* commands. - orig.install.run(self) - else: - self.do_egg_install() - - @staticmethod - def _called_from_setup(run_frame): - """ - Attempt to detect whether run() was called from setup() or by another - command. If called by setup(), the parent caller will be the - 'run_command' method in 'distutils.dist', and *its* caller will be - the 'run_commands' method. If called any other way, the - immediate caller *might* be 'run_command', but it won't have been - called by 'run_commands'. Return True in that case or if a call stack - is unavailable. Return False otherwise. - """ - if run_frame is None: - msg = "Call stack not available. bdist_* commands may fail." - warnings.warn(msg) - if platform.python_implementation() == 'IronPython': - msg = "For best results, pass -X:Frames to enable call stack." - warnings.warn(msg) - return True - res = inspect.getouterframes(run_frame)[2] - caller, = res[:1] - info = inspect.getframeinfo(caller) - caller_module = caller.f_globals.get('__name__', '') - return ( - caller_module == 'distutils.dist' - and info.function == 'run_commands' - ) - - def do_egg_install(self): - - easy_install = self.distribution.get_command_class('easy_install') - - cmd = easy_install( - self.distribution, args="x", root=self.root, record=self.record, - ) - cmd.ensure_finalized() # finalize before bdist_egg munges install cmd - cmd.always_copy_from = '.' # make sure local-dir eggs get installed - - # pick up setup-dir .egg files only: no .egg-info - cmd.package_index.scan(glob.glob('*.egg')) - - self.run_command('bdist_egg') - args = [self.distribution.get_command_obj('bdist_egg').egg_output] - - if setuptools.bootstrap_install_from: - # Bootstrap self-installation of setuptools - args.insert(0, setuptools.bootstrap_install_from) - - cmd.args = args - cmd.run() - setuptools.bootstrap_install_from = None - - -# XXX Python 3.1 doesn't see _nc if this is inside the class -install.sub_commands = ( - [cmd for cmd in orig.install.sub_commands if cmd[0] not in install._nc] + - install.new_commands -) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_egg_info.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_egg_info.py deleted file mode 100644 index edc4718b..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_egg_info.py +++ /dev/null @@ -1,62 +0,0 @@ -from distutils import log, dir_util -import os - -from setuptools import Command -from setuptools import namespaces -from setuptools.archive_util import unpack_archive -import pkg_resources - - -class install_egg_info(namespaces.Installer, Command): - """Install an .egg-info directory for the package""" - - description = "Install an .egg-info directory for the package" - - user_options = [ - ('install-dir=', 'd', "directory to install to"), - ] - - def initialize_options(self): - self.install_dir = None - - def finalize_options(self): - self.set_undefined_options('install_lib', - ('install_dir', 'install_dir')) - ei_cmd = self.get_finalized_command("egg_info") - basename = pkg_resources.Distribution( - None, None, ei_cmd.egg_name, ei_cmd.egg_version - ).egg_name() + '.egg-info' - self.source = ei_cmd.egg_info - self.target = os.path.join(self.install_dir, basename) - self.outputs = [] - - def run(self): - self.run_command('egg_info') - if os.path.isdir(self.target) and not os.path.islink(self.target): - dir_util.remove_tree(self.target, dry_run=self.dry_run) - elif os.path.exists(self.target): - self.execute(os.unlink, (self.target,), "Removing " + self.target) - if not self.dry_run: - pkg_resources.ensure_directory(self.target) - self.execute( - self.copytree, (), "Copying %s to %s" % (self.source, self.target) - ) - self.install_namespaces() - - def get_outputs(self): - return self.outputs - - def copytree(self): - # Copy the .egg-info tree to site-packages - def skimmer(src, dst): - # filter out source-control directories; note that 'src' is always - # a '/'-separated path, regardless of platform. 'dst' is a - # platform-specific path. - for skip in '.svn/', 'CVS/': - if src.startswith(skip) or '/' + skip in src: - return None - self.outputs.append(dst) - log.debug("Copying %s to %s", src, dst) - return dst - - unpack_archive(self.source, self.target, skimmer) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_lib.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_lib.py deleted file mode 100644 index 2b31c3e3..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_lib.py +++ /dev/null @@ -1,121 +0,0 @@ -import os -import imp -from itertools import product, starmap -import distutils.command.install_lib as orig - - -class install_lib(orig.install_lib): - """Don't add compiled flags to filenames of non-Python files""" - - def run(self): - self.build() - outfiles = self.install() - if outfiles is not None: - # always compile, in case we have any extension stubs to deal with - self.byte_compile(outfiles) - - def get_exclusions(self): - """ - Return a collections.Sized collections.Container of paths to be - excluded for single_version_externally_managed installations. - """ - all_packages = ( - pkg - for ns_pkg in self._get_SVEM_NSPs() - for pkg in self._all_packages(ns_pkg) - ) - - excl_specs = product(all_packages, self._gen_exclusion_paths()) - return set(starmap(self._exclude_pkg_path, excl_specs)) - - def _exclude_pkg_path(self, pkg, exclusion_path): - """ - Given a package name and exclusion path within that package, - compute the full exclusion path. - """ - parts = pkg.split('.') + [exclusion_path] - return os.path.join(self.install_dir, *parts) - - @staticmethod - def _all_packages(pkg_name): - """ - >>> list(install_lib._all_packages('foo.bar.baz')) - ['foo.bar.baz', 'foo.bar', 'foo'] - """ - while pkg_name: - yield pkg_name - pkg_name, sep, child = pkg_name.rpartition('.') - - def _get_SVEM_NSPs(self): - """ - Get namespace packages (list) but only for - single_version_externally_managed installations and empty otherwise. - """ - # TODO: is it necessary to short-circuit here? i.e. what's the cost - # if get_finalized_command is called even when namespace_packages is - # False? - if not self.distribution.namespace_packages: - return [] - - install_cmd = self.get_finalized_command('install') - svem = install_cmd.single_version_externally_managed - - return self.distribution.namespace_packages if svem else [] - - @staticmethod - def _gen_exclusion_paths(): - """ - Generate file paths to be excluded for namespace packages (bytecode - cache files). - """ - # always exclude the package module itself - yield '__init__.py' - - yield '__init__.pyc' - yield '__init__.pyo' - - if not hasattr(imp, 'get_tag'): - return - - base = os.path.join('__pycache__', '__init__.' + imp.get_tag()) - yield base + '.pyc' - yield base + '.pyo' - yield base + '.opt-1.pyc' - yield base + '.opt-2.pyc' - - def copy_tree( - self, infile, outfile, - preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1 - ): - assert preserve_mode and preserve_times and not preserve_symlinks - exclude = self.get_exclusions() - - if not exclude: - return orig.install_lib.copy_tree(self, infile, outfile) - - # Exclude namespace package __init__.py* files from the output - - from setuptools.archive_util import unpack_directory - from distutils import log - - outfiles = [] - - def pf(src, dst): - if dst in exclude: - log.warn("Skipping installation of %s (namespace package)", - dst) - return False - - log.info("copying %s -> %s", src, os.path.dirname(dst)) - outfiles.append(dst) - return dst - - unpack_directory(infile, outfile, pf) - return outfiles - - def get_outputs(self): - outputs = orig.install_lib.get_outputs(self) - exclude = self.get_exclusions() - if exclude: - return [f for f in outputs if f not in exclude] - return outputs diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_scripts.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_scripts.py deleted file mode 100644 index 16234273..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/install_scripts.py +++ /dev/null @@ -1,65 +0,0 @@ -from distutils import log -import distutils.command.install_scripts as orig -import os -import sys - -from pkg_resources import Distribution, PathMetadata, ensure_directory - - -class install_scripts(orig.install_scripts): - """Do normal script install, plus any egg_info wrapper scripts""" - - def initialize_options(self): - orig.install_scripts.initialize_options(self) - self.no_ep = False - - def run(self): - import setuptools.command.easy_install as ei - - self.run_command("egg_info") - if self.distribution.scripts: - orig.install_scripts.run(self) # run first to set up self.outfiles - else: - self.outfiles = [] - if self.no_ep: - # don't install entry point scripts into .egg file! - return - - ei_cmd = self.get_finalized_command("egg_info") - dist = Distribution( - ei_cmd.egg_base, PathMetadata(ei_cmd.egg_base, ei_cmd.egg_info), - ei_cmd.egg_name, ei_cmd.egg_version, - ) - bs_cmd = self.get_finalized_command('build_scripts') - exec_param = getattr(bs_cmd, 'executable', None) - bw_cmd = self.get_finalized_command("bdist_wininst") - is_wininst = getattr(bw_cmd, '_is_running', False) - writer = ei.ScriptWriter - if is_wininst: - exec_param = "python.exe" - writer = ei.WindowsScriptWriter - if exec_param == sys.executable: - # In case the path to the Python executable contains a space, wrap - # it so it's not split up. - exec_param = [exec_param] - # resolve the writer to the environment - writer = writer.best() - cmd = writer.command_spec_class.best().from_param(exec_param) - for args in writer.get_args(dist, cmd.as_header()): - self.write_script(*args) - - def write_script(self, script_name, contents, mode="t", *ignored): - """Write an executable file to the scripts directory""" - from setuptools.command.easy_install import chmod, current_umask - - log.info("Installing %s script to %s", script_name, self.install_dir) - target = os.path.join(self.install_dir, script_name) - self.outfiles.append(target) - - mask = current_umask() - if not self.dry_run: - ensure_directory(target) - f = open(target, "w" + mode) - f.write(contents) - f.close() - chmod(target, 0o777 - mask) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/launcher manifest.xml b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/launcher manifest.xml deleted file mode 100644 index 5972a96d..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/launcher manifest.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> - <assemblyIdentity version="1.0.0.0" - processorArchitecture="X86" - name="%(name)s" - type="win32"/> - <!-- Identify the application security requirements. --> - <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> - <security> - <requestedPrivileges> - <requestedExecutionLevel level="asInvoker" uiAccess="false"/> - </requestedPrivileges> - </security> - </trustInfo> -</assembly> diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/py36compat.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/py36compat.py deleted file mode 100644 index 61063e75..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/py36compat.py +++ /dev/null @@ -1,136 +0,0 @@ -import os -from glob import glob -from distutils.util import convert_path -from distutils.command import sdist - -from setuptools.extern.six.moves import filter - - -class sdist_add_defaults: - """ - Mix-in providing forward-compatibility for functionality as found in - distutils on Python 3.7. - - Do not edit the code in this class except to update functionality - as implemented in distutils. Instead, override in the subclass. - """ - - def add_defaults(self): - """Add all the default files to self.filelist: - - README or README.txt - - setup.py - - test/test*.py - - all pure Python modules mentioned in setup script - - all files pointed by package_data (build_py) - - all files defined in data_files. - - all files defined as scripts. - - all C sources listed as part of extensions or C libraries - in the setup script (doesn't catch C headers!) - Warns if (README or README.txt) or setup.py are missing; everything - else is optional. - """ - self._add_defaults_standards() - self._add_defaults_optional() - self._add_defaults_python() - self._add_defaults_data_files() - self._add_defaults_ext() - self._add_defaults_c_libs() - self._add_defaults_scripts() - - @staticmethod - def _cs_path_exists(fspath): - """ - Case-sensitive path existence check - - >>> sdist_add_defaults._cs_path_exists(__file__) - True - >>> sdist_add_defaults._cs_path_exists(__file__.upper()) - False - """ - if not os.path.exists(fspath): - return False - # make absolute so we always have a directory - abspath = os.path.abspath(fspath) - directory, filename = os.path.split(abspath) - return filename in os.listdir(directory) - - def _add_defaults_standards(self): - standards = [self.READMES, self.distribution.script_name] - for fn in standards: - if isinstance(fn, tuple): - alts = fn - got_it = False - for fn in alts: - if self._cs_path_exists(fn): - got_it = True - self.filelist.append(fn) - break - - if not got_it: - self.warn("standard file not found: should have one of " + - ', '.join(alts)) - else: - if self._cs_path_exists(fn): - self.filelist.append(fn) - else: - self.warn("standard file '%s' not found" % fn) - - def _add_defaults_optional(self): - optional = ['test/test*.py', 'setup.cfg'] - for pattern in optional: - files = filter(os.path.isfile, glob(pattern)) - self.filelist.extend(files) - - def _add_defaults_python(self): - # build_py is used to get: - # - python modules - # - files defined in package_data - build_py = self.get_finalized_command('build_py') - - # getting python files - if self.distribution.has_pure_modules(): - self.filelist.extend(build_py.get_source_files()) - - # getting package_data files - # (computed in build_py.data_files by build_py.finalize_options) - for pkg, src_dir, build_dir, filenames in build_py.data_files: - for filename in filenames: - self.filelist.append(os.path.join(src_dir, filename)) - - def _add_defaults_data_files(self): - # getting distribution.data_files - if self.distribution.has_data_files(): - for item in self.distribution.data_files: - if isinstance(item, str): - # plain file - item = convert_path(item) - if os.path.isfile(item): - self.filelist.append(item) - else: - # a (dirname, filenames) tuple - dirname, filenames = item - for f in filenames: - f = convert_path(f) - if os.path.isfile(f): - self.filelist.append(f) - - def _add_defaults_ext(self): - if self.distribution.has_ext_modules(): - build_ext = self.get_finalized_command('build_ext') - self.filelist.extend(build_ext.get_source_files()) - - def _add_defaults_c_libs(self): - if self.distribution.has_c_libraries(): - build_clib = self.get_finalized_command('build_clib') - self.filelist.extend(build_clib.get_source_files()) - - def _add_defaults_scripts(self): - if self.distribution.has_scripts(): - build_scripts = self.get_finalized_command('build_scripts') - self.filelist.extend(build_scripts.get_source_files()) - - -if hasattr(sdist.sdist, '_add_defaults_standards'): - # disable the functionality already available upstream - class sdist_add_defaults: - pass diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/register.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/register.py deleted file mode 100644 index 8d6336a1..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/register.py +++ /dev/null @@ -1,10 +0,0 @@ -import distutils.command.register as orig - - -class register(orig.register): - __doc__ = orig.register.__doc__ - - def run(self): - # Make sure that we are using valid current name/version info - self.run_command('egg_info') - orig.register.run(self) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/rotate.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/rotate.py deleted file mode 100644 index b89353f5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/rotate.py +++ /dev/null @@ -1,66 +0,0 @@ -from distutils.util import convert_path -from distutils import log -from distutils.errors import DistutilsOptionError -import os -import shutil - -from setuptools.extern import six - -from setuptools import Command - - -class rotate(Command): - """Delete older distributions""" - - description = "delete older distributions, keeping N newest files" - user_options = [ - ('match=', 'm', "patterns to match (required)"), - ('dist-dir=', 'd', "directory where the distributions are"), - ('keep=', 'k', "number of matching distributions to keep"), - ] - - boolean_options = [] - - def initialize_options(self): - self.match = None - self.dist_dir = None - self.keep = None - - def finalize_options(self): - if self.match is None: - raise DistutilsOptionError( - "Must specify one or more (comma-separated) match patterns " - "(e.g. '.zip' or '.egg')" - ) - if self.keep is None: - raise DistutilsOptionError("Must specify number of files to keep") - try: - self.keep = int(self.keep) - except ValueError: - raise DistutilsOptionError("--keep must be an integer") - if isinstance(self.match, six.string_types): - self.match = [ - convert_path(p.strip()) for p in self.match.split(',') - ] - self.set_undefined_options('bdist', ('dist_dir', 'dist_dir')) - - def run(self): - self.run_command("egg_info") - from glob import glob - - for pattern in self.match: - pattern = self.distribution.get_name() + '*' + pattern - files = glob(os.path.join(self.dist_dir, pattern)) - files = [(os.path.getmtime(f), f) for f in files] - files.sort() - files.reverse() - - log.info("%d file(s) matching %s", len(files), pattern) - files = files[self.keep:] - for (t, f) in files: - log.info("Deleting %s", f) - if not self.dry_run: - if os.path.isdir(f): - shutil.rmtree(f) - else: - os.unlink(f) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/saveopts.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/saveopts.py deleted file mode 100644 index 611cec55..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/saveopts.py +++ /dev/null @@ -1,22 +0,0 @@ -from setuptools.command.setopt import edit_config, option_base - - -class saveopts(option_base): - """Save command-line options to a file""" - - description = "save supplied options to setup.cfg or other config file" - - def run(self): - dist = self.distribution - settings = {} - - for cmd in dist.command_options: - - if cmd == 'saveopts': - continue # don't save our own options! - - for opt, (src, val) in dist.get_option_dict(cmd).items(): - if src == "command line": - settings.setdefault(cmd, {})[opt] = val - - edit_config(self.filename, settings, self.dry_run) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/sdist.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/sdist.py deleted file mode 100644 index 9975753d..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/sdist.py +++ /dev/null @@ -1,202 +0,0 @@ -from distutils import log -import distutils.command.sdist as orig -import os -import sys -import io -import contextlib - -from setuptools.extern import six - -from .py36compat import sdist_add_defaults - -import pkg_resources - -_default_revctrl = list - - -def walk_revctrl(dirname=''): - """Find all files under revision control""" - for ep in pkg_resources.iter_entry_points('setuptools.file_finders'): - for item in ep.load()(dirname): - yield item - - -class sdist(sdist_add_defaults, orig.sdist): - """Smart sdist that finds anything supported by revision control""" - - user_options = [ - ('formats=', None, - "formats for source distribution (comma-separated list)"), - ('keep-temp', 'k', - "keep the distribution tree around after creating " + - "archive file(s)"), - ('dist-dir=', 'd', - "directory to put the source distribution archive(s) in " - "[default: dist]"), - ] - - negative_opt = {} - - READMES = 'README', 'README.rst', 'README.txt' - - def run(self): - self.run_command('egg_info') - ei_cmd = self.get_finalized_command('egg_info') - self.filelist = ei_cmd.filelist - self.filelist.append(os.path.join(ei_cmd.egg_info, 'SOURCES.txt')) - self.check_readme() - - # Run sub commands - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - - # Call check_metadata only if no 'check' command - # (distutils <= 2.6) - import distutils.command - - if 'check' not in distutils.command.__all__: - self.check_metadata() - - self.make_distribution() - - dist_files = getattr(self.distribution, 'dist_files', []) - for file in self.archive_files: - data = ('sdist', '', file) - if data not in dist_files: - dist_files.append(data) - - def initialize_options(self): - orig.sdist.initialize_options(self) - - self._default_to_gztar() - - def _default_to_gztar(self): - # only needed on Python prior to 3.6. - if sys.version_info >= (3, 6, 0, 'beta', 1): - return - self.formats = ['gztar'] - - def make_distribution(self): - """ - Workaround for #516 - """ - with self._remove_os_link(): - orig.sdist.make_distribution(self) - - @staticmethod - @contextlib.contextmanager - def _remove_os_link(): - """ - In a context, remove and restore os.link if it exists - """ - - class NoValue: - pass - - orig_val = getattr(os, 'link', NoValue) - try: - del os.link - except Exception: - pass - try: - yield - finally: - if orig_val is not NoValue: - setattr(os, 'link', orig_val) - - def __read_template_hack(self): - # This grody hack closes the template file (MANIFEST.in) if an - # exception occurs during read_template. - # Doing so prevents an error when easy_install attempts to delete the - # file. - try: - orig.sdist.read_template(self) - except Exception: - _, _, tb = sys.exc_info() - tb.tb_next.tb_frame.f_locals['template'].close() - raise - - # Beginning with Python 2.7.2, 3.1.4, and 3.2.1, this leaky file handle - # has been fixed, so only override the method if we're using an earlier - # Python. - has_leaky_handle = ( - sys.version_info < (2, 7, 2) - or (3, 0) <= sys.version_info < (3, 1, 4) - or (3, 2) <= sys.version_info < (3, 2, 1) - ) - if has_leaky_handle: - read_template = __read_template_hack - - def _add_defaults_python(self): - """getting python files""" - if self.distribution.has_pure_modules(): - build_py = self.get_finalized_command('build_py') - self.filelist.extend(build_py.get_source_files()) - # This functionality is incompatible with include_package_data, and - # will in fact create an infinite recursion if include_package_data - # is True. Use of include_package_data will imply that - # distutils-style automatic handling of package_data is disabled - if not self.distribution.include_package_data: - for _, src_dir, _, filenames in build_py.data_files: - self.filelist.extend([os.path.join(src_dir, filename) - for filename in filenames]) - - def _add_defaults_data_files(self): - """ - Don't add any data files, but why? - """ - - def check_readme(self): - for f in self.READMES: - if os.path.exists(f): - return - else: - self.warn( - "standard file not found: should have one of " + - ', '.join(self.READMES) - ) - - def make_release_tree(self, base_dir, files): - orig.sdist.make_release_tree(self, base_dir, files) - - # Save any egg_info command line options used to create this sdist - dest = os.path.join(base_dir, 'setup.cfg') - if hasattr(os, 'link') and os.path.exists(dest): - # unlink and re-copy, since it might be hard-linked, and - # we don't want to change the source version - os.unlink(dest) - self.copy_file('setup.cfg', dest) - - self.get_finalized_command('egg_info').save_version_info(dest) - - def _manifest_is_not_generated(self): - # check for special comment used in 2.7.1 and higher - if not os.path.isfile(self.manifest): - return False - - with io.open(self.manifest, 'rb') as fp: - first_line = fp.readline() - return (first_line != - '# file GENERATED by distutils, do NOT edit\n'.encode()) - - def read_manifest(self): - """Read the manifest file (named by 'self.manifest') and use it to - fill in 'self.filelist', the list of files to include in the source - distribution. - """ - log.info("reading manifest file '%s'", self.manifest) - manifest = open(self.manifest, 'rb') - for line in manifest: - # The manifest must contain UTF-8. See #303. - if six.PY3: - try: - line = line.decode('UTF-8') - except UnicodeDecodeError: - log.warn("%r not UTF-8 decodable -- skipping" % line) - continue - # ignore comments and blank lines - line = line.strip() - if line.startswith('#') or not line: - continue - self.filelist.append(line) - manifest.close() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/setopt.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/setopt.py deleted file mode 100644 index 7e57cc02..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/setopt.py +++ /dev/null @@ -1,149 +0,0 @@ -from distutils.util import convert_path -from distutils import log -from distutils.errors import DistutilsOptionError -import distutils -import os - -from setuptools.extern.six.moves import configparser - -from setuptools import Command - -__all__ = ['config_file', 'edit_config', 'option_base', 'setopt'] - - -def config_file(kind="local"): - """Get the filename of the distutils, local, global, or per-user config - - `kind` must be one of "local", "global", or "user" - """ - if kind == 'local': - return 'setup.cfg' - if kind == 'global': - return os.path.join( - os.path.dirname(distutils.__file__), 'distutils.cfg' - ) - if kind == 'user': - dot = os.name == 'posix' and '.' or '' - return os.path.expanduser(convert_path("~/%spydistutils.cfg" % dot)) - raise ValueError( - "config_file() type must be 'local', 'global', or 'user'", kind - ) - - -def edit_config(filename, settings, dry_run=False): - """Edit a configuration file to include `settings` - - `settings` is a dictionary of dictionaries or ``None`` values, keyed by - command/section name. A ``None`` value means to delete the entire section, - while a dictionary lists settings to be changed or deleted in that section. - A setting of ``None`` means to delete that setting. - """ - log.debug("Reading configuration from %s", filename) - opts = configparser.RawConfigParser() - opts.read([filename]) - for section, options in settings.items(): - if options is None: - log.info("Deleting section [%s] from %s", section, filename) - opts.remove_section(section) - else: - if not opts.has_section(section): - log.debug("Adding new section [%s] to %s", section, filename) - opts.add_section(section) - for option, value in options.items(): - if value is None: - log.debug( - "Deleting %s.%s from %s", - section, option, filename - ) - opts.remove_option(section, option) - if not opts.options(section): - log.info("Deleting empty [%s] section from %s", - section, filename) - opts.remove_section(section) - else: - log.debug( - "Setting %s.%s to %r in %s", - section, option, value, filename - ) - opts.set(section, option, value) - - log.info("Writing %s", filename) - if not dry_run: - with open(filename, 'w') as f: - opts.write(f) - - -class option_base(Command): - """Abstract base class for commands that mess with config files""" - - user_options = [ - ('global-config', 'g', - "save options to the site-wide distutils.cfg file"), - ('user-config', 'u', - "save options to the current user's pydistutils.cfg file"), - ('filename=', 'f', - "configuration file to use (default=setup.cfg)"), - ] - - boolean_options = [ - 'global-config', 'user-config', - ] - - def initialize_options(self): - self.global_config = None - self.user_config = None - self.filename = None - - def finalize_options(self): - filenames = [] - if self.global_config: - filenames.append(config_file('global')) - if self.user_config: - filenames.append(config_file('user')) - if self.filename is not None: - filenames.append(self.filename) - if not filenames: - filenames.append(config_file('local')) - if len(filenames) > 1: - raise DistutilsOptionError( - "Must specify only one configuration file option", - filenames - ) - self.filename, = filenames - - -class setopt(option_base): - """Save command-line options to a file""" - - description = "set an option in setup.cfg or another config file" - - user_options = [ - ('command=', 'c', 'command to set an option for'), - ('option=', 'o', 'option to set'), - ('set-value=', 's', 'value of the option'), - ('remove', 'r', 'remove (unset) the value'), - ] + option_base.user_options - - boolean_options = option_base.boolean_options + ['remove'] - - def initialize_options(self): - option_base.initialize_options(self) - self.command = None - self.option = None - self.set_value = None - self.remove = None - - def finalize_options(self): - option_base.finalize_options(self) - if self.command is None or self.option is None: - raise DistutilsOptionError("Must specify --command *and* --option") - if self.set_value is None and not self.remove: - raise DistutilsOptionError("Must specify --set-value or --remove") - - def run(self): - edit_config( - self.filename, { - self.command: {self.option.replace('-', '_'): self.set_value} - }, - self.dry_run - ) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/test.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/test.py deleted file mode 100644 index 270674e2..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/test.py +++ /dev/null @@ -1,247 +0,0 @@ -import os -import operator -import sys -import contextlib -import itertools -from distutils.errors import DistutilsOptionError -from unittest import TestLoader - -from setuptools.extern import six -from setuptools.extern.six.moves import map, filter - -from pkg_resources import (resource_listdir, resource_exists, normalize_path, - working_set, _namespace_packages, - add_activation_listener, require, EntryPoint) -from setuptools import Command -from setuptools.py31compat import unittest_main - - -class ScanningLoader(TestLoader): - def loadTestsFromModule(self, module, pattern=None): - """Return a suite of all tests cases contained in the given module - - If the module is a package, load tests from all the modules in it. - If the module has an ``additional_tests`` function, call it and add - the return value to the tests. - """ - tests = [] - tests.append(TestLoader.loadTestsFromModule(self, module)) - - if hasattr(module, "additional_tests"): - tests.append(module.additional_tests()) - - if hasattr(module, '__path__'): - for file in resource_listdir(module.__name__, ''): - if file.endswith('.py') and file != '__init__.py': - submodule = module.__name__ + '.' + file[:-3] - else: - if resource_exists(module.__name__, file + '/__init__.py'): - submodule = module.__name__ + '.' + file - else: - continue - tests.append(self.loadTestsFromName(submodule)) - - if len(tests) != 1: - return self.suiteClass(tests) - else: - return tests[0] # don't create a nested suite for only one return - - -# adapted from jaraco.classes.properties:NonDataProperty -class NonDataProperty(object): - def __init__(self, fget): - self.fget = fget - - def __get__(self, obj, objtype=None): - if obj is None: - return self - return self.fget(obj) - - -class test(Command): - """Command to run unit tests after in-place build""" - - description = "run unit tests after in-place build" - - user_options = [ - ('test-module=', 'm', "Run 'test_suite' in specified module"), - ('test-suite=', 's', - "Test suite to run (e.g. 'some_module.test_suite')"), - ('test-runner=', 'r', "Test runner to use"), - ] - - def initialize_options(self): - self.test_suite = None - self.test_module = None - self.test_loader = None - self.test_runner = None - - def finalize_options(self): - - if self.test_suite and self.test_module: - msg = "You may specify a module or a suite, but not both" - raise DistutilsOptionError(msg) - - if self.test_suite is None: - if self.test_module is None: - self.test_suite = self.distribution.test_suite - else: - self.test_suite = self.test_module + ".test_suite" - - if self.test_loader is None: - self.test_loader = getattr(self.distribution, 'test_loader', None) - if self.test_loader is None: - self.test_loader = "setuptools.command.test:ScanningLoader" - if self.test_runner is None: - self.test_runner = getattr(self.distribution, 'test_runner', None) - - @NonDataProperty - def test_args(self): - return list(self._test_args()) - - def _test_args(self): - if self.verbose: - yield '--verbose' - if self.test_suite: - yield self.test_suite - - def with_project_on_sys_path(self, func): - """ - Backward compatibility for project_on_sys_path context. - """ - with self.project_on_sys_path(): - func() - - @contextlib.contextmanager - def project_on_sys_path(self, include_dists=[]): - with_2to3 = six.PY3 and getattr(self.distribution, 'use_2to3', False) - - if with_2to3: - # If we run 2to3 we can not do this inplace: - - # Ensure metadata is up-to-date - self.reinitialize_command('build_py', inplace=0) - self.run_command('build_py') - bpy_cmd = self.get_finalized_command("build_py") - build_path = normalize_path(bpy_cmd.build_lib) - - # Build extensions - self.reinitialize_command('egg_info', egg_base=build_path) - self.run_command('egg_info') - - self.reinitialize_command('build_ext', inplace=0) - self.run_command('build_ext') - else: - # Without 2to3 inplace works fine: - self.run_command('egg_info') - - # Build extensions in-place - self.reinitialize_command('build_ext', inplace=1) - self.run_command('build_ext') - - ei_cmd = self.get_finalized_command("egg_info") - - old_path = sys.path[:] - old_modules = sys.modules.copy() - - try: - project_path = normalize_path(ei_cmd.egg_base) - sys.path.insert(0, project_path) - working_set.__init__() - add_activation_listener(lambda dist: dist.activate()) - require('%s==%s' % (ei_cmd.egg_name, ei_cmd.egg_version)) - with self.paths_on_pythonpath([project_path]): - yield - finally: - sys.path[:] = old_path - sys.modules.clear() - sys.modules.update(old_modules) - working_set.__init__() - - @staticmethod - @contextlib.contextmanager - def paths_on_pythonpath(paths): - """ - Add the indicated paths to the head of the PYTHONPATH environment - variable so that subprocesses will also see the packages at - these paths. - - Do this in a context that restores the value on exit. - """ - nothing = object() - orig_pythonpath = os.environ.get('PYTHONPATH', nothing) - current_pythonpath = os.environ.get('PYTHONPATH', '') - try: - prefix = os.pathsep.join(paths) - to_join = filter(None, [prefix, current_pythonpath]) - new_path = os.pathsep.join(to_join) - if new_path: - os.environ['PYTHONPATH'] = new_path - yield - finally: - if orig_pythonpath is nothing: - os.environ.pop('PYTHONPATH', None) - else: - os.environ['PYTHONPATH'] = orig_pythonpath - - @staticmethod - def install_dists(dist): - """ - Install the requirements indicated by self.distribution and - return an iterable of the dists that were built. - """ - ir_d = dist.fetch_build_eggs(dist.install_requires or []) - tr_d = dist.fetch_build_eggs(dist.tests_require or []) - return itertools.chain(ir_d, tr_d) - - def run(self): - installed_dists = self.install_dists(self.distribution) - - cmd = ' '.join(self._argv) - if self.dry_run: - self.announce('skipping "%s" (dry run)' % cmd) - return - - self.announce('running "%s"' % cmd) - - paths = map(operator.attrgetter('location'), installed_dists) - with self.paths_on_pythonpath(paths): - with self.project_on_sys_path(): - self.run_tests() - - def run_tests(self): - # Purge modules under test from sys.modules. The test loader will - # re-import them from the build location. Required when 2to3 is used - # with namespace packages. - if six.PY3 and getattr(self.distribution, 'use_2to3', False): - module = self.test_suite.split('.')[0] - if module in _namespace_packages: - del_modules = [] - if module in sys.modules: - del_modules.append(module) - module += '.' - for name in sys.modules: - if name.startswith(module): - del_modules.append(name) - list(map(sys.modules.__delitem__, del_modules)) - - unittest_main( - None, None, self._argv, - testLoader=self._resolve_as_ep(self.test_loader), - testRunner=self._resolve_as_ep(self.test_runner), - ) - - @property - def _argv(self): - return ['unittest'] + self.test_args - - @staticmethod - def _resolve_as_ep(val): - """ - Load the indicated attribute value, called, as a as if it were - specified as an entry point. - """ - if val is None: - return - parsed = EntryPoint.parse("x=" + val) - return parsed.resolve()() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload.py deleted file mode 100644 index 484baa5a..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload.py +++ /dev/null @@ -1,38 +0,0 @@ -import getpass -from distutils.command import upload as orig - - -class upload(orig.upload): - """ - Override default upload behavior to obtain password - in a variety of different ways. - """ - - def finalize_options(self): - orig.upload.finalize_options(self) - # Attempt to obtain password. Short circuit evaluation at the first - # sign of success. - self.password = ( - self.password or - self._load_password_from_keyring() or - self._prompt_for_password() - ) - - def _load_password_from_keyring(self): - """ - Attempt to load password from keyring. Suppress Exceptions. - """ - try: - keyring = __import__('keyring') - return keyring.get_password(self.repository, self.username) - except Exception: - pass - - def _prompt_for_password(self): - """ - Prompt for a password on the tty. Suppress Exceptions. - """ - try: - return getpass.getpass() - except (Exception, KeyboardInterrupt): - pass diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload_docs.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload_docs.py deleted file mode 100644 index 269dc2d5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/command/upload_docs.py +++ /dev/null @@ -1,206 +0,0 @@ -# -*- coding: utf-8 -*- -"""upload_docs - -Implements a Distutils 'upload_docs' subcommand (upload documentation to -PyPI's pythonhosted.org). -""" - -from base64 import standard_b64encode -from distutils import log -from distutils.errors import DistutilsOptionError -import os -import socket -import zipfile -import tempfile -import shutil -import itertools -import functools - -from setuptools.extern import six -from setuptools.extern.six.moves import http_client, urllib - -from pkg_resources import iter_entry_points -from .upload import upload - - -def _encode(s): - errors = 'surrogateescape' if six.PY3 else 'strict' - return s.encode('utf-8', errors) - - -class upload_docs(upload): - # override the default repository as upload_docs isn't - # supported by Warehouse (and won't be). - DEFAULT_REPOSITORY = 'https://pypi.python.org/pypi/' - - description = 'Upload documentation to PyPI' - - user_options = [ - ('repository=', 'r', - "url of repository [default: %s]" % upload.DEFAULT_REPOSITORY), - ('show-response', None, - 'display full response text from server'), - ('upload-dir=', None, 'directory to upload'), - ] - boolean_options = upload.boolean_options - - def has_sphinx(self): - if self.upload_dir is None: - for ep in iter_entry_points('distutils.commands', 'build_sphinx'): - return True - - sub_commands = [('build_sphinx', has_sphinx)] - - def initialize_options(self): - upload.initialize_options(self) - self.upload_dir = None - self.target_dir = None - - def finalize_options(self): - log.warn("Upload_docs command is deprecated. Use RTD instead.") - upload.finalize_options(self) - if self.upload_dir is None: - if self.has_sphinx(): - build_sphinx = self.get_finalized_command('build_sphinx') - self.target_dir = build_sphinx.builder_target_dir - else: - build = self.get_finalized_command('build') - self.target_dir = os.path.join(build.build_base, 'docs') - else: - self.ensure_dirname('upload_dir') - self.target_dir = self.upload_dir - self.announce('Using upload directory %s' % self.target_dir) - - def create_zipfile(self, filename): - zip_file = zipfile.ZipFile(filename, "w") - try: - self.mkpath(self.target_dir) # just in case - for root, dirs, files in os.walk(self.target_dir): - if root == self.target_dir and not files: - raise DistutilsOptionError( - "no files found in upload directory '%s'" - % self.target_dir) - for name in files: - full = os.path.join(root, name) - relative = root[len(self.target_dir):].lstrip(os.path.sep) - dest = os.path.join(relative, name) - zip_file.write(full, dest) - finally: - zip_file.close() - - def run(self): - # Run sub commands - for cmd_name in self.get_sub_commands(): - self.run_command(cmd_name) - - tmp_dir = tempfile.mkdtemp() - name = self.distribution.metadata.get_name() - zip_file = os.path.join(tmp_dir, "%s.zip" % name) - try: - self.create_zipfile(zip_file) - self.upload_file(zip_file) - finally: - shutil.rmtree(tmp_dir) - - @staticmethod - def _build_part(item, sep_boundary): - key, values = item - title = '\nContent-Disposition: form-data; name="%s"' % key - # handle multiple entries for the same name - if not isinstance(values, list): - values = [values] - for value in values: - if isinstance(value, tuple): - title += '; filename="%s"' % value[0] - value = value[1] - else: - value = _encode(value) - yield sep_boundary - yield _encode(title) - yield b"\n\n" - yield value - if value and value[-1:] == b'\r': - yield b'\n' # write an extra newline (lurve Macs) - - @classmethod - def _build_multipart(cls, data): - """ - Build up the MIME payload for the POST data - """ - boundary = b'--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' - sep_boundary = b'\n--' + boundary - end_boundary = sep_boundary + b'--' - end_items = end_boundary, b"\n", - builder = functools.partial( - cls._build_part, - sep_boundary=sep_boundary, - ) - part_groups = map(builder, data.items()) - parts = itertools.chain.from_iterable(part_groups) - body_items = itertools.chain(parts, end_items) - content_type = 'multipart/form-data; boundary=%s' % boundary - return b''.join(body_items), content_type - - def upload_file(self, filename): - with open(filename, 'rb') as f: - content = f.read() - meta = self.distribution.metadata - data = { - ':action': 'doc_upload', - 'name': meta.get_name(), - 'content': (os.path.basename(filename), content), - } - # set up the authentication - credentials = _encode(self.username + ':' + self.password) - credentials = standard_b64encode(credentials) - if six.PY3: - credentials = credentials.decode('ascii') - auth = "Basic " + credentials - - body, ct = self._build_multipart(data) - - self.announce("Submitting documentation to %s" % (self.repository), - log.INFO) - - # build the Request - # We can't use urllib2 since we need to send the Basic - # auth right with the first request - schema, netloc, url, params, query, fragments = \ - urllib.parse.urlparse(self.repository) - assert not params and not query and not fragments - if schema == 'http': - conn = http_client.HTTPConnection(netloc) - elif schema == 'https': - conn = http_client.HTTPSConnection(netloc) - else: - raise AssertionError("unsupported schema " + schema) - - data = '' - try: - conn.connect() - conn.putrequest("POST", url) - content_type = ct - conn.putheader('Content-type', content_type) - conn.putheader('Content-length', str(len(body))) - conn.putheader('Authorization', auth) - conn.endheaders() - conn.send(body) - except socket.error as e: - self.announce(str(e), log.ERROR) - return - - r = conn.getresponse() - if r.status == 200: - self.announce('Server response (%s): %s' % (r.status, r.reason), - log.INFO) - elif r.status == 301: - location = r.getheader('Location') - if location is None: - location = 'https://pythonhosted.org/%s/' % meta.get_name() - self.announce('Upload successful. Visit %s' % location, - log.INFO) - else: - self.announce('Upload failed (%s): %s' % (r.status, r.reason), - log.ERROR) - if self.show_response: - print('-' * 75, r.read(), '-' * 75) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/depends.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/depends.py deleted file mode 100644 index 89d39a50..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/depends.py +++ /dev/null @@ -1,217 +0,0 @@ -import sys -import imp -import marshal -from distutils.version import StrictVersion -from imp import PKG_DIRECTORY, PY_COMPILED, PY_SOURCE, PY_FROZEN - -from setuptools.extern import six - -__all__ = [ - 'Require', 'find_module', 'get_module_constant', 'extract_constant' -] - - -class Require: - """A prerequisite to building or installing a distribution""" - - def __init__(self, name, requested_version, module, homepage='', - attribute=None, format=None): - - if format is None and requested_version is not None: - format = StrictVersion - - if format is not None: - requested_version = format(requested_version) - if attribute is None: - attribute = '__version__' - - self.__dict__.update(locals()) - del self.self - - def full_name(self): - """Return full package/distribution name, w/version""" - if self.requested_version is not None: - return '%s-%s' % (self.name, self.requested_version) - return self.name - - def version_ok(self, version): - """Is 'version' sufficiently up-to-date?""" - return self.attribute is None or self.format is None or \ - str(version) != "unknown" and version >= self.requested_version - - def get_version(self, paths=None, default="unknown"): - """Get version number of installed module, 'None', or 'default' - - Search 'paths' for module. If not found, return 'None'. If found, - return the extracted version attribute, or 'default' if no version - attribute was specified, or the value cannot be determined without - importing the module. The version is formatted according to the - requirement's version format (if any), unless it is 'None' or the - supplied 'default'. - """ - - if self.attribute is None: - try: - f, p, i = find_module(self.module, paths) - if f: - f.close() - return default - except ImportError: - return None - - v = get_module_constant(self.module, self.attribute, default, paths) - - if v is not None and v is not default and self.format is not None: - return self.format(v) - - return v - - def is_present(self, paths=None): - """Return true if dependency is present on 'paths'""" - return self.get_version(paths) is not None - - def is_current(self, paths=None): - """Return true if dependency is present and up-to-date on 'paths'""" - version = self.get_version(paths) - if version is None: - return False - return self.version_ok(version) - - -def _iter_code(code): - """Yield '(op,arg)' pair for each operation in code object 'code'""" - - from array import array - from dis import HAVE_ARGUMENT, EXTENDED_ARG - - bytes = array('b', code.co_code) - eof = len(code.co_code) - - ptr = 0 - extended_arg = 0 - - while ptr < eof: - - op = bytes[ptr] - - if op >= HAVE_ARGUMENT: - - arg = bytes[ptr + 1] + bytes[ptr + 2] * 256 + extended_arg - ptr += 3 - - if op == EXTENDED_ARG: - long_type = six.integer_types[-1] - extended_arg = arg * long_type(65536) - continue - - else: - arg = None - ptr += 1 - - yield op, arg - - -def find_module(module, paths=None): - """Just like 'imp.find_module()', but with package support""" - - parts = module.split('.') - - while parts: - part = parts.pop(0) - f, path, (suffix, mode, kind) = info = imp.find_module(part, paths) - - if kind == PKG_DIRECTORY: - parts = parts or ['__init__'] - paths = [path] - - elif parts: - raise ImportError("Can't find %r in %s" % (parts, module)) - - return info - - -def get_module_constant(module, symbol, default=-1, paths=None): - """Find 'module' by searching 'paths', and extract 'symbol' - - Return 'None' if 'module' does not exist on 'paths', or it does not define - 'symbol'. If the module defines 'symbol' as a constant, return the - constant. Otherwise, return 'default'.""" - - try: - f, path, (suffix, mode, kind) = find_module(module, paths) - except ImportError: - # Module doesn't exist - return None - - try: - if kind == PY_COMPILED: - f.read(8) # skip magic & date - code = marshal.load(f) - elif kind == PY_FROZEN: - code = imp.get_frozen_object(module) - elif kind == PY_SOURCE: - code = compile(f.read(), path, 'exec') - else: - # Not something we can parse; we'll have to import it. :( - if module not in sys.modules: - imp.load_module(module, f, path, (suffix, mode, kind)) - return getattr(sys.modules[module], symbol, None) - - finally: - if f: - f.close() - - return extract_constant(code, symbol, default) - - -def extract_constant(code, symbol, default=-1): - """Extract the constant value of 'symbol' from 'code' - - If the name 'symbol' is bound to a constant value by the Python code - object 'code', return that value. If 'symbol' is bound to an expression, - return 'default'. Otherwise, return 'None'. - - Return value is based on the first assignment to 'symbol'. 'symbol' must - be a global, or at least a non-"fast" local in the code block. That is, - only 'STORE_NAME' and 'STORE_GLOBAL' opcodes are checked, and 'symbol' - must be present in 'code.co_names'. - """ - - if symbol not in code.co_names: - # name's not there, can't possibly be an assigment - return None - - name_idx = list(code.co_names).index(symbol) - - STORE_NAME = 90 - STORE_GLOBAL = 97 - LOAD_CONST = 100 - - const = default - - for op, arg in _iter_code(code): - - if op == LOAD_CONST: - const = code.co_consts[arg] - elif arg == name_idx and (op == STORE_NAME or op == STORE_GLOBAL): - return const - else: - const = default - - -def _update_globals(): - """ - Patch the globals to remove the objects not available on some platforms. - - XXX it'd be better to test assertions about bytecode instead. - """ - - if not sys.platform.startswith('java') and sys.platform != 'cli': - return - incompatible = 'extract_constant', 'get_module_constant' - for name in incompatible: - del globals()[name] - __all__.remove(name) - - -_update_globals() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/dist.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/dist.py deleted file mode 100644 index 612040c8..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/dist.py +++ /dev/null @@ -1,914 +0,0 @@ -__all__ = ['Distribution'] - -import re -import os -import warnings -import numbers -import distutils.log -import distutils.core -import distutils.cmd -import distutils.dist -from distutils.errors import (DistutilsOptionError, DistutilsPlatformError, - DistutilsSetupError) -from distutils.util import rfc822_escape - -from setuptools.extern import six -from setuptools.extern.six.moves import map -from pkg_resources.extern import packaging - -from setuptools.depends import Require -from setuptools import windows_support -from setuptools.monkey import get_unpatched -import pkg_resources - - -def _get_unpatched(cls): - warnings.warn("Do not call this function", DeprecationWarning) - return get_unpatched(cls) - - -# Based on Python 3.5 version -def write_pkg_file(self, file): - """Write the PKG-INFO format data to a file object. - """ - version = '1.0' - if (self.provides or self.requires or self.obsoletes or - self.classifiers or self.download_url): - version = '1.1' - # Setuptools specific for PEP 345 - if hasattr(self, 'python_requires'): - version = '1.2' - - file.write('Metadata-Version: %s\n' % version) - file.write('Name: %s\n' % self.get_name()) - file.write('Version: %s\n' % self.get_version()) - file.write('Summary: %s\n' % self.get_description()) - file.write('Home-page: %s\n' % self.get_url()) - file.write('Author: %s\n' % self.get_contact()) - file.write('Author-email: %s\n' % self.get_contact_email()) - file.write('License: %s\n' % self.get_license()) - if self.download_url: - file.write('Download-URL: %s\n' % self.download_url) - - long_desc = rfc822_escape(self.get_long_description()) - file.write('Description: %s\n' % long_desc) - - keywords = ','.join(self.get_keywords()) - if keywords: - file.write('Keywords: %s\n' % keywords) - - self._write_list(file, 'Platform', self.get_platforms()) - self._write_list(file, 'Classifier', self.get_classifiers()) - - # PEP 314 - self._write_list(file, 'Requires', self.get_requires()) - self._write_list(file, 'Provides', self.get_provides()) - self._write_list(file, 'Obsoletes', self.get_obsoletes()) - - # Setuptools specific for PEP 345 - if hasattr(self, 'python_requires'): - file.write('Requires-Python: %s\n' % self.python_requires) - - -# from Python 3.4 -def write_pkg_info(self, base_dir): - """Write the PKG-INFO file into the release tree. - """ - with open(os.path.join(base_dir, 'PKG-INFO'), 'w', - encoding='UTF-8') as pkg_info: - self.write_pkg_file(pkg_info) - - -sequence = tuple, list - - -def check_importable(dist, attr, value): - try: - ep = pkg_resources.EntryPoint.parse('x=' + value) - assert not ep.extras - except (TypeError, ValueError, AttributeError, AssertionError): - raise DistutilsSetupError( - "%r must be importable 'module:attrs' string (got %r)" - % (attr, value) - ) - - -def assert_string_list(dist, attr, value): - """Verify that value is a string list or None""" - try: - assert ''.join(value) != value - except (TypeError, ValueError, AttributeError, AssertionError): - raise DistutilsSetupError( - "%r must be a list of strings (got %r)" % (attr, value) - ) - - -def check_nsp(dist, attr, value): - """Verify that namespace packages are valid""" - ns_packages = value - assert_string_list(dist, attr, ns_packages) - for nsp in ns_packages: - if not dist.has_contents_for(nsp): - raise DistutilsSetupError( - "Distribution contains no modules or packages for " + - "namespace package %r" % nsp - ) - parent, sep, child = nsp.rpartition('.') - if parent and parent not in ns_packages: - distutils.log.warn( - "WARNING: %r is declared as a package namespace, but %r" - " is not: please correct this in setup.py", nsp, parent - ) - - -def check_extras(dist, attr, value): - """Verify that extras_require mapping is valid""" - try: - for k, v in value.items(): - if ':' in k: - k, m = k.split(':', 1) - if pkg_resources.invalid_marker(m): - raise DistutilsSetupError("Invalid environment marker: " + m) - list(pkg_resources.parse_requirements(v)) - except (TypeError, ValueError, AttributeError): - raise DistutilsSetupError( - "'extras_require' must be a dictionary whose values are " - "strings or lists of strings containing valid project/version " - "requirement specifiers." - ) - - -def assert_bool(dist, attr, value): - """Verify that value is True, False, 0, or 1""" - if bool(value) != value: - tmpl = "{attr!r} must be a boolean value (got {value!r})" - raise DistutilsSetupError(tmpl.format(attr=attr, value=value)) - - -def check_requirements(dist, attr, value): - """Verify that install_requires is a valid requirements list""" - try: - list(pkg_resources.parse_requirements(value)) - except (TypeError, ValueError) as error: - tmpl = ( - "{attr!r} must be a string or list of strings " - "containing valid project/version requirement specifiers; {error}" - ) - raise DistutilsSetupError(tmpl.format(attr=attr, error=error)) - - -def check_specifier(dist, attr, value): - """Verify that value is a valid version specifier""" - try: - packaging.specifiers.SpecifierSet(value) - except packaging.specifiers.InvalidSpecifier as error: - tmpl = ( - "{attr!r} must be a string or list of strings " - "containing valid version specifiers; {error}" - ) - raise DistutilsSetupError(tmpl.format(attr=attr, error=error)) - - -def check_entry_points(dist, attr, value): - """Verify that entry_points map is parseable""" - try: - pkg_resources.EntryPoint.parse_map(value) - except ValueError as e: - raise DistutilsSetupError(e) - - -def check_test_suite(dist, attr, value): - if not isinstance(value, six.string_types): - raise DistutilsSetupError("test_suite must be a string") - - -def check_package_data(dist, attr, value): - """Verify that value is a dictionary of package names to glob lists""" - if isinstance(value, dict): - for k, v in value.items(): - if not isinstance(k, str): - break - try: - iter(v) - except TypeError: - break - else: - return - raise DistutilsSetupError( - attr + " must be a dictionary mapping package names to lists of " - "wildcard patterns" - ) - - -def check_packages(dist, attr, value): - for pkgname in value: - if not re.match(r'\w+(\.\w+)*', pkgname): - distutils.log.warn( - "WARNING: %r not a valid package name; please use only " - ".-separated package names in setup.py", pkgname - ) - - -_Distribution = get_unpatched(distutils.core.Distribution) - - -class Distribution(_Distribution): - """Distribution with support for features, tests, and package data - - This is an enhanced version of 'distutils.dist.Distribution' that - effectively adds the following new optional keyword arguments to 'setup()': - - 'install_requires' -- a string or sequence of strings specifying project - versions that the distribution requires when installed, in the format - used by 'pkg_resources.require()'. They will be installed - automatically when the package is installed. If you wish to use - packages that are not available in PyPI, or want to give your users an - alternate download location, you can add a 'find_links' option to the - '[easy_install]' section of your project's 'setup.cfg' file, and then - setuptools will scan the listed web pages for links that satisfy the - requirements. - - 'extras_require' -- a dictionary mapping names of optional "extras" to the - additional requirement(s) that using those extras incurs. For example, - this:: - - extras_require = dict(reST = ["docutils>=0.3", "reSTedit"]) - - indicates that the distribution can optionally provide an extra - capability called "reST", but it can only be used if docutils and - reSTedit are installed. If the user installs your package using - EasyInstall and requests one of your extras, the corresponding - additional requirements will be installed if needed. - - 'features' **deprecated** -- a dictionary mapping option names to - 'setuptools.Feature' - objects. Features are a portion of the distribution that can be - included or excluded based on user options, inter-feature dependencies, - and availability on the current system. Excluded features are omitted - from all setup commands, including source and binary distributions, so - you can create multiple distributions from the same source tree. - Feature names should be valid Python identifiers, except that they may - contain the '-' (minus) sign. Features can be included or excluded - via the command line options '--with-X' and '--without-X', where 'X' is - the name of the feature. Whether a feature is included by default, and - whether you are allowed to control this from the command line, is - determined by the Feature object. See the 'Feature' class for more - information. - - 'test_suite' -- the name of a test suite to run for the 'test' command. - If the user runs 'python setup.py test', the package will be installed, - and the named test suite will be run. The format is the same as - would be used on a 'unittest.py' command line. That is, it is the - dotted name of an object to import and call to generate a test suite. - - 'package_data' -- a dictionary mapping package names to lists of filenames - or globs to use to find data files contained in the named packages. - If the dictionary has filenames or globs listed under '""' (the empty - string), those names will be searched for in every package, in addition - to any names for the specific package. Data files found using these - names/globs will be installed along with the package, in the same - location as the package. Note that globs are allowed to reference - the contents of non-package subdirectories, as long as you use '/' as - a path separator. (Globs are automatically converted to - platform-specific paths at runtime.) - - In addition to these new keywords, this class also has several new methods - for manipulating the distribution's contents. For example, the 'include()' - and 'exclude()' methods can be thought of as in-place add and subtract - commands that add or remove packages, modules, extensions, and so on from - the distribution. They are used by the feature subsystem to configure the - distribution for the included and excluded features. - """ - - _patched_dist = None - - def patch_missing_pkg_info(self, attrs): - # Fake up a replacement for the data that would normally come from - # PKG-INFO, but which might not yet be built if this is a fresh - # checkout. - # - if not attrs or 'name' not in attrs or 'version' not in attrs: - return - key = pkg_resources.safe_name(str(attrs['name'])).lower() - dist = pkg_resources.working_set.by_key.get(key) - if dist is not None and not dist.has_metadata('PKG-INFO'): - dist._version = pkg_resources.safe_version(str(attrs['version'])) - self._patched_dist = dist - - def __init__(self, attrs=None): - have_package_data = hasattr(self, "package_data") - if not have_package_data: - self.package_data = {} - _attrs_dict = attrs or {} - if 'features' in _attrs_dict or 'require_features' in _attrs_dict: - Feature.warn_deprecated() - self.require_features = [] - self.features = {} - self.dist_files = [] - self.src_root = attrs and attrs.pop("src_root", None) - self.patch_missing_pkg_info(attrs) - # Make sure we have any eggs needed to interpret 'attrs' - if attrs is not None: - self.dependency_links = attrs.pop('dependency_links', []) - assert_string_list(self, 'dependency_links', self.dependency_links) - if attrs and 'setup_requires' in attrs: - self.fetch_build_eggs(attrs['setup_requires']) - for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'): - vars(self).setdefault(ep.name, None) - _Distribution.__init__(self, attrs) - if isinstance(self.metadata.version, numbers.Number): - # Some people apparently take "version number" too literally :) - self.metadata.version = str(self.metadata.version) - - if self.metadata.version is not None: - try: - ver = packaging.version.Version(self.metadata.version) - normalized_version = str(ver) - if self.metadata.version != normalized_version: - warnings.warn( - "Normalizing '%s' to '%s'" % ( - self.metadata.version, - normalized_version, - ) - ) - self.metadata.version = normalized_version - except (packaging.version.InvalidVersion, TypeError): - warnings.warn( - "The version specified (%r) is an invalid version, this " - "may not work as expected with newer versions of " - "setuptools, pip, and PyPI. Please see PEP 440 for more " - "details." % self.metadata.version - ) - if getattr(self, 'python_requires', None): - self.metadata.python_requires = self.python_requires - - def parse_command_line(self): - """Process features after parsing command line options""" - result = _Distribution.parse_command_line(self) - if self.features: - self._finalize_features() - return result - - def _feature_attrname(self, name): - """Convert feature name to corresponding option attribute name""" - return 'with_' + name.replace('-', '_') - - def fetch_build_eggs(self, requires): - """Resolve pre-setup requirements""" - resolved_dists = pkg_resources.working_set.resolve( - pkg_resources.parse_requirements(requires), - installer=self.fetch_build_egg, - replace_conflicting=True, - ) - for dist in resolved_dists: - pkg_resources.working_set.add(dist, replace=True) - return resolved_dists - - def finalize_options(self): - _Distribution.finalize_options(self) - if self.features: - self._set_global_opts_from_features() - - for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'): - value = getattr(self, ep.name, None) - if value is not None: - ep.require(installer=self.fetch_build_egg) - ep.load()(self, ep.name, value) - if getattr(self, 'convert_2to3_doctests', None): - # XXX may convert to set here when we can rely on set being builtin - self.convert_2to3_doctests = [os.path.abspath(p) for p in self.convert_2to3_doctests] - else: - self.convert_2to3_doctests = [] - - def get_egg_cache_dir(self): - egg_cache_dir = os.path.join(os.curdir, '.eggs') - if not os.path.exists(egg_cache_dir): - os.mkdir(egg_cache_dir) - windows_support.hide_file(egg_cache_dir) - readme_txt_filename = os.path.join(egg_cache_dir, 'README.txt') - with open(readme_txt_filename, 'w') as f: - f.write('This directory contains eggs that were downloaded ' - 'by setuptools to build, test, and run plug-ins.\n\n') - f.write('This directory caches those eggs to prevent ' - 'repeated downloads.\n\n') - f.write('However, it is safe to delete this directory.\n\n') - - return egg_cache_dir - - def fetch_build_egg(self, req): - """Fetch an egg needed for building""" - - try: - cmd = self._egg_fetcher - cmd.package_index.to_scan = [] - except AttributeError: - from setuptools.command.easy_install import easy_install - dist = self.__class__({'script_args': ['easy_install']}) - dist.parse_config_files() - opts = dist.get_option_dict('easy_install') - keep = ( - 'find_links', 'site_dirs', 'index_url', 'optimize', - 'site_dirs', 'allow_hosts' - ) - for key in list(opts): - if key not in keep: - del opts[key] # don't use any other settings - if self.dependency_links: - links = self.dependency_links[:] - if 'find_links' in opts: - links = opts['find_links'][1].split() + links - opts['find_links'] = ('setup', links) - install_dir = self.get_egg_cache_dir() - cmd = easy_install( - dist, args=["x"], install_dir=install_dir, exclude_scripts=True, - always_copy=False, build_directory=None, editable=False, - upgrade=False, multi_version=True, no_report=True, user=False - ) - cmd.ensure_finalized() - self._egg_fetcher = cmd - return cmd.easy_install(req) - - def _set_global_opts_from_features(self): - """Add --with-X/--without-X options based on optional features""" - - go = [] - no = self.negative_opt.copy() - - for name, feature in self.features.items(): - self._set_feature(name, None) - feature.validate(self) - - if feature.optional: - descr = feature.description - incdef = ' (default)' - excdef = '' - if not feature.include_by_default(): - excdef, incdef = incdef, excdef - - go.append(('with-' + name, None, 'include ' + descr + incdef)) - go.append(('without-' + name, None, 'exclude ' + descr + excdef)) - no['without-' + name] = 'with-' + name - - self.global_options = self.feature_options = go + self.global_options - self.negative_opt = self.feature_negopt = no - - def _finalize_features(self): - """Add/remove features and resolve dependencies between them""" - - # First, flag all the enabled items (and thus their dependencies) - for name, feature in self.features.items(): - enabled = self.feature_is_included(name) - if enabled or (enabled is None and feature.include_by_default()): - feature.include_in(self) - self._set_feature(name, 1) - - # Then disable the rest, so that off-by-default features don't - # get flagged as errors when they're required by an enabled feature - for name, feature in self.features.items(): - if not self.feature_is_included(name): - feature.exclude_from(self) - self._set_feature(name, 0) - - def get_command_class(self, command): - """Pluggable version of get_command_class()""" - if command in self.cmdclass: - return self.cmdclass[command] - - for ep in pkg_resources.iter_entry_points('distutils.commands', command): - ep.require(installer=self.fetch_build_egg) - self.cmdclass[command] = cmdclass = ep.load() - return cmdclass - else: - return _Distribution.get_command_class(self, command) - - def print_commands(self): - for ep in pkg_resources.iter_entry_points('distutils.commands'): - if ep.name not in self.cmdclass: - # don't require extras as the commands won't be invoked - cmdclass = ep.resolve() - self.cmdclass[ep.name] = cmdclass - return _Distribution.print_commands(self) - - def get_command_list(self): - for ep in pkg_resources.iter_entry_points('distutils.commands'): - if ep.name not in self.cmdclass: - # don't require extras as the commands won't be invoked - cmdclass = ep.resolve() - self.cmdclass[ep.name] = cmdclass - return _Distribution.get_command_list(self) - - def _set_feature(self, name, status): - """Set feature's inclusion status""" - setattr(self, self._feature_attrname(name), status) - - def feature_is_included(self, name): - """Return 1 if feature is included, 0 if excluded, 'None' if unknown""" - return getattr(self, self._feature_attrname(name)) - - def include_feature(self, name): - """Request inclusion of feature named 'name'""" - - if self.feature_is_included(name) == 0: - descr = self.features[name].description - raise DistutilsOptionError( - descr + " is required, but was excluded or is not available" - ) - self.features[name].include_in(self) - self._set_feature(name, 1) - - def include(self, **attrs): - """Add items to distribution that are named in keyword arguments - - For example, 'dist.exclude(py_modules=["x"])' would add 'x' to - the distribution's 'py_modules' attribute, if it was not already - there. - - Currently, this method only supports inclusion for attributes that are - lists or tuples. If you need to add support for adding to other - attributes in this or a subclass, you can add an '_include_X' method, - where 'X' is the name of the attribute. The method will be called with - the value passed to 'include()'. So, 'dist.include(foo={"bar":"baz"})' - will try to call 'dist._include_foo({"bar":"baz"})', which can then - handle whatever special inclusion logic is needed. - """ - for k, v in attrs.items(): - include = getattr(self, '_include_' + k, None) - if include: - include(v) - else: - self._include_misc(k, v) - - def exclude_package(self, package): - """Remove packages, modules, and extensions in named package""" - - pfx = package + '.' - if self.packages: - self.packages = [ - p for p in self.packages - if p != package and not p.startswith(pfx) - ] - - if self.py_modules: - self.py_modules = [ - p for p in self.py_modules - if p != package and not p.startswith(pfx) - ] - - if self.ext_modules: - self.ext_modules = [ - p for p in self.ext_modules - if p.name != package and not p.name.startswith(pfx) - ] - - def has_contents_for(self, package): - """Return true if 'exclude_package(package)' would do something""" - - pfx = package + '.' - - for p in self.iter_distribution_names(): - if p == package or p.startswith(pfx): - return True - - def _exclude_misc(self, name, value): - """Handle 'exclude()' for list/tuple attrs without a special handler""" - if not isinstance(value, sequence): - raise DistutilsSetupError( - "%s: setting must be a list or tuple (%r)" % (name, value) - ) - try: - old = getattr(self, name) - except AttributeError: - raise DistutilsSetupError( - "%s: No such distribution setting" % name - ) - if old is not None and not isinstance(old, sequence): - raise DistutilsSetupError( - name + ": this setting cannot be changed via include/exclude" - ) - elif old: - setattr(self, name, [item for item in old if item not in value]) - - def _include_misc(self, name, value): - """Handle 'include()' for list/tuple attrs without a special handler""" - - if not isinstance(value, sequence): - raise DistutilsSetupError( - "%s: setting must be a list (%r)" % (name, value) - ) - try: - old = getattr(self, name) - except AttributeError: - raise DistutilsSetupError( - "%s: No such distribution setting" % name - ) - if old is None: - setattr(self, name, value) - elif not isinstance(old, sequence): - raise DistutilsSetupError( - name + ": this setting cannot be changed via include/exclude" - ) - else: - setattr(self, name, old + [item for item in value if item not in old]) - - def exclude(self, **attrs): - """Remove items from distribution that are named in keyword arguments - - For example, 'dist.exclude(py_modules=["x"])' would remove 'x' from - the distribution's 'py_modules' attribute. Excluding packages uses - the 'exclude_package()' method, so all of the package's contained - packages, modules, and extensions are also excluded. - - Currently, this method only supports exclusion from attributes that are - lists or tuples. If you need to add support for excluding from other - attributes in this or a subclass, you can add an '_exclude_X' method, - where 'X' is the name of the attribute. The method will be called with - the value passed to 'exclude()'. So, 'dist.exclude(foo={"bar":"baz"})' - will try to call 'dist._exclude_foo({"bar":"baz"})', which can then - handle whatever special exclusion logic is needed. - """ - for k, v in attrs.items(): - exclude = getattr(self, '_exclude_' + k, None) - if exclude: - exclude(v) - else: - self._exclude_misc(k, v) - - def _exclude_packages(self, packages): - if not isinstance(packages, sequence): - raise DistutilsSetupError( - "packages: setting must be a list or tuple (%r)" % (packages,) - ) - list(map(self.exclude_package, packages)) - - def _parse_command_opts(self, parser, args): - # Remove --with-X/--without-X options when processing command args - self.global_options = self.__class__.global_options - self.negative_opt = self.__class__.negative_opt - - # First, expand any aliases - command = args[0] - aliases = self.get_option_dict('aliases') - while command in aliases: - src, alias = aliases[command] - del aliases[command] # ensure each alias can expand only once! - import shlex - args[:1] = shlex.split(alias, True) - command = args[0] - - nargs = _Distribution._parse_command_opts(self, parser, args) - - # Handle commands that want to consume all remaining arguments - cmd_class = self.get_command_class(command) - if getattr(cmd_class, 'command_consumes_arguments', None): - self.get_option_dict(command)['args'] = ("command line", nargs) - if nargs is not None: - return [] - - return nargs - - def get_cmdline_options(self): - """Return a '{cmd: {opt:val}}' map of all command-line options - - Option names are all long, but do not include the leading '--', and - contain dashes rather than underscores. If the option doesn't take - an argument (e.g. '--quiet'), the 'val' is 'None'. - - Note that options provided by config files are intentionally excluded. - """ - - d = {} - - for cmd, opts in self.command_options.items(): - - for opt, (src, val) in opts.items(): - - if src != "command line": - continue - - opt = opt.replace('_', '-') - - if val == 0: - cmdobj = self.get_command_obj(cmd) - neg_opt = self.negative_opt.copy() - neg_opt.update(getattr(cmdobj, 'negative_opt', {})) - for neg, pos in neg_opt.items(): - if pos == opt: - opt = neg - val = None - break - else: - raise AssertionError("Shouldn't be able to get here") - - elif val == 1: - val = None - - d.setdefault(cmd, {})[opt] = val - - return d - - def iter_distribution_names(self): - """Yield all packages, modules, and extension names in distribution""" - - for pkg in self.packages or (): - yield pkg - - for module in self.py_modules or (): - yield module - - for ext in self.ext_modules or (): - if isinstance(ext, tuple): - name, buildinfo = ext - else: - name = ext.name - if name.endswith('module'): - name = name[:-6] - yield name - - def handle_display_options(self, option_order): - """If there were any non-global "display-only" options - (--help-commands or the metadata display options) on the command - line, display the requested info and return true; else return - false. - """ - import sys - - if six.PY2 or self.help_commands: - return _Distribution.handle_display_options(self, option_order) - - # Stdout may be StringIO (e.g. in tests) - import io - if not isinstance(sys.stdout, io.TextIOWrapper): - return _Distribution.handle_display_options(self, option_order) - - # Don't wrap stdout if utf-8 is already the encoding. Provides - # workaround for #334. - if sys.stdout.encoding.lower() in ('utf-8', 'utf8'): - return _Distribution.handle_display_options(self, option_order) - - # Print metadata in UTF-8 no matter the platform - encoding = sys.stdout.encoding - errors = sys.stdout.errors - newline = sys.platform != 'win32' and '\n' or None - line_buffering = sys.stdout.line_buffering - - sys.stdout = io.TextIOWrapper( - sys.stdout.detach(), 'utf-8', errors, newline, line_buffering) - try: - return _Distribution.handle_display_options(self, option_order) - finally: - sys.stdout = io.TextIOWrapper( - sys.stdout.detach(), encoding, errors, newline, line_buffering) - - -class Feature: - """ - **deprecated** -- The `Feature` facility was never completely implemented - or supported, `has reported issues - <https://github.com/pypa/setuptools/issues/58>`_ and will be removed in - a future version. - - A subset of the distribution that can be excluded if unneeded/wanted - - Features are created using these keyword arguments: - - 'description' -- a short, human readable description of the feature, to - be used in error messages, and option help messages. - - 'standard' -- if true, the feature is included by default if it is - available on the current system. Otherwise, the feature is only - included if requested via a command line '--with-X' option, or if - another included feature requires it. The default setting is 'False'. - - 'available' -- if true, the feature is available for installation on the - current system. The default setting is 'True'. - - 'optional' -- if true, the feature's inclusion can be controlled from the - command line, using the '--with-X' or '--without-X' options. If - false, the feature's inclusion status is determined automatically, - based on 'availabile', 'standard', and whether any other feature - requires it. The default setting is 'True'. - - 'require_features' -- a string or sequence of strings naming features - that should also be included if this feature is included. Defaults to - empty list. May also contain 'Require' objects that should be - added/removed from the distribution. - - 'remove' -- a string or list of strings naming packages to be removed - from the distribution if this feature is *not* included. If the - feature *is* included, this argument is ignored. This argument exists - to support removing features that "crosscut" a distribution, such as - defining a 'tests' feature that removes all the 'tests' subpackages - provided by other features. The default for this argument is an empty - list. (Note: the named package(s) or modules must exist in the base - distribution when the 'setup()' function is initially called.) - - other keywords -- any other keyword arguments are saved, and passed to - the distribution's 'include()' and 'exclude()' methods when the - feature is included or excluded, respectively. So, for example, you - could pass 'packages=["a","b"]' to cause packages 'a' and 'b' to be - added or removed from the distribution as appropriate. - - A feature must include at least one 'requires', 'remove', or other - keyword argument. Otherwise, it can't affect the distribution in any way. - Note also that you can subclass 'Feature' to create your own specialized - feature types that modify the distribution in other ways when included or - excluded. See the docstrings for the various methods here for more detail. - Aside from the methods, the only feature attributes that distributions look - at are 'description' and 'optional'. - """ - - @staticmethod - def warn_deprecated(): - warnings.warn( - "Features are deprecated and will be removed in a future " - "version. See https://github.com/pypa/setuptools/issues/65.", - DeprecationWarning, - stacklevel=3, - ) - - def __init__(self, description, standard=False, available=True, - optional=True, require_features=(), remove=(), **extras): - self.warn_deprecated() - - self.description = description - self.standard = standard - self.available = available - self.optional = optional - if isinstance(require_features, (str, Require)): - require_features = require_features, - - self.require_features = [ - r for r in require_features if isinstance(r, str) - ] - er = [r for r in require_features if not isinstance(r, str)] - if er: - extras['require_features'] = er - - if isinstance(remove, str): - remove = remove, - self.remove = remove - self.extras = extras - - if not remove and not require_features and not extras: - raise DistutilsSetupError( - "Feature %s: must define 'require_features', 'remove', or at least one" - " of 'packages', 'py_modules', etc." - ) - - def include_by_default(self): - """Should this feature be included by default?""" - return self.available and self.standard - - def include_in(self, dist): - """Ensure feature and its requirements are included in distribution - - You may override this in a subclass to perform additional operations on - the distribution. Note that this method may be called more than once - per feature, and so should be idempotent. - - """ - - if not self.available: - raise DistutilsPlatformError( - self.description + " is required, " - "but is not available on this platform" - ) - - dist.include(**self.extras) - - for f in self.require_features: - dist.include_feature(f) - - def exclude_from(self, dist): - """Ensure feature is excluded from distribution - - You may override this in a subclass to perform additional operations on - the distribution. This method will be called at most once per - feature, and only after all included features have been asked to - include themselves. - """ - - dist.exclude(**self.extras) - - if self.remove: - for item in self.remove: - dist.exclude_package(item) - - def validate(self, dist): - """Verify that feature makes sense in context of distribution - - This method is called by the distribution just before it parses its - command line. It checks to ensure that the 'remove' attribute, if any, - contains only valid package/module names that are present in the base - distribution when 'setup()' is called. You may override it in a - subclass to perform any other required validation of the feature - against a target distribution. - """ - - for item in self.remove: - if not dist.has_contents_for(item): - raise DistutilsSetupError( - "%s wants to be able to remove %s, but the distribution" - " doesn't contain any packages or modules under %s" - % (self.description, item, item) - ) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extension.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extension.py deleted file mode 100644 index 29468894..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extension.py +++ /dev/null @@ -1,57 +0,0 @@ -import re -import functools -import distutils.core -import distutils.errors -import distutils.extension - -from setuptools.extern.six.moves import map - -from .monkey import get_unpatched - - -def _have_cython(): - """ - Return True if Cython can be imported. - """ - cython_impl = 'Cython.Distutils.build_ext' - try: - # from (cython_impl) import build_ext - __import__(cython_impl, fromlist=['build_ext']).build_ext - return True - except Exception: - pass - return False - - -# for compatibility -have_pyrex = _have_cython - -_Extension = get_unpatched(distutils.core.Extension) - - -class Extension(_Extension): - """Extension that uses '.c' files in place of '.pyx' files""" - - def __init__(self, name, sources, *args, **kw): - # The *args is needed for compatibility as calls may use positional - # arguments. py_limited_api may be set only via keyword. - self.py_limited_api = kw.pop("py_limited_api", False) - _Extension.__init__(self, name, sources, *args, **kw) - - def _convert_pyx_sources_to_lang(self): - """ - Replace sources with .pyx extensions to sources with the target - language extension. This mechanism allows language authors to supply - pre-converted sources but to prefer the .pyx sources. - """ - if _have_cython(): - # the build has Cython, so allow it to compile the .pyx files - return - lang = self.language or '' - target_ext = '.cpp' if lang.lower() == 'c++' else '.c' - sub = functools.partial(re.sub, '.pyx$', target_ext) - self.sources = list(map(sub, self.sources)) - - -class Library(Extension): - """Just like a regular Extension, but built as a library instead""" diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extern/__init__.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extern/__init__.py deleted file mode 100644 index 2cd08b7e..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extern/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from pkg_resources.extern import VendorImporter - -names = 'six', -VendorImporter(__name__, names, 'pkg_resources._vendor').install() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extern/__pycache__/__init__.cpython-36.pyc b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/extern/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index a5dd295cdb38a7aa4bcea6b600fa1faeb2897b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmY*VyG{c!5VY?>B1EX*4`{APoG3!%B!p;bXh0N4VO`keaN@Hq+ZPfViu)RVgU`5@ zieI3@2@-;pW;EKJkw!Zm4EFEeUyGIy@)7VmNl=#o?j#Tpppw+Ipp-ybL`X5l2;w$g zBrOTM<c4H>pTS8o+8y4Z0&TBqqpe5V#ZIhWj?J>-7M*VF1G*7k?L5~RwedEU7DxXL zxDHWeqj2m}Ro3XbKIdD(dDj!l`BKU^Vtc``qc6{l6|2%CTa}hQY6)l^%Yn`EMLs^w z)dUn&OK{I~zNya4Y#gRi?3Ni}hVw>97$QhMnVKi&&^N|wE!|)FQ;Kmel<=I7%%<y~ S*BTm$7c>-c+pir&3H=6ai)85l diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/glob.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/glob.py deleted file mode 100644 index 6c781de3..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/glob.py +++ /dev/null @@ -1,176 +0,0 @@ -""" -Filename globbing utility. Mostly a copy of `glob` from Python 3.5. - -Changes include: - * `yield from` and PEP3102 `*` removed. - * `bytes` changed to `six.binary_type`. - * Hidden files are not ignored. -""" - -import os -import re -import fnmatch -from setuptools.extern.six import binary_type - -__all__ = ["glob", "iglob", "escape"] - - -def glob(pathname, recursive=False): - """Return a list of paths matching a pathname pattern. - - The pattern may contain simple shell-style wildcards a la - fnmatch. However, unlike fnmatch, filenames starting with a - dot are special cases that are not matched by '*' and '?' - patterns. - - If recursive is true, the pattern '**' will match any files and - zero or more directories and subdirectories. - """ - return list(iglob(pathname, recursive=recursive)) - - -def iglob(pathname, recursive=False): - """Return an iterator which yields the paths matching a pathname pattern. - - The pattern may contain simple shell-style wildcards a la - fnmatch. However, unlike fnmatch, filenames starting with a - dot are special cases that are not matched by '*' and '?' - patterns. - - If recursive is true, the pattern '**' will match any files and - zero or more directories and subdirectories. - """ - it = _iglob(pathname, recursive) - if recursive and _isrecursive(pathname): - s = next(it) # skip empty string - assert not s - return it - - -def _iglob(pathname, recursive): - dirname, basename = os.path.split(pathname) - if not has_magic(pathname): - if basename: - if os.path.lexists(pathname): - yield pathname - else: - # Patterns ending with a slash should match only directories - if os.path.isdir(dirname): - yield pathname - return - if not dirname: - if recursive and _isrecursive(basename): - for x in glob2(dirname, basename): - yield x - else: - for x in glob1(dirname, basename): - yield x - return - # `os.path.split()` returns the argument itself as a dirname if it is a - # drive or UNC path. Prevent an infinite recursion if a drive or UNC path - # contains magic characters (i.e. r'\\?\C:'). - if dirname != pathname and has_magic(dirname): - dirs = _iglob(dirname, recursive) - else: - dirs = [dirname] - if has_magic(basename): - if recursive and _isrecursive(basename): - glob_in_dir = glob2 - else: - glob_in_dir = glob1 - else: - glob_in_dir = glob0 - for dirname in dirs: - for name in glob_in_dir(dirname, basename): - yield os.path.join(dirname, name) - - -# These 2 helper functions non-recursively glob inside a literal directory. -# They return a list of basenames. `glob1` accepts a pattern while `glob0` -# takes a literal basename (so it only has to check for its existence). - - -def glob1(dirname, pattern): - if not dirname: - if isinstance(pattern, binary_type): - dirname = os.curdir.encode('ASCII') - else: - dirname = os.curdir - try: - names = os.listdir(dirname) - except OSError: - return [] - return fnmatch.filter(names, pattern) - - -def glob0(dirname, basename): - if not basename: - # `os.path.split()` returns an empty basename for paths ending with a - # directory separator. 'q*x/' should match only directories. - if os.path.isdir(dirname): - return [basename] - else: - if os.path.lexists(os.path.join(dirname, basename)): - return [basename] - return [] - - -# This helper function recursively yields relative pathnames inside a literal -# directory. - - -def glob2(dirname, pattern): - assert _isrecursive(pattern) - yield pattern[:0] - for x in _rlistdir(dirname): - yield x - - -# Recursively yields relative pathnames inside a literal directory. -def _rlistdir(dirname): - if not dirname: - if isinstance(dirname, binary_type): - dirname = binary_type(os.curdir, 'ASCII') - else: - dirname = os.curdir - try: - names = os.listdir(dirname) - except os.error: - return - for x in names: - yield x - path = os.path.join(dirname, x) if dirname else x - for y in _rlistdir(path): - yield os.path.join(x, y) - - -magic_check = re.compile('([*?[])') -magic_check_bytes = re.compile(b'([*?[])') - - -def has_magic(s): - if isinstance(s, binary_type): - match = magic_check_bytes.search(s) - else: - match = magic_check.search(s) - return match is not None - - -def _isrecursive(pattern): - if isinstance(pattern, binary_type): - return pattern == b'**' - else: - return pattern == '**' - - -def escape(pathname): - """Escape all special characters. - """ - # Escaping is done by wrapping any of "*?[" between square brackets. - # Metacharacters do not work in the drive part and shouldn't be escaped. - drive, pathname = os.path.splitdrive(pathname) - if isinstance(pathname, binary_type): - pathname = magic_check_bytes.sub(br'[\1]', pathname) - else: - pathname = magic_check.sub(r'[\1]', pathname) - return drive + pathname diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui-32.exe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui-32.exe deleted file mode 100644 index f8d3509653ba8f80ca7f3aa7f95616142ba83a94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui-64.exe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui-64.exe deleted file mode 100644 index 330c51a5dde15a0bb610a48cd0ca11770c914dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75264 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui.exe b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/gui.exe deleted file mode 100644 index f8d3509653ba8f80ca7f3aa7f95616142ba83a94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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 diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/launch.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/launch.py deleted file mode 100644 index 308283ea..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/launch.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Launch the Python script on the command line after -setuptools is bootstrapped via import. -""" - -# Note that setuptools gets imported implicitly by the -# invocation of this script using python -m setuptools.launch - -import tokenize -import sys - - -def run(): - """ - Run the script in sys.argv[1] as if it had - been invoked naturally. - """ - __builtins__ - script_name = sys.argv[1] - namespace = dict( - __file__=script_name, - __name__='__main__', - __doc__=None, - ) - sys.argv[:] = sys.argv[1:] - - open_ = getattr(tokenize, 'open', open) - script = open_(script_name).read() - norm_script = script.replace('\\r\\n', '\\n') - code = compile(norm_script, script_name, 'exec') - exec(code, namespace) - - -if __name__ == '__main__': - run() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/lib2to3_ex.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/lib2to3_ex.py deleted file mode 100644 index 4b1a73fe..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/lib2to3_ex.py +++ /dev/null @@ -1,62 +0,0 @@ -""" -Customized Mixin2to3 support: - - - adds support for converting doctests - - -This module raises an ImportError on Python 2. -""" - -from distutils.util import Mixin2to3 as _Mixin2to3 -from distutils import log -from lib2to3.refactor import RefactoringTool, get_fixers_from_package - -import setuptools - - -class DistutilsRefactoringTool(RefactoringTool): - def log_error(self, msg, *args, **kw): - log.error(msg, *args) - - def log_message(self, msg, *args): - log.info(msg, *args) - - def log_debug(self, msg, *args): - log.debug(msg, *args) - - -class Mixin2to3(_Mixin2to3): - def run_2to3(self, files, doctests=False): - # See of the distribution option has been set, otherwise check the - # setuptools default. - if self.distribution.use_2to3 is not True: - return - if not files: - return - log.info("Fixing " + " ".join(files)) - self.__build_fixer_names() - self.__exclude_fixers() - if doctests: - if setuptools.run_2to3_on_doctests: - r = DistutilsRefactoringTool(self.fixer_names) - r.refactor(files, write=True, doctests_only=True) - else: - _Mixin2to3.run_2to3(self, files) - - def __build_fixer_names(self): - if self.fixer_names: - return - self.fixer_names = [] - for p in setuptools.lib2to3_fixer_packages: - self.fixer_names.extend(get_fixers_from_package(p)) - if self.distribution.use_2to3_fixers is not None: - for p in self.distribution.use_2to3_fixers: - self.fixer_names.extend(get_fixers_from_package(p)) - - def __exclude_fixers(self): - excluded_fixers = getattr(self, 'exclude_fixers', []) - if self.distribution.use_2to3_exclude_fixers is not None: - excluded_fixers.extend(self.distribution.use_2to3_exclude_fixers) - for fixer_name in excluded_fixers: - if fixer_name in self.fixer_names: - self.fixer_names.remove(fixer_name) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/monkey.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/monkey.py deleted file mode 100644 index aabc280f..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/monkey.py +++ /dev/null @@ -1,186 +0,0 @@ -""" -Monkey patching of distutils. -""" - -import sys -import distutils.filelist -import platform -import types -import functools - -from .py26compat import import_module -from setuptools.extern import six - -import setuptools - -__all__ = [] -""" -Everything is private. Contact the project team -if you think you need this functionality. -""" - - -def get_unpatched(item): - lookup = ( - get_unpatched_class if isinstance(item, six.class_types) else - get_unpatched_function if isinstance(item, types.FunctionType) else - lambda item: None - ) - return lookup(item) - - -def get_unpatched_class(cls): - """Protect against re-patching the distutils if reloaded - - Also ensures that no other distutils extension monkeypatched the distutils - first. - """ - while cls.__module__.startswith('setuptools'): - cls, = cls.__bases__ - if not cls.__module__.startswith('distutils'): - msg = "distutils has already been patched by %r" % cls - raise AssertionError(msg) - return cls - - -def patch_all(): - # we can't patch distutils.cmd, alas - distutils.core.Command = setuptools.Command - - has_issue_12885 = ( - sys.version_info < (3, 4, 6) - or - (3, 5) < sys.version_info <= (3, 5, 3) - or - (3, 6) < sys.version_info - ) - - if has_issue_12885: - # fix findall bug in distutils (http://bugs.python.org/issue12885) - distutils.filelist.findall = setuptools.findall - - needs_warehouse = ( - sys.version_info < (2, 7, 13) - or - (3, 0) < sys.version_info < (3, 3, 7) - or - (3, 4) < sys.version_info < (3, 4, 6) - or - (3, 5) < sys.version_info <= (3, 5, 3) - or - (3, 6) < sys.version_info - ) - - if needs_warehouse: - warehouse = 'https://upload.pypi.org/legacy/' - distutils.config.PyPIRCCommand.DEFAULT_REPOSITORY = warehouse - - _patch_distribution_metadata_write_pkg_file() - _patch_distribution_metadata_write_pkg_info() - - # Install Distribution throughout the distutils - for module in distutils.dist, distutils.core, distutils.cmd: - module.Distribution = setuptools.dist.Distribution - - # Install the patched Extension - distutils.core.Extension = setuptools.extension.Extension - distutils.extension.Extension = setuptools.extension.Extension - if 'distutils.command.build_ext' in sys.modules: - sys.modules['distutils.command.build_ext'].Extension = ( - setuptools.extension.Extension - ) - - patch_for_msvc_specialized_compiler() - - -def _patch_distribution_metadata_write_pkg_file(): - """Patch write_pkg_file to also write Requires-Python/Requires-External""" - distutils.dist.DistributionMetadata.write_pkg_file = ( - setuptools.dist.write_pkg_file - ) - - -def _patch_distribution_metadata_write_pkg_info(): - """ - Workaround issue #197 - Python 3 prior to 3.2.2 uses an environment-local - encoding to save the pkg_info. Monkey-patch its write_pkg_info method to - correct this undesirable behavior. - """ - environment_local = (3,) <= sys.version_info[:3] < (3, 2, 2) - if not environment_local: - return - - distutils.dist.DistributionMetadata.write_pkg_info = ( - setuptools.dist.write_pkg_info - ) - - -def patch_func(replacement, target_mod, func_name): - """ - Patch func_name in target_mod with replacement - - Important - original must be resolved by name to avoid - patching an already patched function. - """ - original = getattr(target_mod, func_name) - - # set the 'unpatched' attribute on the replacement to - # point to the original. - vars(replacement).setdefault('unpatched', original) - - # replace the function in the original module - setattr(target_mod, func_name, replacement) - - -def get_unpatched_function(candidate): - return getattr(candidate, 'unpatched') - - -def patch_for_msvc_specialized_compiler(): - """ - Patch functions in distutils to use standalone Microsoft Visual C++ - compilers. - """ - # import late to avoid circular imports on Python < 3.5 - msvc = import_module('setuptools.msvc') - - if platform.system() != 'Windows': - # Compilers only availables on Microsoft Windows - return - - def patch_params(mod_name, func_name): - """ - Prepare the parameters for patch_func to patch indicated function. - """ - repl_prefix = 'msvc9_' if 'msvc9' in mod_name else 'msvc14_' - repl_name = repl_prefix + func_name.lstrip('_') - repl = getattr(msvc, repl_name) - mod = import_module(mod_name) - if not hasattr(mod, func_name): - raise ImportError(func_name) - return repl, mod, func_name - - # Python 2.7 to 3.4 - msvc9 = functools.partial(patch_params, 'distutils.msvc9compiler') - - # Python 3.5+ - msvc14 = functools.partial(patch_params, 'distutils._msvccompiler') - - try: - # Patch distutils.msvc9compiler - patch_func(*msvc9('find_vcvarsall')) - patch_func(*msvc9('query_vcvarsall')) - except ImportError: - pass - - try: - # Patch distutils._msvccompiler._get_vc_env - patch_func(*msvc14('_get_vc_env')) - except ImportError: - pass - - try: - # Patch distutils._msvccompiler.gen_lib_options for Numpy - patch_func(*msvc14('gen_lib_options')) - except ImportError: - pass diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/msvc.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/msvc.py deleted file mode 100644 index 447ddb38..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/msvc.py +++ /dev/null @@ -1,1193 +0,0 @@ -""" -Improved support for Microsoft Visual C++ compilers. - -Known supported compilers: --------------------------- -Microsoft Visual C++ 9.0: - Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64); - Microsoft Windows SDK 7.0 (x86, x64, ia64); - Microsoft Windows SDK 6.1 (x86, x64, ia64) - -Microsoft Visual C++ 10.0: - Microsoft Windows SDK 7.1 (x86, x64, ia64) - -Microsoft Visual C++ 14.0: - Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) -""" - -import os -import sys -import platform -import itertools -import distutils.errors -from pkg_resources.extern.packaging.version import LegacyVersion - -from setuptools.extern.six.moves import filterfalse - -from .monkey import get_unpatched - -if platform.system() == 'Windows': - from setuptools.extern.six.moves import winreg - safe_env = os.environ -else: - """ - Mock winreg and environ so the module can be imported - on this platform. - """ - - class winreg: - HKEY_USERS = None - HKEY_CURRENT_USER = None - HKEY_LOCAL_MACHINE = None - HKEY_CLASSES_ROOT = None - - safe_env = dict() - -try: - from distutils.msvc9compiler import Reg -except ImportError: - pass - - -def msvc9_find_vcvarsall(version): - """ - Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone - compiler build for Python (VCForPython). Fall back to original behavior - when the standalone compiler is not available. - - Redirect the path of "vcvarsall.bat". - - Known supported compilers - ------------------------- - Microsoft Visual C++ 9.0: - Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64) - - Parameters - ---------- - version: float - Required Microsoft Visual C++ version. - - Return - ------ - vcvarsall.bat path: str - """ - VC_BASE = r'Software\%sMicrosoft\DevDiv\VCForPython\%0.1f' - key = VC_BASE % ('', version) - try: - # Per-user installs register the compiler path here - productdir = Reg.get_value(key, "installdir") - except KeyError: - try: - # All-user installs on a 64-bit system register here - key = VC_BASE % ('Wow6432Node\\', version) - productdir = Reg.get_value(key, "installdir") - except KeyError: - productdir = None - - if productdir: - vcvarsall = os.path.os.path.join(productdir, "vcvarsall.bat") - if os.path.isfile(vcvarsall): - return vcvarsall - - return get_unpatched(msvc9_find_vcvarsall)(version) - - -def msvc9_query_vcvarsall(ver, arch='x86', *args, **kwargs): - """ - Patched "distutils.msvc9compiler.query_vcvarsall" for support standalones - compilers. - - Set environment without use of "vcvarsall.bat". - - Known supported compilers - ------------------------- - Microsoft Visual C++ 9.0: - Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64); - Microsoft Windows SDK 7.0 (x86, x64, ia64); - Microsoft Windows SDK 6.1 (x86, x64, ia64) - - Microsoft Visual C++ 10.0: - Microsoft Windows SDK 7.1 (x86, x64, ia64) - - Parameters - ---------- - ver: float - Required Microsoft Visual C++ version. - arch: str - Target architecture. - - Return - ------ - environment: dict - """ - # Try to get environement from vcvarsall.bat (Classical way) - try: - orig = get_unpatched(msvc9_query_vcvarsall) - return orig(ver, arch, *args, **kwargs) - except distutils.errors.DistutilsPlatformError: - # Pass error if Vcvarsall.bat is missing - pass - except ValueError: - # Pass error if environment not set after executing vcvarsall.bat - pass - - # If error, try to set environment directly - try: - return EnvironmentInfo(arch, ver).return_env() - except distutils.errors.DistutilsPlatformError as exc: - _augment_exception(exc, ver, arch) - raise - - -def msvc14_get_vc_env(plat_spec): - """ - Patched "distutils._msvccompiler._get_vc_env" for support standalones - compilers. - - Set environment without use of "vcvarsall.bat". - - Known supported compilers - ------------------------- - Microsoft Visual C++ 14.0: - Microsoft Visual C++ Build Tools 2015 (x86, x64, arm) - - Parameters - ---------- - plat_spec: str - Target architecture. - - Return - ------ - environment: dict - """ - # Try to get environment from vcvarsall.bat (Classical way) - try: - return get_unpatched(msvc14_get_vc_env)(plat_spec) - except distutils.errors.DistutilsPlatformError: - # Pass error Vcvarsall.bat is missing - pass - - # If error, try to set environment directly - try: - return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env() - except distutils.errors.DistutilsPlatformError as exc: - _augment_exception(exc, 14.0) - raise - - -def msvc14_gen_lib_options(*args, **kwargs): - """ - Patched "distutils._msvccompiler.gen_lib_options" for fix - compatibility between "numpy.distutils" and "distutils._msvccompiler" - (for Numpy < 1.11.2) - """ - if "numpy.distutils" in sys.modules: - import numpy as np - if LegacyVersion(np.__version__) < LegacyVersion('1.11.2'): - return np.distutils.ccompiler.gen_lib_options(*args, **kwargs) - return get_unpatched(msvc14_gen_lib_options)(*args, **kwargs) - - -def _augment_exception(exc, version, arch=''): - """ - Add details to the exception message to help guide the user - as to what action will resolve it. - """ - # Error if MSVC++ directory not found or environment not set - message = exc.args[0] - - if "vcvarsall" in message.lower() or "visual c" in message.lower(): - # Special error message if MSVC++ not installed - tmpl = 'Microsoft Visual C++ {version:0.1f} is required.' - message = tmpl.format(**locals()) - msdownload = 'www.microsoft.com/download/details.aspx?id=%d' - if version == 9.0: - if arch.lower().find('ia64') > -1: - # For VC++ 9.0, if IA64 support is needed, redirect user - # to Windows SDK 7.0 - message += ' Get it with "Microsoft Windows SDK 7.0": ' - message += msdownload % 3138 - else: - # For VC++ 9.0 redirect user to Vc++ for Python 2.7 : - # This redirection link is maintained by Microsoft. - # Contact vspython@microsoft.com if it needs updating. - message += ' Get it from http://aka.ms/vcpython27' - elif version == 10.0: - # For VC++ 10.0 Redirect user to Windows SDK 7.1 - message += ' Get it with "Microsoft Windows SDK 7.1": ' - message += msdownload % 8279 - elif version >= 14.0: - # For VC++ 14.0 Redirect user to Visual C++ Build Tools - message += (' Get it with "Microsoft Visual C++ Build Tools": ' - r'http://landinghub.visualstudio.com/' - 'visual-cpp-build-tools') - - exc.args = (message, ) - - -class PlatformInfo: - """ - Current and Target Architectures informations. - - Parameters - ---------- - arch: str - Target architecture. - """ - current_cpu = safe_env.get('processor_architecture', '').lower() - - def __init__(self, arch): - self.arch = arch.lower().replace('x64', 'amd64') - - @property - def target_cpu(self): - return self.arch[self.arch.find('_') + 1:] - - def target_is_x86(self): - return self.target_cpu == 'x86' - - def current_is_x86(self): - return self.current_cpu == 'x86' - - def current_dir(self, hidex86=False, x64=False): - """ - Current platform specific subfolder. - - Parameters - ---------- - hidex86: bool - return '' and not '\x86' if architecture is x86. - x64: bool - return '\x64' and not '\amd64' if architecture is amd64. - - Return - ------ - subfolder: str - '\target', or '' (see hidex86 parameter) - """ - return ( - '' if (self.current_cpu == 'x86' and hidex86) else - r'\x64' if (self.current_cpu == 'amd64' and x64) else - r'\%s' % self.current_cpu - ) - - def target_dir(self, hidex86=False, x64=False): - """ - Target platform specific subfolder. - - Parameters - ---------- - hidex86: bool - return '' and not '\x86' if architecture is x86. - x64: bool - return '\x64' and not '\amd64' if architecture is amd64. - - Return - ------ - subfolder: str - '\current', or '' (see hidex86 parameter) - """ - return ( - '' if (self.target_cpu == 'x86' and hidex86) else - r'\x64' if (self.target_cpu == 'amd64' and x64) else - r'\%s' % self.target_cpu - ) - - def cross_dir(self, forcex86=False): - """ - Cross platform specific subfolder. - - Parameters - ---------- - forcex86: bool - Use 'x86' as current architecture even if current acritecture is - not x86. - - Return - ------ - subfolder: str - '' if target architecture is current architecture, - '\current_target' if not. - """ - current = 'x86' if forcex86 else self.current_cpu - return ( - '' if self.target_cpu == current else - self.target_dir().replace('\\', '\\%s_' % current) - ) - - -class RegistryInfo: - """ - Microsoft Visual Studio related registry informations. - - Parameters - ---------- - platform_info: PlatformInfo - "PlatformInfo" instance. - """ - HKEYS = (winreg.HKEY_USERS, - winreg.HKEY_CURRENT_USER, - winreg.HKEY_LOCAL_MACHINE, - winreg.HKEY_CLASSES_ROOT) - - def __init__(self, platform_info): - self.pi = platform_info - - @property - def visualstudio(self): - """ - Microsoft Visual Studio root registry key. - """ - return 'VisualStudio' - - @property - def sxs(self): - """ - Microsoft Visual Studio SxS registry key. - """ - return os.path.join(self.visualstudio, 'SxS') - - @property - def vc(self): - """ - Microsoft Visual C++ VC7 registry key. - """ - return os.path.join(self.sxs, 'VC7') - - @property - def vs(self): - """ - Microsoft Visual Studio VS7 registry key. - """ - return os.path.join(self.sxs, 'VS7') - - @property - def vc_for_python(self): - """ - Microsoft Visual C++ for Python registry key. - """ - return r'DevDiv\VCForPython' - - @property - def microsoft_sdk(self): - """ - Microsoft SDK registry key. - """ - return 'Microsoft SDKs' - - @property - def windows_sdk(self): - """ - Microsoft Windows/Platform SDK registry key. - """ - return os.path.join(self.microsoft_sdk, 'Windows') - - @property - def netfx_sdk(self): - """ - Microsoft .NET Framework SDK registry key. - """ - return os.path.join(self.microsoft_sdk, 'NETFXSDK') - - @property - def windows_kits_roots(self): - """ - Microsoft Windows Kits Roots registry key. - """ - return r'Windows Kits\Installed Roots' - - def microsoft(self, key, x86=False): - """ - Return key in Microsoft software registry. - - Parameters - ---------- - key: str - Registry key path where look. - x86: str - Force x86 software registry. - - Return - ------ - str: value - """ - node64 = '' if self.pi.current_is_x86() or x86 else r'\Wow6432Node' - return os.path.join('Software', node64, 'Microsoft', key) - - def lookup(self, key, name): - """ - Look for values in registry in Microsoft software registry. - - Parameters - ---------- - key: str - Registry key path where look. - name: str - Value name to find. - - Return - ------ - str: value - """ - KEY_READ = winreg.KEY_READ - openkey = winreg.OpenKey - ms = self.microsoft - for hkey in self.HKEYS: - try: - bkey = openkey(hkey, ms(key), 0, KEY_READ) - except (OSError, IOError): - if not self.pi.current_is_x86(): - try: - bkey = openkey(hkey, ms(key, True), 0, KEY_READ) - except (OSError, IOError): - continue - else: - continue - try: - return winreg.QueryValueEx(bkey, name)[0] - except (OSError, IOError): - pass - - -class SystemInfo: - """ - Microsoft Windows and Visual Studio related system inormations. - - Parameters - ---------- - registry_info: RegistryInfo - "RegistryInfo" instance. - vc_ver: float - Required Microsoft Visual C++ version. - """ - - # Variables and properties in this class use originals CamelCase variables - # names from Microsoft source files for more easy comparaison. - WinDir = safe_env.get('WinDir', '') - ProgramFiles = safe_env.get('ProgramFiles', '') - ProgramFilesx86 = safe_env.get('ProgramFiles(x86)', ProgramFiles) - - def __init__(self, registry_info, vc_ver=None): - self.ri = registry_info - self.pi = self.ri.pi - if vc_ver: - self.vc_ver = vc_ver - else: - try: - self.vc_ver = self.find_available_vc_vers()[-1] - except IndexError: - err = 'No Microsoft Visual C++ version found' - raise distutils.errors.DistutilsPlatformError(err) - - def find_available_vc_vers(self): - """ - Find all available Microsoft Visual C++ versions. - """ - vckeys = (self.ri.vc, self.ri.vc_for_python) - vc_vers = [] - for hkey in self.ri.HKEYS: - for key in vckeys: - try: - bkey = winreg.OpenKey(hkey, key, 0, winreg.KEY_READ) - except (OSError, IOError): - continue - subkeys, values, _ = winreg.QueryInfoKey(bkey) - for i in range(values): - try: - ver = float(winreg.EnumValue(bkey, i)[0]) - if ver not in vc_vers: - vc_vers.append(ver) - except ValueError: - pass - for i in range(subkeys): - try: - ver = float(winreg.EnumKey(bkey, i)) - if ver not in vc_vers: - vc_vers.append(ver) - except ValueError: - pass - return sorted(vc_vers) - - @property - def VSInstallDir(self): - """ - Microsoft Visual Studio directory. - """ - # Default path - name = 'Microsoft Visual Studio %0.1f' % self.vc_ver - default = os.path.join(self.ProgramFilesx86, name) - - # Try to get path from registry, if fail use default path - return self.ri.lookup(self.ri.vs, '%0.1f' % self.vc_ver) or default - - @property - def VCInstallDir(self): - """ - Microsoft Visual C++ directory. - """ - # Default path - default = r'Microsoft Visual Studio %0.1f\VC' % self.vc_ver - guess_vc = os.path.join(self.ProgramFilesx86, default) - - # Try to get "VC++ for Python" path from registry as default path - reg_path = os.path.join(self.ri.vc_for_python, '%0.1f' % self.vc_ver) - python_vc = self.ri.lookup(reg_path, 'installdir') - default_vc = os.path.join(python_vc, 'VC') if python_vc else guess_vc - - # Try to get path from registry, if fail use default path - path = self.ri.lookup(self.ri.vc, '%0.1f' % self.vc_ver) or default_vc - - if not os.path.isdir(path): - msg = 'Microsoft Visual C++ directory not found' - raise distutils.errors.DistutilsPlatformError(msg) - - return path - - @property - def WindowsSdkVersion(self): - """ - Microsoft Windows SDK versions. - """ - # Set Windows SDK versions for specified MSVC++ version - if self.vc_ver <= 9.0: - return ('7.0', '6.1', '6.0a') - elif self.vc_ver == 10.0: - return ('7.1', '7.0a') - elif self.vc_ver == 11.0: - return ('8.0', '8.0a') - elif self.vc_ver == 12.0: - return ('8.1', '8.1a') - elif self.vc_ver >= 14.0: - return ('10.0', '8.1') - - @property - def WindowsSdkDir(self): - """ - Microsoft Windows SDK directory. - """ - sdkdir = '' - for ver in self.WindowsSdkVersion: - # Try to get it from registry - loc = os.path.join(self.ri.windows_sdk, 'v%s' % ver) - sdkdir = self.ri.lookup(loc, 'installationfolder') - if sdkdir: - break - if not sdkdir or not os.path.isdir(sdkdir): - # Try to get "VC++ for Python" version from registry - path = os.path.join(self.ri.vc_for_python, '%0.1f' % self.vc_ver) - install_base = self.ri.lookup(path, 'installdir') - if install_base: - sdkdir = os.path.join(install_base, 'WinSDK') - if not sdkdir or not os.path.isdir(sdkdir): - # If fail, use default new path - for ver in self.WindowsSdkVersion: - intver = ver[:ver.rfind('.')] - path = r'Microsoft SDKs\Windows Kits\%s' % (intver) - d = os.path.join(self.ProgramFiles, path) - if os.path.isdir(d): - sdkdir = d - if not sdkdir or not os.path.isdir(sdkdir): - # If fail, use default old path - for ver in self.WindowsSdkVersion: - path = r'Microsoft SDKs\Windows\v%s' % ver - d = os.path.join(self.ProgramFiles, path) - if os.path.isdir(d): - sdkdir = d - if not sdkdir: - # If fail, use Platform SDK - sdkdir = os.path.join(self.VCInstallDir, 'PlatformSDK') - return sdkdir - - @property - def WindowsSDKExecutablePath(self): - """ - Microsoft Windows SDK executable directory. - """ - # Find WinSDK NetFx Tools registry dir name - if self.vc_ver <= 11.0: - netfxver = 35 - arch = '' - else: - netfxver = 40 - hidex86 = True if self.vc_ver <= 12.0 else False - arch = self.pi.current_dir(x64=True, hidex86=hidex86) - fx = 'WinSDK-NetFx%dTools%s' % (netfxver, arch.replace('\\', '-')) - - # liste all possibles registry paths - regpaths = [] - if self.vc_ver >= 14.0: - for ver in self.NetFxSdkVersion: - regpaths += [os.path.join(self.ri.netfx_sdk, ver, fx)] - - for ver in self.WindowsSdkVersion: - regpaths += [os.path.join(self.ri.windows_sdk, 'v%sA' % ver, fx)] - - # Return installation folder from the more recent path - for path in regpaths: - execpath = self.ri.lookup(path, 'installationfolder') - if execpath: - break - return execpath - - @property - def FSharpInstallDir(self): - """ - Microsoft Visual F# directory. - """ - path = r'%0.1f\Setup\F#' % self.vc_ver - path = os.path.join(self.ri.visualstudio, path) - return self.ri.lookup(path, 'productdir') or '' - - @property - def UniversalCRTSdkDir(self): - """ - Microsoft Universal CRT SDK directory. - """ - # Set Kit Roots versions for specified MSVC++ version - if self.vc_ver >= 14.0: - vers = ('10', '81') - else: - vers = () - - # Find path of the more recent Kit - for ver in vers: - sdkdir = self.ri.lookup(self.ri.windows_kits_roots, - 'kitsroot%s' % ver) - if sdkdir: - break - return sdkdir or '' - - @property - def NetFxSdkVersion(self): - """ - Microsoft .NET Framework SDK versions. - """ - # Set FxSdk versions for specified MSVC++ version - if self.vc_ver >= 14.0: - return ('4.6.1', '4.6') - else: - return () - - @property - def NetFxSdkDir(self): - """ - Microsoft .NET Framework SDK directory. - """ - for ver in self.NetFxSdkVersion: - loc = os.path.join(self.ri.netfx_sdk, ver) - sdkdir = self.ri.lookup(loc, 'kitsinstallationfolder') - if sdkdir: - break - return sdkdir or '' - - @property - def FrameworkDir32(self): - """ - Microsoft .NET Framework 32bit directory. - """ - # Default path - guess_fw = os.path.join(self.WinDir, r'Microsoft.NET\Framework') - - # Try to get path from registry, if fail use default path - return self.ri.lookup(self.ri.vc, 'frameworkdir32') or guess_fw - - @property - def FrameworkDir64(self): - """ - Microsoft .NET Framework 64bit directory. - """ - # Default path - guess_fw = os.path.join(self.WinDir, r'Microsoft.NET\Framework64') - - # Try to get path from registry, if fail use default path - return self.ri.lookup(self.ri.vc, 'frameworkdir64') or guess_fw - - @property - def FrameworkVersion32(self): - """ - Microsoft .NET Framework 32bit versions. - """ - return self._find_dot_net_versions(32) - - @property - def FrameworkVersion64(self): - """ - Microsoft .NET Framework 64bit versions. - """ - return self._find_dot_net_versions(64) - - def _find_dot_net_versions(self, bits=32): - """ - Find Microsoft .NET Framework versions. - - Parameters - ---------- - bits: int - Platform number of bits: 32 or 64. - """ - # Find actual .NET version - ver = self.ri.lookup(self.ri.vc, 'frameworkver%d' % bits) or '' - - # Set .NET versions for specified MSVC++ version - if self.vc_ver >= 12.0: - frameworkver = (ver, 'v4.0') - elif self.vc_ver >= 10.0: - frameworkver = ('v4.0.30319' if ver.lower()[:2] != 'v4' else ver, - 'v3.5') - elif self.vc_ver == 9.0: - frameworkver = ('v3.5', 'v2.0.50727') - if self.vc_ver == 8.0: - frameworkver = ('v3.0', 'v2.0.50727') - return frameworkver - - -class EnvironmentInfo: - """ - Return environment variables for specified Microsoft Visual C++ version - and platform : Lib, Include, Path and libpath. - - This function is compatible with Microsoft Visual C++ 9.0 to 14.0. - - Script created by analysing Microsoft environment configuration files like - "vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ... - - Parameters - ---------- - arch: str - Target architecture. - vc_ver: float - Required Microsoft Visual C++ version. If not set, autodetect the last - version. - vc_min_ver: float - Minimum Microsoft Visual C++ version. - """ - - # Variables and properties in this class use originals CamelCase variables - # names from Microsoft source files for more easy comparaison. - - def __init__(self, arch, vc_ver=None, vc_min_ver=None): - self.pi = PlatformInfo(arch) - self.ri = RegistryInfo(self.pi) - self.si = SystemInfo(self.ri, vc_ver) - - if vc_min_ver: - if self.vc_ver < vc_min_ver: - err = 'No suitable Microsoft Visual C++ version found' - raise distutils.errors.DistutilsPlatformError(err) - - @property - def vc_ver(self): - """ - Microsoft Visual C++ version. - """ - return self.si.vc_ver - - @property - def VSTools(self): - """ - Microsoft Visual Studio Tools - """ - paths = [r'Common7\IDE', r'Common7\Tools'] - - if self.vc_ver >= 14.0: - arch_subdir = self.pi.current_dir(hidex86=True, x64=True) - paths += [r'Common7\IDE\CommonExtensions\Microsoft\TestWindow'] - paths += [r'Team Tools\Performance Tools'] - paths += [r'Team Tools\Performance Tools%s' % arch_subdir] - - return [os.path.join(self.si.VSInstallDir, path) for path in paths] - - @property - def VCIncludes(self): - """ - Microsoft Visual C++ & Microsoft Foundation Class Includes - """ - return [os.path.join(self.si.VCInstallDir, 'Include'), - os.path.join(self.si.VCInstallDir, r'ATLMFC\Include')] - - @property - def VCLibraries(self): - """ - Microsoft Visual C++ & Microsoft Foundation Class Libraries - """ - arch_subdir = self.pi.target_dir(hidex86=True) - paths = ['Lib%s' % arch_subdir, r'ATLMFC\Lib%s' % arch_subdir] - - if self.vc_ver >= 14.0: - paths += [r'Lib\store%s' % arch_subdir] - - return [os.path.join(self.si.VCInstallDir, path) for path in paths] - - @property - def VCStoreRefs(self): - """ - Microsoft Visual C++ store references Libraries - """ - if self.vc_ver < 14.0: - return [] - return [os.path.join(self.si.VCInstallDir, r'Lib\store\references')] - - @property - def VCTools(self): - """ - Microsoft Visual C++ Tools - """ - si = self.si - tools = [os.path.join(si.VCInstallDir, 'VCPackages')] - - forcex86 = True if self.vc_ver <= 10.0 else False - arch_subdir = self.pi.cross_dir(forcex86) - if arch_subdir: - tools += [os.path.join(si.VCInstallDir, 'Bin%s' % arch_subdir)] - - if self.vc_ver >= 14.0: - path = 'Bin%s' % self.pi.current_dir(hidex86=True) - tools += [os.path.join(si.VCInstallDir, path)] - - else: - tools += [os.path.join(si.VCInstallDir, 'Bin')] - - return tools - - @property - def OSLibraries(self): - """ - Microsoft Windows SDK Libraries - """ - if self.vc_ver <= 10.0: - arch_subdir = self.pi.target_dir(hidex86=True, x64=True) - return [os.path.join(self.si.WindowsSdkDir, 'Lib%s' % arch_subdir)] - - else: - arch_subdir = self.pi.target_dir(x64=True) - lib = os.path.join(self.si.WindowsSdkDir, 'lib') - libver = self._get_content_dirname(lib) - return [os.path.join(lib, '%sum%s' % (libver, arch_subdir))] - - @property - def OSIncludes(self): - """ - Microsoft Windows SDK Include - """ - include = os.path.join(self.si.WindowsSdkDir, 'include') - - if self.vc_ver <= 10.0: - return [include, os.path.join(include, 'gl')] - - else: - if self.vc_ver >= 14.0: - sdkver = self._get_content_dirname(include) - else: - sdkver = '' - return [os.path.join(include, '%sshared' % sdkver), - os.path.join(include, '%sum' % sdkver), - os.path.join(include, '%swinrt' % sdkver)] - - @property - def OSLibpath(self): - """ - Microsoft Windows SDK Libraries Paths - """ - ref = os.path.join(self.si.WindowsSdkDir, 'References') - libpath = [] - - if self.vc_ver <= 9.0: - libpath += self.OSLibraries - - if self.vc_ver >= 11.0: - libpath += [os.path.join(ref, r'CommonConfiguration\Neutral')] - - if self.vc_ver >= 14.0: - libpath += [ - ref, - os.path.join(self.si.WindowsSdkDir, 'UnionMetadata'), - os.path.join( - ref, - 'Windows.Foundation.UniversalApiContract', - '1.0.0.0', - ), - os.path.join( - ref, - 'Windows.Foundation.FoundationContract', - '1.0.0.0', - ), - os.path.join( - ref, - 'Windows.Networking.Connectivity.WwanContract', - '1.0.0.0', - ), - os.path.join( - self.si.WindowsSdkDir, - 'ExtensionSDKs', - 'Microsoft.VCLibs', - '%0.1f' % self.vc_ver, - 'References', - 'CommonConfiguration', - 'neutral', - ), - ] - return libpath - - @property - def SdkTools(self): - """ - Microsoft Windows SDK Tools - """ - bin_dir = 'Bin' if self.vc_ver <= 11.0 else r'Bin\x86' - tools = [os.path.join(self.si.WindowsSdkDir, bin_dir)] - - if not self.pi.current_is_x86(): - arch_subdir = self.pi.current_dir(x64=True) - path = 'Bin%s' % arch_subdir - tools += [os.path.join(self.si.WindowsSdkDir, path)] - - if self.vc_ver == 10.0 or self.vc_ver == 11.0: - if self.pi.target_is_x86(): - arch_subdir = '' - else: - arch_subdir = self.pi.current_dir(hidex86=True, x64=True) - path = r'Bin\NETFX 4.0 Tools%s' % arch_subdir - tools += [os.path.join(self.si.WindowsSdkDir, path)] - - if self.si.WindowsSDKExecutablePath: - tools += [self.si.WindowsSDKExecutablePath] - - return tools - - @property - def SdkSetup(self): - """ - Microsoft Windows SDK Setup - """ - if self.vc_ver > 9.0: - return [] - - return [os.path.join(self.si.WindowsSdkDir, 'Setup')] - - @property - def FxTools(self): - """ - Microsoft .NET Framework Tools - """ - pi = self.pi - si = self.si - - if self.vc_ver <= 10.0: - include32 = True - include64 = not pi.target_is_x86() and not pi.current_is_x86() - else: - include32 = pi.target_is_x86() or pi.current_is_x86() - include64 = pi.current_cpu == 'amd64' or pi.target_cpu == 'amd64' - - tools = [] - if include32: - tools += [os.path.join(si.FrameworkDir32, ver) - for ver in si.FrameworkVersion32] - if include64: - tools += [os.path.join(si.FrameworkDir64, ver) - for ver in si.FrameworkVersion64] - return tools - - @property - def NetFxSDKLibraries(self): - """ - Microsoft .Net Framework SDK Libraries - """ - if self.vc_ver < 14.0 or not self.si.NetFxSdkDir: - return [] - - arch_subdir = self.pi.target_dir(x64=True) - return [os.path.join(self.si.NetFxSdkDir, r'lib\um%s' % arch_subdir)] - - @property - def NetFxSDKIncludes(self): - """ - Microsoft .Net Framework SDK Includes - """ - if self.vc_ver < 14.0 or not self.si.NetFxSdkDir: - return [] - - return [os.path.join(self.si.NetFxSdkDir, r'include\um')] - - @property - def VsTDb(self): - """ - Microsoft Visual Studio Team System Database - """ - return [os.path.join(self.si.VSInstallDir, r'VSTSDB\Deploy')] - - @property - def MSBuild(self): - """ - Microsoft Build Engine - """ - if self.vc_ver < 12.0: - return [] - - arch_subdir = self.pi.current_dir(hidex86=True) - path = r'MSBuild\%0.1f\bin%s' % (self.vc_ver, arch_subdir) - return [os.path.join(self.si.ProgramFilesx86, path)] - - @property - def HTMLHelpWorkshop(self): - """ - Microsoft HTML Help Workshop - """ - if self.vc_ver < 11.0: - return [] - - return [os.path.join(self.si.ProgramFilesx86, 'HTML Help Workshop')] - - @property - def UCRTLibraries(self): - """ - Microsoft Universal CRT Libraries - """ - if self.vc_ver < 14.0: - return [] - - arch_subdir = self.pi.target_dir(x64=True) - lib = os.path.join(self.si.UniversalCRTSdkDir, 'lib') - ucrtver = self._get_content_dirname(lib) - return [os.path.join(lib, '%sucrt%s' % (ucrtver, arch_subdir))] - - @property - def UCRTIncludes(self): - """ - Microsoft Universal CRT Include - """ - if self.vc_ver < 14.0: - return [] - - include = os.path.join(self.si.UniversalCRTSdkDir, 'include') - ucrtver = self._get_content_dirname(include) - return [os.path.join(include, '%sucrt' % ucrtver)] - - @property - def FSharp(self): - """ - Microsoft Visual F# - """ - if self.vc_ver < 11.0 and self.vc_ver > 12.0: - return [] - - return self.si.FSharpInstallDir - - @property - def VCRuntimeRedist(self): - """ - Microsoft Visual C++ runtime redistribuable dll - """ - arch_subdir = self.pi.target_dir(x64=True) - vcruntime = 'redist%s\\Microsoft.VC%d0.CRT\\vcruntime%d0.dll' - vcruntime = vcruntime % (arch_subdir, self.vc_ver, self.vc_ver) - return os.path.join(self.si.VCInstallDir, vcruntime) - - def return_env(self, exists=True): - """ - Return environment dict. - - Parameters - ---------- - exists: bool - It True, only return existing paths. - """ - env = dict( - include=self._build_paths('include', - [self.VCIncludes, - self.OSIncludes, - self.UCRTIncludes, - self.NetFxSDKIncludes], - exists), - lib=self._build_paths('lib', - [self.VCLibraries, - self.OSLibraries, - self.FxTools, - self.UCRTLibraries, - self.NetFxSDKLibraries], - exists), - libpath=self._build_paths('libpath', - [self.VCLibraries, - self.FxTools, - self.VCStoreRefs, - self.OSLibpath], - exists), - path=self._build_paths('path', - [self.VCTools, - self.VSTools, - self.VsTDb, - self.SdkTools, - self.SdkSetup, - self.FxTools, - self.MSBuild, - self.HTMLHelpWorkshop, - self.FSharp], - exists), - ) - if self.vc_ver >= 14 and os.path.isfile(self.VCRuntimeRedist): - env['py_vcruntime_redist'] = self.VCRuntimeRedist - return env - - def _build_paths(self, name, spec_path_lists, exists): - """ - Given an environment variable name and specified paths, - return a pathsep-separated string of paths containing - unique, extant, directories from those paths and from - the environment variable. Raise an error if no paths - are resolved. - """ - # flatten spec_path_lists - spec_paths = itertools.chain.from_iterable(spec_path_lists) - env_paths = safe_env.get(name, '').split(os.pathsep) - paths = itertools.chain(spec_paths, env_paths) - extant_paths = list(filter(os.path.isdir, paths)) if exists else paths - if not extant_paths: - msg = "%s environment variable is empty" % name.upper() - raise distutils.errors.DistutilsPlatformError(msg) - unique_paths = self._unique_everseen(extant_paths) - return os.pathsep.join(unique_paths) - - # from Python docs - def _unique_everseen(self, iterable, key=None): - """ - List unique elements, preserving order. - Remember all elements ever seen. - - _unique_everseen('AAAABBBCCDAABBB') --> A B C D - - _unique_everseen('ABBCcAD', str.lower) --> A B C D - """ - seen = set() - seen_add = seen.add - if key is None: - for element in filterfalse(seen.__contains__, iterable): - seen_add(element) - yield element - else: - for element in iterable: - k = key(element) - if k not in seen: - seen_add(k) - yield element - - def _get_content_dirname(self, path): - """ - Return name of the first dir in path or '' if no dir found. - - Parameters - ---------- - path: str - Path where search dir. - - Return - ------ - foldername: str - "name\" or "" - """ - try: - name = os.listdir(path) - if name: - return '%s\\' % name[0] - return '' - except (OSError, IOError): - return '' diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/namespaces.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/namespaces.py deleted file mode 100644 index cc934b7e..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/namespaces.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from distutils import log -import itertools - -from setuptools.extern.six.moves import map - - -flatten = itertools.chain.from_iterable - - -class Installer: - - nspkg_ext = '-nspkg.pth' - - def install_namespaces(self): - nsp = self._get_all_ns_packages() - if not nsp: - return - filename, ext = os.path.splitext(self._get_target()) - filename += self.nspkg_ext - self.outputs.append(filename) - log.info("Installing %s", filename) - lines = map(self._gen_nspkg_line, nsp) - - if self.dry_run: - # always generate the lines, even in dry run - list(lines) - return - - with open(filename, 'wt') as f: - f.writelines(lines) - - def _get_target(self): - return self.target - - _nspkg_tmpl = ( - "import sys, types, os", - "pep420 = sys.version_info > (3, 3)", - "p = os.path.join(%(root)s, *%(pth)r)", - "ie = os.path.exists(os.path.join(p,'__init__.py'))", - "m = not ie and not pep420 and " - "sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))", - "mp = (m or []) and m.__dict__.setdefault('__path__',[])", - "(p not in mp) and mp.append(p)", - ) - "lines for the namespace installer" - - _nspkg_tmpl_multi = ( - 'm and setattr(sys.modules[%(parent)r], %(child)r, m)', - ) - "additional line(s) when a parent package is indicated" - - def _get_root(self): - return "sys._getframe(1).f_locals['sitedir']" - - def _gen_nspkg_line(self, pkg): - # ensure pkg is not a unicode string under Python 2.7 - pkg = str(pkg) - pth = tuple(pkg.split('.')) - root = self._get_root() - tmpl_lines = self._nspkg_tmpl - parent, sep, child = pkg.rpartition('.') - if parent: - tmpl_lines += self._nspkg_tmpl_multi - return ';'.join(tmpl_lines) % locals() + '\n' - - def _get_all_ns_packages(self): - """Return sorted list of all package namespaces""" - pkgs = self.distribution.namespace_packages or [] - return sorted(flatten(map(self._pkg_names, pkgs))) - - @staticmethod - def _pkg_names(pkg): - """ - Given a namespace package, yield the components of that - package. - - >>> names = Installer._pkg_names('a.b.c') - >>> set(names) == set(['a', 'a.b', 'a.b.c']) - True - """ - parts = pkg.split('.') - while parts: - yield '.'.join(parts) - parts.pop() - - -class DevelopInstaller(Installer): - def _get_root(self): - return repr(str(self.egg_path)) - - def _get_target(self): - return self.egg_link diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/package_index.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/package_index.py deleted file mode 100644 index 024fab98..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/package_index.py +++ /dev/null @@ -1,1115 +0,0 @@ -"""PyPI and direct package downloading""" -import sys -import os -import re -import shutil -import socket -import base64 -import hashlib -import itertools -from functools import wraps - -try: - from urllib.parse import splituser -except ImportError: - from urllib2 import splituser - -from setuptools.extern import six -from setuptools.extern.six.moves import urllib, http_client, configparser, map - -import setuptools -from pkg_resources import ( - CHECKOUT_DIST, Distribution, BINARY_DIST, normalize_path, SOURCE_DIST, - require, Environment, find_distributions, safe_name, safe_version, - to_filename, Requirement, DEVELOP_DIST, -) -from setuptools import ssl_support -from distutils import log -from distutils.errors import DistutilsError -from fnmatch import translate -from setuptools.py26compat import strip_fragment -from setuptools.py27compat import get_all_headers - -EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.]+)$') -HREF = re.compile("""href\\s*=\\s*['"]?([^'"> ]+)""", re.I) -# this is here to fix emacs' cruddy broken syntax highlighting -PYPI_MD5 = re.compile( - '<a href="([^"#]+)">([^<]+)</a>\n\s+\\(<a (?:title="MD5 hash"\n\s+)' - 'href="[^?]+\?:action=show_md5&digest=([0-9a-f]{32})">md5</a>\\)' -) -URL_SCHEME = re.compile('([-+.a-z0-9]{2,}):', re.I).match -EXTENSIONS = ".tar.gz .tar.bz2 .tar .zip .tgz".split() - -__all__ = [ - 'PackageIndex', 'distros_for_url', 'parse_bdist_wininst', - 'interpret_distro_name', -] - -_SOCKET_TIMEOUT = 15 - -_tmpl = "setuptools/{setuptools.__version__} Python-urllib/{py_major}" -user_agent = _tmpl.format(py_major=sys.version[:3], **globals()) - - -def parse_requirement_arg(spec): - try: - return Requirement.parse(spec) - except ValueError: - raise DistutilsError( - "Not a URL, existing file, or requirement spec: %r" % (spec,) - ) - - -def parse_bdist_wininst(name): - """Return (base,pyversion) or (None,None) for possible .exe name""" - - lower = name.lower() - base, py_ver, plat = None, None, None - - if lower.endswith('.exe'): - if lower.endswith('.win32.exe'): - base = name[:-10] - plat = 'win32' - elif lower.startswith('.win32-py', -16): - py_ver = name[-7:-4] - base = name[:-16] - plat = 'win32' - elif lower.endswith('.win-amd64.exe'): - base = name[:-14] - plat = 'win-amd64' - elif lower.startswith('.win-amd64-py', -20): - py_ver = name[-7:-4] - base = name[:-20] - plat = 'win-amd64' - return base, py_ver, plat - - -def egg_info_for_url(url): - parts = urllib.parse.urlparse(url) - scheme, server, path, parameters, query, fragment = parts - base = urllib.parse.unquote(path.split('/')[-1]) - if server == 'sourceforge.net' and base == 'download': # XXX Yuck - base = urllib.parse.unquote(path.split('/')[-2]) - if '#' in base: - base, fragment = base.split('#', 1) - return base, fragment - - -def distros_for_url(url, metadata=None): - """Yield egg or source distribution objects that might be found at a URL""" - base, fragment = egg_info_for_url(url) - for dist in distros_for_location(url, base, metadata): - yield dist - if fragment: - match = EGG_FRAGMENT.match(fragment) - if match: - for dist in interpret_distro_name( - url, match.group(1), metadata, precedence=CHECKOUT_DIST - ): - yield dist - - -def distros_for_location(location, basename, metadata=None): - """Yield egg or source distribution objects based on basename""" - if basename.endswith('.egg.zip'): - basename = basename[:-4] # strip the .zip - if basename.endswith('.egg') and '-' in basename: - # only one, unambiguous interpretation - return [Distribution.from_location(location, basename, metadata)] - if basename.endswith('.exe'): - win_base, py_ver, platform = parse_bdist_wininst(basename) - if win_base is not None: - return interpret_distro_name( - location, win_base, metadata, py_ver, BINARY_DIST, platform - ) - # Try source distro extensions (.zip, .tgz, etc.) - # - for ext in EXTENSIONS: - if basename.endswith(ext): - basename = basename[:-len(ext)] - return interpret_distro_name(location, basename, metadata) - return [] # no extension matched - - -def distros_for_filename(filename, metadata=None): - """Yield possible egg or source distribution objects based on a filename""" - return distros_for_location( - normalize_path(filename), os.path.basename(filename), metadata - ) - - -def interpret_distro_name( - location, basename, metadata, py_version=None, precedence=SOURCE_DIST, - platform=None - ): - """Generate alternative interpretations of a source distro name - - Note: if `location` is a filesystem filename, you should call - ``pkg_resources.normalize_path()`` on it before passing it to this - routine! - """ - # Generate alternative interpretations of a source distro name - # Because some packages are ambiguous as to name/versions split - # e.g. "adns-python-1.1.0", "egenix-mx-commercial", etc. - # So, we generate each possible interepretation (e.g. "adns, python-1.1.0" - # "adns-python, 1.1.0", and "adns-python-1.1.0, no version"). In practice, - # the spurious interpretations should be ignored, because in the event - # there's also an "adns" package, the spurious "python-1.1.0" version will - # compare lower than any numeric version number, and is therefore unlikely - # to match a request for it. It's still a potential problem, though, and - # in the long run PyPI and the distutils should go for "safe" names and - # versions in distribution archive names (sdist and bdist). - - parts = basename.split('-') - if not py_version and any(re.match('py\d\.\d$', p) for p in parts[2:]): - # it is a bdist_dumb, not an sdist -- bail out - return - - for p in range(1, len(parts) + 1): - yield Distribution( - location, metadata, '-'.join(parts[:p]), '-'.join(parts[p:]), - py_version=py_version, precedence=precedence, - platform=platform - ) - - -# From Python 2.7 docs -def unique_everseen(iterable, key=None): - "List unique elements, preserving order. Remember all elements ever seen." - # unique_everseen('AAAABBBCCDAABBB') --> A B C D - # unique_everseen('ABBCcAD', str.lower) --> A B C D - seen = set() - seen_add = seen.add - if key is None: - for element in six.moves.filterfalse(seen.__contains__, iterable): - seen_add(element) - yield element - else: - for element in iterable: - k = key(element) - if k not in seen: - seen_add(k) - yield element - - -def unique_values(func): - """ - Wrap a function returning an iterable such that the resulting iterable - only ever yields unique items. - """ - - @wraps(func) - def wrapper(*args, **kwargs): - return unique_everseen(func(*args, **kwargs)) - - return wrapper - - -REL = re.compile("""<([^>]*\srel\s*=\s*['"]?([^'">]+)[^>]*)>""", re.I) -# this line is here to fix emacs' cruddy broken syntax highlighting - - -@unique_values -def find_external_links(url, page): - """Find rel="homepage" and rel="download" links in `page`, yielding URLs""" - - for match in REL.finditer(page): - tag, rel = match.groups() - rels = set(map(str.strip, rel.lower().split(','))) - if 'homepage' in rels or 'download' in rels: - for match in HREF.finditer(tag): - yield urllib.parse.urljoin(url, htmldecode(match.group(1))) - - for tag in ("<th>Home Page", "<th>Download URL"): - pos = page.find(tag) - if pos != -1: - match = HREF.search(page, pos) - if match: - yield urllib.parse.urljoin(url, htmldecode(match.group(1))) - - -class ContentChecker(object): - """ - A null content checker that defines the interface for checking content - """ - - def feed(self, block): - """ - Feed a block of data to the hash. - """ - return - - def is_valid(self): - """ - Check the hash. Return False if validation fails. - """ - return True - - def report(self, reporter, template): - """ - Call reporter with information about the checker (hash name) - substituted into the template. - """ - return - - -class HashChecker(ContentChecker): - pattern = re.compile( - r'(?P<hash_name>sha1|sha224|sha384|sha256|sha512|md5)=' - r'(?P<expected>[a-f0-9]+)' - ) - - def __init__(self, hash_name, expected): - self.hash_name = hash_name - self.hash = hashlib.new(hash_name) - self.expected = expected - - @classmethod - def from_url(cls, url): - "Construct a (possibly null) ContentChecker from a URL" - fragment = urllib.parse.urlparse(url)[-1] - if not fragment: - return ContentChecker() - match = cls.pattern.search(fragment) - if not match: - return ContentChecker() - return cls(**match.groupdict()) - - def feed(self, block): - self.hash.update(block) - - def is_valid(self): - return self.hash.hexdigest() == self.expected - - def report(self, reporter, template): - msg = template % self.hash_name - return reporter(msg) - - -class PackageIndex(Environment): - """A distribution index that scans web pages for download URLs""" - - def __init__( - self, index_url="https://pypi.python.org/simple", hosts=('*',), - ca_bundle=None, verify_ssl=True, *args, **kw - ): - Environment.__init__(self, *args, **kw) - self.index_url = index_url + "/" [:not index_url.endswith('/')] - self.scanned_urls = {} - self.fetched_urls = {} - self.package_pages = {} - self.allows = re.compile('|'.join(map(translate, hosts))).match - self.to_scan = [] - use_ssl = ( - verify_ssl - and ssl_support.is_available - and (ca_bundle or ssl_support.find_ca_bundle()) - ) - if use_ssl: - self.opener = ssl_support.opener_for(ca_bundle) - else: - self.opener = urllib.request.urlopen - - def process_url(self, url, retrieve=False): - """Evaluate a URL as a possible download, and maybe retrieve it""" - if url in self.scanned_urls and not retrieve: - return - self.scanned_urls[url] = True - if not URL_SCHEME(url): - self.process_filename(url) - return - else: - dists = list(distros_for_url(url)) - if dists: - if not self.url_ok(url): - return - self.debug("Found link: %s", url) - - if dists or not retrieve or url in self.fetched_urls: - list(map(self.add, dists)) - return # don't need the actual page - - if not self.url_ok(url): - self.fetched_urls[url] = True - return - - self.info("Reading %s", url) - self.fetched_urls[url] = True # prevent multiple fetch attempts - tmpl = "Download error on %s: %%s -- Some packages may not be found!" - f = self.open_url(url, tmpl % url) - if f is None: - return - self.fetched_urls[f.url] = True - if 'html' not in f.headers.get('content-type', '').lower(): - f.close() # not html, we can't process it - return - - base = f.url # handle redirects - page = f.read() - if not isinstance(page, str): # We are in Python 3 and got bytes. We want str. - if isinstance(f, urllib.error.HTTPError): - # Errors have no charset, assume latin1: - charset = 'latin-1' - else: - charset = f.headers.get_param('charset') or 'latin-1' - page = page.decode(charset, "ignore") - f.close() - for match in HREF.finditer(page): - link = urllib.parse.urljoin(base, htmldecode(match.group(1))) - self.process_url(link) - if url.startswith(self.index_url) and getattr(f, 'code', None) != 404: - page = self.process_index(url, page) - - def process_filename(self, fn, nested=False): - # process filenames or directories - if not os.path.exists(fn): - self.warn("Not found: %s", fn) - return - - if os.path.isdir(fn) and not nested: - path = os.path.realpath(fn) - for item in os.listdir(path): - self.process_filename(os.path.join(path, item), True) - - dists = distros_for_filename(fn) - if dists: - self.debug("Found: %s", fn) - list(map(self.add, dists)) - - def url_ok(self, url, fatal=False): - s = URL_SCHEME(url) - is_file = s and s.group(1).lower() == 'file' - if is_file or self.allows(urllib.parse.urlparse(url)[1]): - return True - msg = ("\nNote: Bypassing %s (disallowed host; see " - "http://bit.ly/1dg9ijs for details).\n") - if fatal: - raise DistutilsError(msg % url) - else: - self.warn(msg, url) - - def scan_egg_links(self, search_path): - dirs = filter(os.path.isdir, search_path) - egg_links = ( - (path, entry) - for path in dirs - for entry in os.listdir(path) - if entry.endswith('.egg-link') - ) - list(itertools.starmap(self.scan_egg_link, egg_links)) - - def scan_egg_link(self, path, entry): - with open(os.path.join(path, entry)) as raw_lines: - # filter non-empty lines - lines = list(filter(None, map(str.strip, raw_lines))) - - if len(lines) != 2: - # format is not recognized; punt - return - - egg_path, setup_path = lines - - for dist in find_distributions(os.path.join(path, egg_path)): - dist.location = os.path.join(path, *lines) - dist.precedence = SOURCE_DIST - self.add(dist) - - def process_index(self, url, page): - """Process the contents of a PyPI page""" - - def scan(link): - # Process a URL to see if it's for a package page - if link.startswith(self.index_url): - parts = list(map( - urllib.parse.unquote, link[len(self.index_url):].split('/') - )) - if len(parts) == 2 and '#' not in parts[1]: - # it's a package page, sanitize and index it - pkg = safe_name(parts[0]) - ver = safe_version(parts[1]) - self.package_pages.setdefault(pkg.lower(), {})[link] = True - return to_filename(pkg), to_filename(ver) - return None, None - - # process an index page into the package-page index - for match in HREF.finditer(page): - try: - scan(urllib.parse.urljoin(url, htmldecode(match.group(1)))) - except ValueError: - pass - - pkg, ver = scan(url) # ensure this page is in the page index - if pkg: - # process individual package page - for new_url in find_external_links(url, page): - # Process the found URL - base, frag = egg_info_for_url(new_url) - if base.endswith('.py') and not frag: - if ver: - new_url += '#egg=%s-%s' % (pkg, ver) - else: - self.need_version_info(url) - self.scan_url(new_url) - - return PYPI_MD5.sub( - lambda m: '<a href="%s#md5=%s">%s</a>' % m.group(1, 3, 2), page - ) - else: - return "" # no sense double-scanning non-package pages - - def need_version_info(self, url): - self.scan_all( - "Page at %s links to .py file(s) without version info; an index " - "scan is required.", url - ) - - def scan_all(self, msg=None, *args): - if self.index_url not in self.fetched_urls: - if msg: - self.warn(msg, *args) - self.info( - "Scanning index of all packages (this may take a while)" - ) - self.scan_url(self.index_url) - - def find_packages(self, requirement): - self.scan_url(self.index_url + requirement.unsafe_name + '/') - - if not self.package_pages.get(requirement.key): - # Fall back to safe version of the name - self.scan_url(self.index_url + requirement.project_name + '/') - - if not self.package_pages.get(requirement.key): - # We couldn't find the target package, so search the index page too - self.not_found_in_index(requirement) - - for url in list(self.package_pages.get(requirement.key, ())): - # scan each page that might be related to the desired package - self.scan_url(url) - - def obtain(self, requirement, installer=None): - self.prescan() - self.find_packages(requirement) - for dist in self[requirement.key]: - if dist in requirement: - return dist - self.debug("%s does not match %s", requirement, dist) - return super(PackageIndex, self).obtain(requirement, installer) - - def check_hash(self, checker, filename, tfp): - """ - checker is a ContentChecker - """ - checker.report(self.debug, - "Validating %%s checksum for %s" % filename) - if not checker.is_valid(): - tfp.close() - os.unlink(filename) - raise DistutilsError( - "%s validation failed for %s; " - "possible download problem?" % ( - checker.hash.name, os.path.basename(filename)) - ) - - def add_find_links(self, urls): - """Add `urls` to the list that will be prescanned for searches""" - for url in urls: - if ( - self.to_scan is None # if we have already "gone online" - or not URL_SCHEME(url) # or it's a local file/directory - or url.startswith('file:') - or list(distros_for_url(url)) # or a direct package link - ): - # then go ahead and process it now - self.scan_url(url) - else: - # otherwise, defer retrieval till later - self.to_scan.append(url) - - def prescan(self): - """Scan urls scheduled for prescanning (e.g. --find-links)""" - if self.to_scan: - list(map(self.scan_url, self.to_scan)) - self.to_scan = None # from now on, go ahead and process immediately - - def not_found_in_index(self, requirement): - if self[requirement.key]: # we've seen at least one distro - meth, msg = self.info, "Couldn't retrieve index page for %r" - else: # no distros seen for this name, might be misspelled - meth, msg = (self.warn, - "Couldn't find index page for %r (maybe misspelled?)") - meth(msg, requirement.unsafe_name) - self.scan_all() - - def download(self, spec, tmpdir): - """Locate and/or download `spec` to `tmpdir`, returning a local path - - `spec` may be a ``Requirement`` object, or a string containing a URL, - an existing local filename, or a project/version requirement spec - (i.e. the string form of a ``Requirement`` object). If it is the URL - of a .py file with an unambiguous ``#egg=name-version`` tag (i.e., one - that escapes ``-`` as ``_`` throughout), a trivial ``setup.py`` is - automatically created alongside the downloaded file. - - If `spec` is a ``Requirement`` object or a string containing a - project/version requirement spec, this method returns the location of - a matching distribution (possibly after downloading it to `tmpdir`). - If `spec` is a locally existing file or directory name, it is simply - returned unchanged. If `spec` is a URL, it is downloaded to a subpath - of `tmpdir`, and the local filename is returned. Various errors may be - raised if a problem occurs during downloading. - """ - if not isinstance(spec, Requirement): - scheme = URL_SCHEME(spec) - if scheme: - # It's a url, download it to tmpdir - found = self._download_url(scheme.group(1), spec, tmpdir) - base, fragment = egg_info_for_url(spec) - if base.endswith('.py'): - found = self.gen_setup(found, fragment, tmpdir) - return found - elif os.path.exists(spec): - # Existing file or directory, just return it - return spec - else: - spec = parse_requirement_arg(spec) - return getattr(self.fetch_distribution(spec, tmpdir), 'location', None) - - def fetch_distribution( - self, requirement, tmpdir, force_scan=False, source=False, - develop_ok=False, local_index=None - ): - """Obtain a distribution suitable for fulfilling `requirement` - - `requirement` must be a ``pkg_resources.Requirement`` instance. - If necessary, or if the `force_scan` flag is set, the requirement is - searched for in the (online) package index as well as the locally - installed packages. If a distribution matching `requirement` is found, - the returned distribution's ``location`` is the value you would have - gotten from calling the ``download()`` method with the matching - distribution's URL or filename. If no matching distribution is found, - ``None`` is returned. - - If the `source` flag is set, only source distributions and source - checkout links will be considered. Unless the `develop_ok` flag is - set, development and system eggs (i.e., those using the ``.egg-info`` - format) will be ignored. - """ - # process a Requirement - self.info("Searching for %s", requirement) - skipped = {} - dist = None - - def find(req, env=None): - if env is None: - env = self - # Find a matching distribution; may be called more than once - - for dist in env[req.key]: - - if dist.precedence == DEVELOP_DIST and not develop_ok: - if dist not in skipped: - self.warn("Skipping development or system egg: %s", dist) - skipped[dist] = 1 - continue - - if dist in req and (dist.precedence <= SOURCE_DIST or not source): - dist.download_location = self.download(dist.location, tmpdir) - if os.path.exists(dist.download_location): - return dist - - if force_scan: - self.prescan() - self.find_packages(requirement) - dist = find(requirement) - - if not dist and local_index is not None: - dist = find(requirement, local_index) - - if dist is None: - if self.to_scan is not None: - self.prescan() - dist = find(requirement) - - if dist is None and not force_scan: - self.find_packages(requirement) - dist = find(requirement) - - if dist is None: - self.warn( - "No local packages or working download links found for %s%s", - (source and "a source distribution of " or ""), - requirement, - ) - else: - self.info("Best match: %s", dist) - return dist.clone(location=dist.download_location) - - def fetch(self, requirement, tmpdir, force_scan=False, source=False): - """Obtain a file suitable for fulfilling `requirement` - - DEPRECATED; use the ``fetch_distribution()`` method now instead. For - backward compatibility, this routine is identical but returns the - ``location`` of the downloaded distribution instead of a distribution - object. - """ - dist = self.fetch_distribution(requirement, tmpdir, force_scan, source) - if dist is not None: - return dist.location - return None - - def gen_setup(self, filename, fragment, tmpdir): - match = EGG_FRAGMENT.match(fragment) - dists = match and [ - d for d in - interpret_distro_name(filename, match.group(1), None) if d.version - ] or [] - - if len(dists) == 1: # unambiguous ``#egg`` fragment - basename = os.path.basename(filename) - - # Make sure the file has been downloaded to the temp dir. - if os.path.dirname(filename) != tmpdir: - dst = os.path.join(tmpdir, basename) - from setuptools.command.easy_install import samefile - if not samefile(filename, dst): - shutil.copy2(filename, dst) - filename = dst - - with open(os.path.join(tmpdir, 'setup.py'), 'w') as file: - file.write( - "from setuptools import setup\n" - "setup(name=%r, version=%r, py_modules=[%r])\n" - % ( - dists[0].project_name, dists[0].version, - os.path.splitext(basename)[0] - ) - ) - return filename - - elif match: - raise DistutilsError( - "Can't unambiguously interpret project/version identifier %r; " - "any dashes in the name or version should be escaped using " - "underscores. %r" % (fragment, dists) - ) - else: - raise DistutilsError( - "Can't process plain .py files without an '#egg=name-version'" - " suffix to enable automatic setup script generation." - ) - - dl_blocksize = 8192 - - def _download_to(self, url, filename): - self.info("Downloading %s", url) - # Download the file - fp, info = None, None - try: - checker = HashChecker.from_url(url) - fp = self.open_url(strip_fragment(url)) - if isinstance(fp, urllib.error.HTTPError): - raise DistutilsError( - "Can't download %s: %s %s" % (url, fp.code, fp.msg) - ) - headers = fp.info() - blocknum = 0 - bs = self.dl_blocksize - size = -1 - if "content-length" in headers: - # Some servers return multiple Content-Length headers :( - sizes = get_all_headers(headers, 'Content-Length') - size = max(map(int, sizes)) - self.reporthook(url, filename, blocknum, bs, size) - with open(filename, 'wb') as tfp: - while True: - block = fp.read(bs) - if block: - checker.feed(block) - tfp.write(block) - blocknum += 1 - self.reporthook(url, filename, blocknum, bs, size) - else: - break - self.check_hash(checker, filename, tfp) - return headers - finally: - if fp: - fp.close() - - def reporthook(self, url, filename, blocknum, blksize, size): - pass # no-op - - def open_url(self, url, warning=None): - if url.startswith('file:'): - return local_open(url) - try: - return open_with_auth(url, self.opener) - except (ValueError, http_client.InvalidURL) as v: - msg = ' '.join([str(arg) for arg in v.args]) - if warning: - self.warn(warning, msg) - else: - raise DistutilsError('%s %s' % (url, msg)) - except urllib.error.HTTPError as v: - return v - except urllib.error.URLError as v: - if warning: - self.warn(warning, v.reason) - else: - raise DistutilsError("Download error for %s: %s" - % (url, v.reason)) - except http_client.BadStatusLine as v: - if warning: - self.warn(warning, v.line) - else: - raise DistutilsError( - '%s returned a bad status line. The server might be ' - 'down, %s' % - (url, v.line) - ) - except http_client.HTTPException as v: - if warning: - self.warn(warning, v) - else: - raise DistutilsError("Download error for %s: %s" - % (url, v)) - - def _download_url(self, scheme, url, tmpdir): - # Determine download filename - # - name, fragment = egg_info_for_url(url) - if name: - while '..' in name: - name = name.replace('..', '.').replace('\\', '_') - else: - name = "__downloaded__" # default if URL has no path contents - - if name.endswith('.egg.zip'): - name = name[:-4] # strip the extra .zip before download - - filename = os.path.join(tmpdir, name) - - # Download the file - # - if scheme == 'svn' or scheme.startswith('svn+'): - return self._download_svn(url, filename) - elif scheme == 'git' or scheme.startswith('git+'): - return self._download_git(url, filename) - elif scheme.startswith('hg+'): - return self._download_hg(url, filename) - elif scheme == 'file': - return urllib.request.url2pathname(urllib.parse.urlparse(url)[2]) - else: - self.url_ok(url, True) # raises error if not allowed - return self._attempt_download(url, filename) - - def scan_url(self, url): - self.process_url(url, True) - - def _attempt_download(self, url, filename): - headers = self._download_to(url, filename) - if 'html' in headers.get('content-type', '').lower(): - return self._download_html(url, headers, filename) - else: - return filename - - def _download_html(self, url, headers, filename): - file = open(filename) - for line in file: - if line.strip(): - # Check for a subversion index page - if re.search(r'<title>([^- ]+ - )?Revision \d+:', line): - # it's a subversion index page: - file.close() - os.unlink(filename) - return self._download_svn(url, filename) - break # not an index page - file.close() - os.unlink(filename) - raise DistutilsError("Unexpected HTML page found at " + url) - - def _download_svn(self, url, filename): - url = url.split('#', 1)[0] # remove any fragment for svn's sake - creds = '' - if url.lower().startswith('svn:') and '@' in url: - scheme, netloc, path, p, q, f = urllib.parse.urlparse(url) - if not netloc and path.startswith('//') and '/' in path[2:]: - netloc, path = path[2:].split('/', 1) - auth, host = splituser(netloc) - if auth: - if ':' in auth: - user, pw = auth.split(':', 1) - creds = " --username=%s --password=%s" % (user, pw) - else: - creds = " --username=" + auth - netloc = host - parts = scheme, netloc, url, p, q, f - url = urllib.parse.urlunparse(parts) - self.info("Doing subversion checkout from %s to %s", url, filename) - os.system("svn checkout%s -q %s %s" % (creds, url, filename)) - return filename - - @staticmethod - def _vcs_split_rev_from_url(url, pop_prefix=False): - scheme, netloc, path, query, frag = urllib.parse.urlsplit(url) - - scheme = scheme.split('+', 1)[-1] - - # Some fragment identification fails - path = path.split('#', 1)[0] - - rev = None - if '@' in path: - path, rev = path.rsplit('@', 1) - - # Also, discard fragment - url = urllib.parse.urlunsplit((scheme, netloc, path, query, '')) - - return url, rev - - def _download_git(self, url, filename): - filename = filename.split('#', 1)[0] - url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) - - self.info("Doing git clone from %s to %s", url, filename) - os.system("git clone --quiet %s %s" % (url, filename)) - - if rev is not None: - self.info("Checking out %s", rev) - os.system("(cd %s && git checkout --quiet %s)" % ( - filename, - rev, - )) - - return filename - - def _download_hg(self, url, filename): - filename = filename.split('#', 1)[0] - url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) - - self.info("Doing hg clone from %s to %s", url, filename) - os.system("hg clone --quiet %s %s" % (url, filename)) - - if rev is not None: - self.info("Updating to %s", rev) - os.system("(cd %s && hg up -C -r %s >&-)" % ( - filename, - rev, - )) - - return filename - - def debug(self, msg, *args): - log.debug(msg, *args) - - def info(self, msg, *args): - log.info(msg, *args) - - def warn(self, msg, *args): - log.warn(msg, *args) - - -# This pattern matches a character entity reference (a decimal numeric -# references, a hexadecimal numeric reference, or a named reference). -entity_sub = re.compile(r'&(#(\d+|x[\da-fA-F]+)|[\w.:-]+);?').sub - - -def uchr(c): - if not isinstance(c, int): - return c - if c > 255: - return six.unichr(c) - return chr(c) - - -def decode_entity(match): - what = match.group(1) - if what.startswith('#x'): - what = int(what[2:], 16) - elif what.startswith('#'): - what = int(what[1:]) - else: - what = six.moves.html_entities.name2codepoint.get(what, match.group(0)) - return uchr(what) - - -def htmldecode(text): - """Decode HTML entities in the given text.""" - return entity_sub(decode_entity, text) - - -def socket_timeout(timeout=15): - def _socket_timeout(func): - def _socket_timeout(*args, **kwargs): - old_timeout = socket.getdefaulttimeout() - socket.setdefaulttimeout(timeout) - try: - return func(*args, **kwargs) - finally: - socket.setdefaulttimeout(old_timeout) - - return _socket_timeout - - return _socket_timeout - - -def _encode_auth(auth): - """ - A function compatible with Python 2.3-3.3 that will encode - auth from a URL suitable for an HTTP header. - >>> str(_encode_auth('username%3Apassword')) - 'dXNlcm5hbWU6cGFzc3dvcmQ=' - - Long auth strings should not cause a newline to be inserted. - >>> long_auth = 'username:' + 'password'*10 - >>> chr(10) in str(_encode_auth(long_auth)) - False - """ - auth_s = urllib.parse.unquote(auth) - # convert to bytes - auth_bytes = auth_s.encode() - # use the legacy interface for Python 2.3 support - encoded_bytes = base64.encodestring(auth_bytes) - # convert back to a string - encoded = encoded_bytes.decode() - # strip the trailing carriage return - return encoded.replace('\n', '') - - -class Credential(object): - """ - A username/password pair. Use like a namedtuple. - """ - - def __init__(self, username, password): - self.username = username - self.password = password - - def __iter__(self): - yield self.username - yield self.password - - def __str__(self): - return '%(username)s:%(password)s' % vars(self) - - -class PyPIConfig(configparser.RawConfigParser): - def __init__(self): - """ - Load from ~/.pypirc - """ - defaults = dict.fromkeys(['username', 'password', 'repository'], '') - configparser.RawConfigParser.__init__(self, defaults) - - rc = os.path.join(os.path.expanduser('~'), '.pypirc') - if os.path.exists(rc): - self.read(rc) - - @property - def creds_by_repository(self): - sections_with_repositories = [ - section for section in self.sections() - if self.get(section, 'repository').strip() - ] - - return dict(map(self._get_repo_cred, sections_with_repositories)) - - def _get_repo_cred(self, section): - repo = self.get(section, 'repository').strip() - return repo, Credential( - self.get(section, 'username').strip(), - self.get(section, 'password').strip(), - ) - - def find_credential(self, url): - """ - If the URL indicated appears to be a repository defined in this - config, return the credential for that repository. - """ - for repository, cred in self.creds_by_repository.items(): - if url.startswith(repository): - return cred - - -def open_with_auth(url, opener=urllib.request.urlopen): - """Open a urllib2 request, handling HTTP authentication""" - - scheme, netloc, path, params, query, frag = urllib.parse.urlparse(url) - - # Double scheme does not raise on Mac OS X as revealed by a - # failing test. We would expect "nonnumeric port". Refs #20. - if netloc.endswith(':'): - raise http_client.InvalidURL("nonnumeric port: ''") - - if scheme in ('http', 'https'): - auth, host = splituser(netloc) - else: - auth = None - - if not auth: - cred = PyPIConfig().find_credential(url) - if cred: - auth = str(cred) - info = cred.username, url - log.info('Authenticating as %s for %s (from .pypirc)', *info) - - if auth: - auth = "Basic " + _encode_auth(auth) - parts = scheme, host, path, params, query, frag - new_url = urllib.parse.urlunparse(parts) - request = urllib.request.Request(new_url) - request.add_header("Authorization", auth) - else: - request = urllib.request.Request(url) - - request.add_header('User-Agent', user_agent) - fp = opener(request) - - if auth: - # Put authentication info back into request URL if same host, - # so that links found on the page will work - s2, h2, path2, param2, query2, frag2 = urllib.parse.urlparse(fp.url) - if s2 == scheme and h2 == host: - parts = s2, netloc, path2, param2, query2, frag2 - fp.url = urllib.parse.urlunparse(parts) - - return fp - - -# adding a timeout to avoid freezing package_index -open_with_auth = socket_timeout(_SOCKET_TIMEOUT)(open_with_auth) - - -def fix_sf_url(url): - return url # backward compatibility - - -def local_open(url): - """Read a local path, with special support for directories""" - scheme, server, path, param, query, frag = urllib.parse.urlparse(url) - filename = urllib.request.url2pathname(path) - if os.path.isfile(filename): - return urllib.request.urlopen(url) - elif path.endswith('/') and os.path.isdir(filename): - files = [] - for f in os.listdir(filename): - filepath = os.path.join(filename, f) - if f == 'index.html': - with open(filepath, 'r') as fp: - body = fp.read() - break - elif os.path.isdir(filepath): - f += '/' - files.append('<a href="{name}">{name}</a>'.format(name=f)) - else: - tmpl = ("<html><head><title>{url}" - "{files}") - body = tmpl.format(url=url, files='\n'.join(files)) - status, message = 200, "OK" - else: - status, message, body = 404, "Path not found", "Not found" - - headers = {'content-type': 'text/html'} - body_stream = six.StringIO(body) - return urllib.error.HTTPError(url, status, message, headers, body_stream) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py26compat.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py26compat.py deleted file mode 100644 index 4d3add8c..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py26compat.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Compatibility Support for Python 2.6 and earlier -""" - -import sys - -try: - from urllib.parse import splittag -except ImportError: - from urllib import splittag - - -def strip_fragment(url): - """ - In `Python 8280 `_, Python 2.7 and - later was patched to disregard the fragment when making URL requests. - Do the same for Python 2.6 and earlier. - """ - url, fragment = splittag(url) - return url - - -if sys.version_info >= (2, 7): - strip_fragment = lambda x: x - -try: - from importlib import import_module -except ImportError: - - def import_module(module_name): - return __import__(module_name, fromlist=['__name__']) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py27compat.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py27compat.py deleted file mode 100644 index 4e3e4ab3..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py27compat.py +++ /dev/null @@ -1,18 +0,0 @@ -""" -Compatibility Support for Python 2.7 and earlier -""" - -import sys - - -def get_all_headers(message, key): - """ - Given an HTTPMessage, return all headers matching a given key. - """ - return message.get_all(key) - - -if sys.version_info < (3,): - - def get_all_headers(message, key): - return message.getheaders(key) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py31compat.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py31compat.py deleted file mode 100644 index 44b025d4..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/py31compat.py +++ /dev/null @@ -1,56 +0,0 @@ -import sys -import unittest - -__all__ = ['get_config_vars', 'get_path'] - -try: - # Python 2.7 or >=3.2 - from sysconfig import get_config_vars, get_path -except ImportError: - from distutils.sysconfig import get_config_vars, get_python_lib - - def get_path(name): - if name not in ('platlib', 'purelib'): - raise ValueError("Name must be purelib or platlib") - return get_python_lib(name == 'platlib') - - -try: - # Python >=3.2 - from tempfile import TemporaryDirectory -except ImportError: - import shutil - import tempfile - - class TemporaryDirectory(object): - """ - Very simple temporary directory context manager. - Will try to delete afterward, but will also ignore OS and similar - errors on deletion. - """ - - def __init__(self): - self.name = None # Handle mkdtemp raising an exception - self.name = tempfile.mkdtemp() - - def __enter__(self): - return self.name - - def __exit__(self, exctype, excvalue, exctrace): - try: - shutil.rmtree(self.name, True) - except OSError: # removal errors are not the only possible - pass - self.name = None - - -unittest_main = unittest.main - -_PY31 = (3, 1) <= sys.version_info[:2] < (3, 2) -if _PY31: - # on Python 3.1, translate testRunner==None to TextTestRunner - # for compatibility with Python 2.6, 2.7, and 3.2+ - def unittest_main(*args, **kwargs): - if 'testRunner' in kwargs and kwargs['testRunner'] is None: - kwargs['testRunner'] = unittest.TextTestRunner - return unittest.main(*args, **kwargs) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/sandbox.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/sandbox.py deleted file mode 100644 index 39afd57e..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/sandbox.py +++ /dev/null @@ -1,492 +0,0 @@ -import os -import sys -import tempfile -import operator -import functools -import itertools -import re -import contextlib -import pickle - -from setuptools.extern import six -from setuptools.extern.six.moves import builtins, map - -import pkg_resources - -if sys.platform.startswith('java'): - import org.python.modules.posix.PosixModule as _os -else: - _os = sys.modules[os.name] -try: - _file = file -except NameError: - _file = None -_open = open -from distutils.errors import DistutilsError -from pkg_resources import working_set - -__all__ = [ - "AbstractSandbox", "DirectorySandbox", "SandboxViolation", "run_setup", -] - - -def _execfile(filename, globals, locals=None): - """ - Python 3 implementation of execfile. - """ - mode = 'rb' - with open(filename, mode) as stream: - script = stream.read() - # compile() function in Python 2.6 and 3.1 requires LF line endings. - if sys.version_info[:2] < (2, 7) or sys.version_info[:2] >= (3, 0) and sys.version_info[:2] < (3, 2): - script = script.replace(b'\r\n', b'\n') - script = script.replace(b'\r', b'\n') - if locals is None: - locals = globals - code = compile(script, filename, 'exec') - exec(code, globals, locals) - - -@contextlib.contextmanager -def save_argv(repl=None): - saved = sys.argv[:] - if repl is not None: - sys.argv[:] = repl - try: - yield saved - finally: - sys.argv[:] = saved - - -@contextlib.contextmanager -def save_path(): - saved = sys.path[:] - try: - yield saved - finally: - sys.path[:] = saved - - -@contextlib.contextmanager -def override_temp(replacement): - """ - Monkey-patch tempfile.tempdir with replacement, ensuring it exists - """ - if not os.path.isdir(replacement): - os.makedirs(replacement) - - saved = tempfile.tempdir - - tempfile.tempdir = replacement - - try: - yield - finally: - tempfile.tempdir = saved - - -@contextlib.contextmanager -def pushd(target): - saved = os.getcwd() - os.chdir(target) - try: - yield saved - finally: - os.chdir(saved) - - -class UnpickleableException(Exception): - """ - An exception representing another Exception that could not be pickled. - """ - - @staticmethod - def dump(type, exc): - """ - Always return a dumped (pickled) type and exc. If exc can't be pickled, - wrap it in UnpickleableException first. - """ - try: - return pickle.dumps(type), pickle.dumps(exc) - except Exception: - # get UnpickleableException inside the sandbox - from setuptools.sandbox import UnpickleableException as cls - return cls.dump(cls, cls(repr(exc))) - - -class ExceptionSaver: - """ - A Context Manager that will save an exception, serialized, and restore it - later. - """ - - def __enter__(self): - return self - - def __exit__(self, type, exc, tb): - if not exc: - return - - # dump the exception - self._saved = UnpickleableException.dump(type, exc) - self._tb = tb - - # suppress the exception - return True - - def resume(self): - "restore and re-raise any exception" - - if '_saved' not in vars(self): - return - - type, exc = map(pickle.loads, self._saved) - six.reraise(type, exc, self._tb) - - -@contextlib.contextmanager -def save_modules(): - """ - Context in which imported modules are saved. - - Translates exceptions internal to the context into the equivalent exception - outside the context. - """ - saved = sys.modules.copy() - with ExceptionSaver() as saved_exc: - yield saved - - sys.modules.update(saved) - # remove any modules imported since - del_modules = ( - mod_name for mod_name in sys.modules - if mod_name not in saved - # exclude any encodings modules. See #285 - and not mod_name.startswith('encodings.') - ) - _clear_modules(del_modules) - - saved_exc.resume() - - -def _clear_modules(module_names): - for mod_name in list(module_names): - del sys.modules[mod_name] - - -@contextlib.contextmanager -def save_pkg_resources_state(): - saved = pkg_resources.__getstate__() - try: - yield saved - finally: - pkg_resources.__setstate__(saved) - - -@contextlib.contextmanager -def setup_context(setup_dir): - temp_dir = os.path.join(setup_dir, 'temp') - with save_pkg_resources_state(): - with save_modules(): - hide_setuptools() - with save_path(): - with save_argv(): - with override_temp(temp_dir): - with pushd(setup_dir): - # ensure setuptools commands are available - __import__('setuptools') - yield - - -def _needs_hiding(mod_name): - """ - >>> _needs_hiding('setuptools') - True - >>> _needs_hiding('pkg_resources') - True - >>> _needs_hiding('setuptools_plugin') - False - >>> _needs_hiding('setuptools.__init__') - True - >>> _needs_hiding('distutils') - True - >>> _needs_hiding('os') - False - >>> _needs_hiding('Cython') - True - """ - pattern = re.compile('(setuptools|pkg_resources|distutils|Cython)(\.|$)') - return bool(pattern.match(mod_name)) - - -def hide_setuptools(): - """ - Remove references to setuptools' modules from sys.modules to allow the - invocation to import the most appropriate setuptools. This technique is - necessary to avoid issues such as #315 where setuptools upgrading itself - would fail to find a function declared in the metadata. - """ - modules = filter(_needs_hiding, sys.modules) - _clear_modules(modules) - - -def run_setup(setup_script, args): - """Run a distutils setup script, sandboxed in its directory""" - setup_dir = os.path.abspath(os.path.dirname(setup_script)) - with setup_context(setup_dir): - try: - sys.argv[:] = [setup_script] + list(args) - sys.path.insert(0, setup_dir) - # reset to include setup dir, w/clean callback list - working_set.__init__() - working_set.callbacks.append(lambda dist: dist.activate()) - - def runner(): - ns = dict(__file__=setup_script, __name__='__main__') - _execfile(setup_script, ns) - - DirectorySandbox(setup_dir).run(runner) - except SystemExit as v: - if v.args and v.args[0]: - raise - # Normal exit, just return - - -class AbstractSandbox: - """Wrap 'os' module and 'open()' builtin for virtualizing setup scripts""" - - _active = False - - def __init__(self): - self._attrs = [ - name for name in dir(_os) - if not name.startswith('_') and hasattr(self, name) - ] - - def _copy(self, source): - for name in self._attrs: - setattr(os, name, getattr(source, name)) - - def run(self, func): - """Run 'func' under os sandboxing""" - try: - self._copy(self) - if _file: - builtins.file = self._file - builtins.open = self._open - self._active = True - return func() - finally: - self._active = False - if _file: - builtins.file = _file - builtins.open = _open - self._copy(_os) - - def _mk_dual_path_wrapper(name): - original = getattr(_os, name) - - def wrap(self, src, dst, *args, **kw): - if self._active: - src, dst = self._remap_pair(name, src, dst, *args, **kw) - return original(src, dst, *args, **kw) - - return wrap - - for name in ["rename", "link", "symlink"]: - if hasattr(_os, name): - locals()[name] = _mk_dual_path_wrapper(name) - - def _mk_single_path_wrapper(name, original=None): - original = original or getattr(_os, name) - - def wrap(self, path, *args, **kw): - if self._active: - path = self._remap_input(name, path, *args, **kw) - return original(path, *args, **kw) - - return wrap - - if _file: - _file = _mk_single_path_wrapper('file', _file) - _open = _mk_single_path_wrapper('open', _open) - for name in [ - "stat", "listdir", "chdir", "open", "chmod", "chown", "mkdir", - "remove", "unlink", "rmdir", "utime", "lchown", "chroot", "lstat", - "startfile", "mkfifo", "mknod", "pathconf", "access" - ]: - if hasattr(_os, name): - locals()[name] = _mk_single_path_wrapper(name) - - def _mk_single_with_return(name): - original = getattr(_os, name) - - def wrap(self, path, *args, **kw): - if self._active: - path = self._remap_input(name, path, *args, **kw) - return self._remap_output(name, original(path, *args, **kw)) - return original(path, *args, **kw) - - return wrap - - for name in ['readlink', 'tempnam']: - if hasattr(_os, name): - locals()[name] = _mk_single_with_return(name) - - def _mk_query(name): - original = getattr(_os, name) - - def wrap(self, *args, **kw): - retval = original(*args, **kw) - if self._active: - return self._remap_output(name, retval) - return retval - - return wrap - - for name in ['getcwd', 'tmpnam']: - if hasattr(_os, name): - locals()[name] = _mk_query(name) - - def _validate_path(self, path): - """Called to remap or validate any path, whether input or output""" - return path - - def _remap_input(self, operation, path, *args, **kw): - """Called for path inputs""" - return self._validate_path(path) - - def _remap_output(self, operation, path): - """Called for path outputs""" - return self._validate_path(path) - - def _remap_pair(self, operation, src, dst, *args, **kw): - """Called for path pairs like rename, link, and symlink operations""" - return ( - self._remap_input(operation + '-from', src, *args, **kw), - self._remap_input(operation + '-to', dst, *args, **kw) - ) - - -if hasattr(os, 'devnull'): - _EXCEPTIONS = [os.devnull,] -else: - _EXCEPTIONS = [] - -try: - from win32com.client.gencache import GetGeneratePath - _EXCEPTIONS.append(GetGeneratePath()) - del GetGeneratePath -except ImportError: - # it appears pywin32 is not installed, so no need to exclude. - pass - - -class DirectorySandbox(AbstractSandbox): - """Restrict operations to a single subdirectory - pseudo-chroot""" - - write_ops = dict.fromkeys([ - "open", "chmod", "chown", "mkdir", "remove", "unlink", "rmdir", - "utime", "lchown", "chroot", "mkfifo", "mknod", "tempnam", - ]) - - _exception_patterns = [ - # Allow lib2to3 to attempt to save a pickled grammar object (#121) - '.*lib2to3.*\.pickle$', - ] - "exempt writing to paths that match the pattern" - - def __init__(self, sandbox, exceptions=_EXCEPTIONS): - self._sandbox = os.path.normcase(os.path.realpath(sandbox)) - self._prefix = os.path.join(self._sandbox, '') - self._exceptions = [ - os.path.normcase(os.path.realpath(path)) - for path in exceptions - ] - AbstractSandbox.__init__(self) - - def _violation(self, operation, *args, **kw): - from setuptools.sandbox import SandboxViolation - raise SandboxViolation(operation, args, kw) - - if _file: - - def _file(self, path, mode='r', *args, **kw): - if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path): - self._violation("file", path, mode, *args, **kw) - return _file(path, mode, *args, **kw) - - def _open(self, path, mode='r', *args, **kw): - if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path): - self._violation("open", path, mode, *args, **kw) - return _open(path, mode, *args, **kw) - - def tmpnam(self): - self._violation("tmpnam") - - def _ok(self, path): - active = self._active - try: - self._active = False - realpath = os.path.normcase(os.path.realpath(path)) - return ( - self._exempted(realpath) - or realpath == self._sandbox - or realpath.startswith(self._prefix) - ) - finally: - self._active = active - - def _exempted(self, filepath): - start_matches = ( - filepath.startswith(exception) - for exception in self._exceptions - ) - pattern_matches = ( - re.match(pattern, filepath) - for pattern in self._exception_patterns - ) - candidates = itertools.chain(start_matches, pattern_matches) - return any(candidates) - - def _remap_input(self, operation, path, *args, **kw): - """Called for path inputs""" - if operation in self.write_ops and not self._ok(path): - self._violation(operation, os.path.realpath(path), *args, **kw) - return path - - def _remap_pair(self, operation, src, dst, *args, **kw): - """Called for path pairs like rename, link, and symlink operations""" - if not self._ok(src) or not self._ok(dst): - self._violation(operation, src, dst, *args, **kw) - return (src, dst) - - def open(self, file, flags, mode=0o777, *args, **kw): - """Called for low-level os.open()""" - if flags & WRITE_FLAGS and not self._ok(file): - self._violation("os.open", file, flags, mode, *args, **kw) - return _os.open(file, flags, mode, *args, **kw) - - -WRITE_FLAGS = functools.reduce( - operator.or_, [getattr(_os, a, 0) for a in - "O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARY".split()] -) - - -class SandboxViolation(DistutilsError): - """A setup script attempted to modify the filesystem outside the sandbox""" - - def __str__(self): - return """SandboxViolation: %s%r %s - -The package setup script has attempted to modify files on your system -that are not within the EasyInstall build area, and has been aborted. - -This package cannot be safely installed by EasyInstall, and may not -support alternate installation locations even if you run its setup -script by hand. Please inform the package's author and the EasyInstall -maintainers to find out if a fix or workaround is available.""" % self.args - - -# diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script (dev).tmpl b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script (dev).tmpl deleted file mode 100644 index d58b1bb5..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script (dev).tmpl +++ /dev/null @@ -1,5 +0,0 @@ -# EASY-INSTALL-DEV-SCRIPT: %(spec)r,%(script_name)r -__requires__ = %(spec)r -__import__('pkg_resources').require(%(spec)r) -__file__ = %(dev_path)r -exec(compile(open(__file__).read(), __file__, 'exec')) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script.tmpl b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script.tmpl deleted file mode 100644 index ff5efbca..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/script.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -# EASY-INSTALL-SCRIPT: %(spec)r,%(script_name)r -__requires__ = %(spec)r -__import__('pkg_resources').run_script(%(spec)r, %(script_name)r) diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/site-patch.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/site-patch.py deleted file mode 100644 index 0d2d2ff8..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/site-patch.py +++ /dev/null @@ -1,74 +0,0 @@ -def __boot(): - import sys - import os - PYTHONPATH = os.environ.get('PYTHONPATH') - if PYTHONPATH is None or (sys.platform == 'win32' and not PYTHONPATH): - PYTHONPATH = [] - else: - PYTHONPATH = PYTHONPATH.split(os.pathsep) - - pic = getattr(sys, 'path_importer_cache', {}) - stdpath = sys.path[len(PYTHONPATH):] - mydir = os.path.dirname(__file__) - - for item in stdpath: - if item == mydir or not item: - continue # skip if current dir. on Windows, or my own directory - importer = pic.get(item) - if importer is not None: - loader = importer.find_module('site') - if loader is not None: - # This should actually reload the current module - loader.load_module('site') - break - else: - try: - import imp # Avoid import loop in Python >= 3.3 - stream, path, descr = imp.find_module('site', [item]) - except ImportError: - continue - if stream is None: - continue - try: - # This should actually reload the current module - imp.load_module('site', stream, path, descr) - finally: - stream.close() - break - else: - raise ImportError("Couldn't find the real 'site' module") - - known_paths = dict([(makepath(item)[1], 1) for item in sys.path]) # 2.2 comp - - oldpos = getattr(sys, '__egginsert', 0) # save old insertion position - sys.__egginsert = 0 # and reset the current one - - for item in PYTHONPATH: - addsitedir(item) - - sys.__egginsert += oldpos # restore effective old position - - d, nd = makepath(stdpath[0]) - insert_at = None - new_path = [] - - for item in sys.path: - p, np = makepath(item) - - if np == nd and insert_at is None: - # We've hit the first 'system' path entry, so added entries go here - insert_at = len(new_path) - - if np in known_paths or insert_at is None: - new_path.append(item) - else: - # new path after the insert point, back-insert it - new_path.insert(insert_at, item) - insert_at += 1 - - sys.path[:] = new_path - - -if __name__ == 'site': - __boot() - del __boot diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/ssl_support.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/ssl_support.py deleted file mode 100644 index 82f8870a..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/ssl_support.py +++ /dev/null @@ -1,250 +0,0 @@ -import os -import socket -import atexit -import re - -from setuptools.extern.six.moves import urllib, http_client, map - -import pkg_resources -from pkg_resources import ResolutionError, ExtractionError - -try: - import ssl -except ImportError: - ssl = None - -__all__ = [ - 'VerifyingHTTPSHandler', 'find_ca_bundle', 'is_available', 'cert_paths', - 'opener_for' -] - -cert_paths = """ -/etc/pki/tls/certs/ca-bundle.crt -/etc/ssl/certs/ca-certificates.crt -/usr/share/ssl/certs/ca-bundle.crt -/usr/local/share/certs/ca-root.crt -/etc/ssl/cert.pem -/System/Library/OpenSSL/certs/cert.pem -/usr/local/share/certs/ca-root-nss.crt -/etc/ssl/ca-bundle.pem -""".strip().split() - -try: - HTTPSHandler = urllib.request.HTTPSHandler - HTTPSConnection = http_client.HTTPSConnection -except AttributeError: - HTTPSHandler = HTTPSConnection = object - -is_available = ssl is not None and object not in (HTTPSHandler, HTTPSConnection) - - -try: - from ssl import CertificateError, match_hostname -except ImportError: - try: - from backports.ssl_match_hostname import CertificateError - from backports.ssl_match_hostname import match_hostname - except ImportError: - CertificateError = None - match_hostname = None - -if not CertificateError: - - class CertificateError(ValueError): - pass - - -if not match_hostname: - - 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 - - # Ported from python3-syntax: - # leftmost, *remainder = dn.split(r'.') - parts = dn.split(r'.') - leftmost = parts[0] - remainder = 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") - 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") - - -class VerifyingHTTPSHandler(HTTPSHandler): - """Simple verifying handler: no auth, subclasses, timeouts, etc.""" - - def __init__(self, ca_bundle): - self.ca_bundle = ca_bundle - HTTPSHandler.__init__(self) - - def https_open(self, req): - return self.do_open( - lambda host, **kw: VerifyingHTTPSConn(host, self.ca_bundle, **kw), req - ) - - -class VerifyingHTTPSConn(HTTPSConnection): - """Simple verifying connection: no auth, subclasses, timeouts, etc.""" - - def __init__(self, host, ca_bundle, **kw): - HTTPSConnection.__init__(self, host, **kw) - self.ca_bundle = ca_bundle - - def connect(self): - sock = socket.create_connection( - (self.host, self.port), getattr(self, 'source_address', None) - ) - - # Handle the socket if a (proxy) tunnel is present - if hasattr(self, '_tunnel') and getattr(self, '_tunnel_host', None): - self.sock = sock - self._tunnel() - # http://bugs.python.org/issue7776: Python>=3.4.1 and >=2.7.7 - # change self.host to mean the proxy server host when tunneling is - # being used. Adapt, since we are interested in the destination - # host for the match_hostname() comparison. - actual_host = self._tunnel_host - else: - actual_host = self.host - - self.sock = ssl.wrap_socket( - sock, cert_reqs=ssl.CERT_REQUIRED, ca_certs=self.ca_bundle - ) - try: - match_hostname(self.sock.getpeercert(), actual_host) - except CertificateError: - self.sock.shutdown(socket.SHUT_RDWR) - self.sock.close() - raise - - -def opener_for(ca_bundle=None): - """Get a urlopen() replacement that uses ca_bundle for verification""" - return urllib.request.build_opener( - VerifyingHTTPSHandler(ca_bundle or find_ca_bundle()) - ).open - - -_wincerts = None - - -def get_win_certfile(): - global _wincerts - if _wincerts is not None: - return _wincerts.name - - try: - from wincertstore import CertFile - except ImportError: - return None - - class MyCertFile(CertFile): - def __init__(self, stores=(), certs=()): - CertFile.__init__(self) - for store in stores: - self.addstore(store) - self.addcerts(certs) - atexit.register(self.close) - - def close(self): - try: - super(MyCertFile, self).close() - except OSError: - pass - - _wincerts = MyCertFile(stores=['CA', 'ROOT']) - return _wincerts.name - - -def find_ca_bundle(): - """Return an existing CA bundle path, or None""" - if os.name == 'nt': - return get_win_certfile() - else: - for cert_path in cert_paths: - if os.path.isfile(cert_path): - return cert_path - try: - import certifi - return certifi.where() - except (ImportError, ResolutionError, ExtractionError): - return None diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/unicode_utils.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/unicode_utils.py deleted file mode 100644 index 7c63efd2..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/unicode_utils.py +++ /dev/null @@ -1,44 +0,0 @@ -import unicodedata -import sys - -from setuptools.extern import six - - -# HFS Plus uses decomposed UTF-8 -def decompose(path): - if isinstance(path, six.text_type): - return unicodedata.normalize('NFD', path) - try: - path = path.decode('utf-8') - path = unicodedata.normalize('NFD', path) - path = path.encode('utf-8') - except UnicodeError: - pass # Not UTF-8 - return path - - -def filesys_decode(path): - """ - Ensure that the given path is decoded, - NONE when no expected encoding works - """ - - if isinstance(path, six.text_type): - return path - - fs_enc = sys.getfilesystemencoding() or 'utf-8' - candidates = fs_enc, 'utf-8' - - for enc in candidates: - try: - return path.decode(enc) - except UnicodeDecodeError: - continue - - -def try_encode(string, enc): - "turn unicode encoding into a functional routine" - try: - return string.encode(enc) - except UnicodeEncodeError: - return None diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/version.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/version.py deleted file mode 100644 index f2b40722..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/version.py +++ /dev/null @@ -1,6 +0,0 @@ -import pkg_resources - -try: - __version__ = pkg_resources.require('setuptools')[0].version -except Exception: - __version__ = 'unknown' diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/windows_support.py b/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/windows_support.py deleted file mode 100644 index cb977cff..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/lib/python3.6/site-packages/setuptools/windows_support.py +++ /dev/null @@ -1,29 +0,0 @@ -import platform -import ctypes - - -def windows_only(func): - if platform.system() != 'Windows': - return lambda *args, **kwargs: None - return func - - -@windows_only -def hide_file(path): - """ - Set the hidden attribute on a file or directory. - - From http://stackoverflow.com/questions/19622133/ - - `path` must be text. - """ - __import__('ctypes.wintypes') - SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW - SetFileAttributes.argtypes = ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD - SetFileAttributes.restype = ctypes.wintypes.BOOL - - FILE_ATTRIBUTE_HIDDEN = 0x02 - - ret = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN) - if not ret: - raise ctypes.WinError() diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/pip-selfcheck.json b/Versi Lama 34 - Virtual Environment/Environment/project1/pip-selfcheck.json deleted file mode 100644 index 622c0eeb..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/pip-selfcheck.json +++ /dev/null @@ -1 +0,0 @@ -{"last_check":"2018-02-11T04:12:43Z","pypi_version":"9.0.1"} \ No newline at end of file diff --git a/Versi Lama 34 - Virtual Environment/Environment/project1/pyvenv.cfg b/Versi Lama 34 - Virtual Environment/Environment/project1/pyvenv.cfg deleted file mode 100644 index 6c008463..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/project1/pyvenv.cfg +++ /dev/null @@ -1,3 +0,0 @@ -home = /Library/Frameworks/Python.framework/Versions/3.6/bin -include-system-site-packages = false -version = 3.6.2 diff --git a/Versi Lama 34 - Virtual Environment/Environment/requirement.txt b/Versi Lama 34 - Virtual Environment/Environment/requirement.txt deleted file mode 100644 index b841e8e0..00000000 --- a/Versi Lama 34 - Virtual Environment/Environment/requirement.txt +++ /dev/null @@ -1,2 +0,0 @@ -Django==2.0.2 -pytz==2018.3 diff --git a/Versi Lama 35 - error handling try and exception/.idea/inspectionProfiles/Project_Default.xml b/Versi Lama 35 - error handling try and exception/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 146ab09b..00000000 --- a/Versi Lama 35 - error handling try and exception/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/Versi Lama 35 - error handling try and exception/.idea/misc.xml b/Versi Lama 35 - error handling try and exception/.idea/misc.xml deleted file mode 100644 index 106775b8..00000000 --- a/Versi Lama 35 - error handling try and exception/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Versi Lama 35 - error handling try and exception/.idea/modules.xml b/Versi Lama 35 - error handling try and exception/.idea/modules.xml deleted file mode 100644 index 8e8ae069..00000000 --- a/Versi Lama 35 - error handling try and exception/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Versi Lama 35 - error handling try and exception/.idea/part 35 - error handling try and exception.iml b/Versi Lama 35 - error handling try and exception/.idea/part 35 - error handling try and exception.iml deleted file mode 100644 index 67116063..00000000 --- a/Versi Lama 35 - error handling try and exception/.idea/part 35 - error handling try and exception.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/Versi Lama 35 - error handling try and exception/.idea/workspace.xml b/Versi Lama 35 - error handling try and exception/.idea/workspace.xml deleted file mode 100644 index 8429729a..00000000 --- a/Versi Lama 35 - error handling try and exception/.idea/workspace.xml +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -